按键消抖的原理与解决方案浅论

  • Post author:
  • Post category:其他


按键的消抖,是指按键在闭合或松开的瞬间伴随着一连串的抖动,这样的抖动将直接影响设计系统的稳定性, 降低响应灵敏度。因此,必须对抖动进行处理,即消除抖动的影响。

消抖原理分析:按键的抖动时间由按键的机械特性决定,抖动时间在5ms~10ms。也就是说,在每次按键闭合或松开时,跳过这段抖动时间,再检测按键的状态。一般通过延时来实现按键消抖。

一般的消抖方案:RS触发器消抖,电容充放电消抖,软件消抖。

1 RS触发器消抖

电路分析:S=0,R=1得出A=1,A’=0。当按压按键时,S=1,R=0得出A=0,A’=1,由于机械按键的接触抖动,按键过程中R的状态会在0和1之间多次变化,若R=1由于A=0,G2依然为1,不会影响输出的状态。同理松开按键时,S端的抖动也不会影响输出的状态

2电容充放电消抖

电容利用电容两端的电压不能突变的特性,将其并联在机械触点两端,消除接触抖动产生的毛刺电压。也可以实现硬件消抖,由于电容两端电压不能突变,使得按键两端滴电压平缓。抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。

3软件消抖

软件消抖通过程序延时,延时的时间大于按键抖动的时间,延时后在确认按键的状态。



版权声明:本文为a9062985原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。