单片机按键处理技巧及C语言编程方式(2)

2019-09-01 17:37

{

uint8 KeyValue = KEY_NULL;

uint8 temp = 0 ;

LED_CS11 = 1 ; //流水灯输出允许

LED_SEG = 0 ; LED_DIG = 0 ; Timer0Init() ; KeyInit() ; EA = 1 ; while(1)

{

Timer0MainLoop() ; KeyMainLoop(&KeyValue) ;

if(KeyValue == (KEY_VALUE_1 | KEY_DOWN)) P0 = ~1 ; if(KeyValue == (KEY_VALUE_1 | KEY_LONG)) P0 = ~2 ;

if(KeyValue == (KEY_VALUE_1 | KEY_CONTINUE)) { P0 ^= 0xf0;}

if(KeyValue == (KEY_VALUE_1 | KEY_UP)) P0 = 0xa5 ;

} }

按住第一个键,可以清晰的看到P0口所接的LED的状态的变化。当按键按下时候,第一个LED灯亮,等待2 S后第二个LED亮,第一个熄灭,表示长按事件发生。再过500 ms 第5~8个LED闪烁,表示连按事件发生。当释放按键

时候,P0口所接的LED的状态为: 灭亮灭亮亮灭亮灭,这也正是P0 = 0xa5这条语句的功能。


单片机按键处理技巧及C语言编程方式(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:21绿毛龟

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: