当前位置: 代码迷 >> 单片机 >> 有关按键防抖动的有关问题?
  详细解决方案

有关按键防抖动的有关问题?

热度:117   发布时间:2016-04-28 16:12:30.0
有关按键防抖动的问题?急!急!急!!!
我想知道在单片机设计中,如果有按键操作如何用软件实现防抖?也就是大致的流程应该怎么实现,请各路高手指点一二!!!

------解决方案--------------------
很简单,你先判断按键状态,当检测到IO口按键状态发生变化以后,先不要着急处理,延时10ms左右,然后再次采集按键状态,如果两次按键状态不同就表示是抖动,你可以不需理会。如果两次按键状态相同那就表示是真的有按键事件。
------解决方案--------------------
楼上的方法是很常用的!实际就是判断按键电平持续的时间,时间长就认为是按键,时间短就认为是干扰抖动。
------解决方案--------------------
基本原理就是这样

延时判断
------解决方案--------------------
软件里搞延时判断,硬件上加电容
------解决方案--------------------
间隔10MS再判断一次,判断同一个按键如果状态一样,则按下.
------解决方案--------------------
加个电容不就搞定了,软件什么都不用做。
------解决方案--------------------
软件最好还是做的好 还有延时最好不要等在那里延
------解决方案--------------------
最好的方法是,使用示波器追踪按键的按下过程,
你就会发现到底是什么原因造成抖动,
应该如何处理。

比如用AD方法获取按键的时候,
只是延时不一定就能管用。

而且有时延时太多,用户手感不好。
------解决方案--------------------
要节省成本就不加电容,软件上搞个延时就行了,不用太精确,没必要用示波器去测量,估计一下就行了,一般10-20mS肯定够了。我的程序里都是延时10mS,很稳定的
------解决方案--------------------
楼主,这个每个人的环境都不同的呀,你可以设定一个延时值,然后实践一下不就行了。。。实践出真知阿!~

------解决方案--------------------
还没揭帖?
  相关解决方案