英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流
标题:
PIC16C54 RB5按键在1秒之内连续按键处理??
[打印本页]
作者:
winnie
时间:
2009-3-21 14:31
标题:
PIC16C54 RB5按键在1秒之内连续按键处理??
想用PIC16C54 RB5为按键,在1秒之内,当按1下的时候,执行A事件,当连续按2下的时候,执行B事件,当连续按3下的时候,执行C事件,该怎么来做软件可以实现这个功能?
作者:
winnie
时间:
2009-3-21 14:31
设置3个标志位,分别作为第一,二,三次按下标志down_1, down_2, down_3
当有键按下的时候:
down_2为1吗?
是: 则down3=1, ...
否: down_1为1吗?
是: 则down2=1, ...
否: 则down_1=1,同时启动定时器,定时1秒
当定时器定时1秒到:按照down_3 , down_2, down_1的优先顺序判断这些标志位,
就可以正确知道应该执行哪一个功能。
注:上面的方法没有检测按键是否释放,因为有的人就是喜欢按住你的按键,舍不得放开,呵呵;按照上面的思路,
如果按住键不放、单击一下然后又按住不放、双击后又按一次不放开,都会使down_1, down_2, down_3 被相继置位,1秒后肯定执行down_3对应的功能。
欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/)
Powered by Discuz! X3.2