[应用相关] 按键延时消抖问题求教

[复制链接]
3856|8
 楼主| 拿起书本 发表于 2013-5-9 15:49 | 显示全部楼层 |阅读模式
按键延时消抖,比如延时10MS,但我希望按键延时消抖时其他I/O口还能根据外部信号来执行相应的程序,然后消抖完成后再执行按键程序,以前我的程序是按键按下后消抖的10MS单片机不能执行其他动作,求指教!谢谢!
wangyy608 发表于 2013-5-9 16:18 | 显示全部楼层
if( !key )
{
      count++;
      if( count>**** )
     {
            
      }
}
else
{
      count = 0;
}
grasswolfs 发表于 2013-5-9 16:38 | 显示全部楼层
采用轮询的方法,不要用延时阻塞的方法
 楼主| 拿起书本 发表于 2013-5-9 16:55 | 显示全部楼层
坐个时间基准一般没按键时 程序从头到尾执行的时间为1mS 比如想延时 就COUNT++==10后再判断 对吗?
jxmzzr 发表于 2013-5-9 16:56 | 显示全部楼层
做一个变量,记录时间,比如500us加一次
王紫豪 发表于 2013-5-9 17:46 | 显示全部楼层
用定时器,定时中断查询,千万别做延时消抖;那些都是害人的
cjhk 发表于 2013-5-9 19:18 | 显示全部楼层
作为工程师   个人比较反感延时程序   纯粹在浪费资源   呵呵   不过   这个个人的喜好吧   顶一个
logokfu 发表于 2013-5-9 20:41 | 显示全部楼层
@拿起书本
恭喜你,当你问这个问题的时候说明你的单片机才是刚刚走入正轨。你入门了。呵呵。
huangfeng33 发表于 2013-5-10 18:49 | 显示全部楼层
呵呵,你弄精确一点可以用计数器做基准
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好学习,天天向上!

519

主题

4194

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部