(3) 51 단편기 입문 테이블 - LED 켜기 및 버저 켜기 버튼 1개

특수 버튼 s1을 통해 두 가지 기능을 실현한다. 하나는 led등을 켜는 것이고, 하나는 버저를 켜는 것이며, 다른 기능도 추가할 수 있다. 예를 들어num=3시에 LED등을 동시에 켜고 버저를 켜는 것이다.
도구: Keil U3 + STC-SP(v6.86) + BST-v51 단편기 개발판
크리스털: 11.0592MHZ
구현 코드는 다음과 같습니다.
#include
#include

#define uchar unsigned char

uchar num = 0;          //switch    

sbit led = P1 ^ 0;      //LED 
sbit s1 = P3 ^ 4;       //    
sbit beep = P2 ^ 3;     //   

void delay(unsigned char i)
{
    unsigned char m, n;
    for (m = i; m>0; m--)
    for (n = 125; n>0; n--);
}

int main(){

    while (1){
        if (s1  == 0){
            delay(20);          //    
            if (s1 == 0){
                while (!s1);    //      
                num++;
            }
            switch (num){
            case 1:             //LED  
                led = 0;
                beep = 1;
                break;
            case 2:             //    
                led = 1;
                beep = 0;
                num = 0;        //  num
                break;
            }
        }
    }
}

좋은 웹페이지 즐겨찾기