英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 3595|回复: 1
打印 上一主题 下一主题

PIC16C54 RB5按键在1秒之内连续按键处理??

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-21 14:31:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想用PIC16C54 RB5为按键,在1秒之内,当按1下的时候,执行A事件,当连续按2下的时候,执行B事件,当连续按3下的时候,执行C事件,该怎么来做软件可以实现这个功能?
2#
 楼主| 发表于 2009-3-21 14:31:55 | 只看该作者
设置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对应的功能。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-12-25 21:59 , Processed in 0.069574 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表