首页 理论教育 单片机开发:解决按键抖动问题

单片机开发:解决按键抖动问题

时间:2023-10-23 理论教育 版权反馈
【摘要】:当按下按键时,内部的金属触头在接触一瞬间会因碰撞而产生振动,并发出轻微的撞击声响,这种现象称为按键抖动。按键的抖动实际上是一种接触不良现象,如果不进行处理,按键抖动会对系统电路或程序的运行产生意外的干扰。图3-10 加数计数小系统为了研究按键的抖动现象,我们首先通过一个实际例子分析一下微触按键产生的抖动对系统的影响。在单片机系统中,按键可以直接连接在单片机的I/O接口上,利用程序延时操作消除键盘的抖动现象。

单片机开发:解决按键抖动问题

当按下按键时,内部的金属触头在接触一瞬间会因碰撞而产生振动,并发出轻微的撞击声响,这种现象称为按键抖动。按键的抖动实际上是一种接触不良现象,如果不进行处理,按键抖动会对系统电路或程序的运行产生意外的干扰。

978-7-111-43463-4-Chapter03-34.jpg

图3-10 加数计数小系统

为了研究按键的抖动现象,我们首先通过一个实际例子分析一下微触按键产生的抖动对系统的影响。图3-10所示的电路是一个按键控制的加数计数小系统,加计数器的脉冲输入端CP为上升沿有效,数码管初始显示为0。不按按键时,CP=0,计数器不计数。一般认为,按下按键,CP端由低电平变为高电平,含有电平上升沿,计数器进行加计数,并且每按下1次按键,计数器加1。但在实验中会发现,每次按下按键,计数器不是加1,而是跳跃的,一次性增加3或4。

出现以上现象的主要原因是按键按下时,按键内部的触头出现了接触不良的振动。图3-11是按键按下过程中CP端实际电平的改变情况。T1为不按按键时刻,T2为按下按键瞬间的抖动,T3为按键按下稳定时刻,T4为按键放开瞬间,T5为按键放开时刻。从图中可以了解到,按下按键的瞬间由于撞击会使触头来回弹跳,虽然只是一瞬间,但CP端获得了多个电平的上升沿。因此,按键不能直接作为计数器的脉冲源CP,数字电路常利用触发器消除键盘抖动。(www.xing528.com)

按键抖动时间的长短由按键的机械特性决定,一般为5~10ms。在单片机系统中,按键可以直接连接在单片机的I/O接口上,利用程序延时操作消除键盘的抖动现象。

978-7-111-43463-4-Chapter03-35.jpg

图3-11 按下按键时加计数器CP端的实际 电平的改变情况

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

我要反馈