单片机按键消抖的方法,硬件软件都可以实现

描述

不管设计一个什么作品,按键总是少不了的,对于按键你知道那些呢?

  通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。


 按键消抖
 

    图1

抖动时间

  抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。这是一个很重要的时间参数,在很多场合都要用到。

  按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒,大家可以用示波器测试一下。键抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。

下面是两种消抖方法:

一、  硬件消抖 :

按键防抖电路控制电路

所示利用RC 积分电路来达成杂波的滤除与波形修整的电路(如图1 )。

在S1 ON 的瞬间由于接触弹跳的关系,会使A 点电压呈现高速的断续现象,再S1 OFF时亦然,详(如图2所示),然而由于电容两端电压需由电压经电阻慢慢充电才会上升,使得B 点电位缓步上升情形:S1 OFF 时亦然,电容电压经R 放电,使B 点电压缓缓下降。此一变化,经史密特反相修整后,可得一标准负脉波输出,如波形图C 点所示。

按键消抖

按键消抖

用其他的各类触发器,锁存器亦可达到消抖效果。

二、   软件消抖 :

通过软件延时10ms达到消除抖动的效果,不加文字赘述。

三、   按键电路 :

独立按键

 按键消抖

矩阵按键

按键消抖

译码按键

 按键消抖

AD模拟按键

按键消抖

锁定按键

按键消抖

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分