zhurenjiejj 发表于 2010-2-4 14:32:36

请问马老师,关于按键消抖的问题

马老师,你好。想问您以个问题,如何才能做到按键相对完全消抖,现在已加上了延时消抖,但是效果不是很明显。想问下,有没更好的办法。谢谢了

bird07 发表于 2010-2-4 14:59:25

状态机

ba_wang_mao 发表于 2010-2-5 17:25:08

状态机:
说白了,就是按键扫描程序间隔10毫秒执行一次,
   
   按键状态=0:读取第一次按键状态,然后设置"按键状态"=1
   下一个10毫秒后,执行按键状态1
   按键状态=1:再次读取按键状态
      如果:前后两次按键值相同,则判断按键;否则按键状态=0

pjn74a 发表于 2010-2-8 21:24:51

我觉得还要将按键后延进行消抖,这样是绝对可靠了

380121850 发表于 2010-2-8 23:50:27

如果真要理论起来,状态机也一样不可靠
真要可靠消拌,还是要看具体使用的按键来进行调整

qigui2 发表于 2010-2-12 23:48:36

消抖应该就是低通滤波,根据你按键的抖动的频率,计算出截止频率,然后做数字滤波 ,或模拟滤波都可以。。。。

AIHHLI 发表于 2010-2-13 09:42:02

干脆用硬件得了。

machao 发表于 2010-2-21 09:56:58

在我编写的《AVR单片机嵌入式系统原理与应用实践》一书中,已经给出了非常详细和实用可靠的设计方法,请各位认真学习。

ba_wang_mao 发表于 2010-2-23 10:09:36

马潮老师终于现身了.

snoopyzz 发表于 2010-2-23 10:28:54

两次太少。。。当前电平与上次电平状态一致,4ms一次,计10次,或1ms一次,计40次。

liusoldier 发表于 2010-5-7 19:44:07

楼上的,你的单片机不做别的事了?

snoopyzz 发表于 2010-5-15 10:24:47

10L的没用过状态机吧,才会觉得单片机不做别的事,4/1ms判断一次,中间的4/1ms大可以做别的事去
页: [1]
查看完整版本: 请问马老师,关于按键消抖的问题