| 
 | 
 
 
   
           
    #include      
    
#define uchar unsigned char     
    
void delay_ms(uchar ms); // 延时毫秒@12M,ms最大值255     
    
sbit P14 = P1^4;         // 位变量P14为P1.4     
sbit P00 = P0^0;         // 位变量P00为P0.0     
    
void main()     
{     
    P1 = 0xff;           // P1口为准双向口,作输入时先写入1,使之为高电平     
    P2 = 0xff;           // 关P0口LED     
         
    while(1)             // 循环扫描按键     
    {     
        if(P14 == 1)     // P1.4为高即键未按下则结束此次循环重新查询     
          continue;     
        delay_ms(10);    // 有键按下则延时10ms消抖     
        if(P14 == 1)     // 再次查P1.4若为高则为抖动,结束此次循环返回重新查询     
            continue;     
        P00 = !P00;      // 确定有键按下后取反P0.0口     
        while(P14 != 1); // 等待键松开(直到P1.4变为高电平)     
    }     
}     
void delay_ms(uchar ms)  // 延时毫秒@12M,ms最大值255     
{     
    uchar i;     
    while(ms--)     
        for(i = 0; i }  
 
 
![]()  
 
           
          [/td] 
        [/tr] 
       |   
 
 
 
 |