在单片机应用系统设计中,人机界面部分的友好程度,很大一部
分取决于键盘处理程序。在按键时按得快了没有反应,按慢了一连响
应几次,总给人紧迫感或迟钝感,不能使人满意。
用以下思路设计的键处理程序取得了满意效果。
判断有没有键值:
A:若首次按下:判断是否与上次按下的键值相同
a.若相同再判断:是否已经按下了 300ms?
1).若已经按下 300ms 则将此键做为连键处理。
2).若不是连键则判断:是否按下 20ms?
1>.若确认按下 20ms,得到有效键值等待弹起
2>. 若不是按下 20ms 直接结束处理(ret)。
b.若不相同则将标志清零结束处理(ret)。
B:若不是首次按下:将键值暂存起来,标志置位结束处理。
2.若无键值:
A.若有键已被确认:判断按键是否首次抬起
a.若首次抬起:判断抬起延时时间(20ms)是否到达
1>.若延时到则将标志处理结束处理。
评论0
最新资源