首页 理论教育 单片机按键抖动及消除法

单片机按键抖动及消除法

时间:2023-11-19 理论教育 版权反馈
【摘要】:图5-21 按键抖动示意图由于按键抖动的存在,一次按键操作常常会引起被误读多次。为确保按键的一次闭合或弹开仅作一次处理必须采取措施去除键抖动,这就是“按键消抖”。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开,只要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。图5-22 RS触发器为常用的硬件去抖电路示意图

单片机按键抖动及消除法

在键盘应用中,为了降低成本,不论是独立式键盘还是矩阵式键盘,通常都采用触点机械弹性按键,由于触点具有弹性作用,在按键闭合和释放的瞬间均有一连串抖动过程,不会马上稳定地接通或断开,这就是“按键抖动”,示意图如图5-21所示。

978-7-111-50417-7-Chapter05-28.jpg

图5-21 按键抖动示意图

由于按键抖动的存在,一次按键操作常常会引起被误读多次。抖动时间的长短由按键的机械特性决定,一般为5~10ms。按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。为确保按键的一次闭合或弹开仅作一次处理必须采取措施去除键抖动,这就是“按键消抖”。

消除抖动的方法有硬件消抖和软件消抖两种。所谓硬件消抖就是采用专门的硬件消抖电路来消除抖动的影响,而软件消抖就是在键盘处理程序中,采用延时的办法多次判断按键当前状态来消除抖动的影响。

1.硬件消抖(www.xing528.com)

在键数较少时可用硬件方法消除键抖动,图5-22所示的RS触发器为常用的硬件去抖电路示意图。图中两个“与非”门构成一个RS触发器。当按键未按下时,输出为1;当键按下时,输出为0。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),只要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作过程很容易得到验证。

2.软件消抖

如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,一般为5~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。在软件消抖过程中延时和检测程序可能需要多次重复操作,确保在键闭合稳定时再读取键的状态,并且必须判别到键释放稳定后再作后续处理。

978-7-111-50417-7-Chapter05-29.jpg

图5-22 RS触发器为常用的硬件去抖电路示意图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈