简述
//非中断方式实现按键控制LED灯 /* 1:全部灯熄灭 2:按下按键SW1不超过一秒后松开LED灯亮 3:再次按下灯灭 */
宏定义与预处理
#include<iocc2530.h> #define uint unsigned int #define uchar unsigned char #define LED P1_0
按键处理
uchar KeyScan(void) { if(P1_2==0)//低电平有效 { if(P1_2==0)//软件消抖 { while(!P1_2) return 1; } } return 0; }
延迟
void Delay(uint time) { uint i; uchar j; for(i=0;i<time;i++) for(j=0;j<240;j++) { asm("NOP"); asm("NOP"); asm("NOP"); } }
主函数
main() { Initial(); while(1) { if(KeyScan()==1)//如果按下了 { LED=!LED; Delay(1200); } } }