单片机|按键的硬件消抖电路原理

单片机|按键的硬件消抖电路原理

文章图片

单片机|按键的硬件消抖电路原理

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

按键的抖动对于人类来说是感觉不到的 , 但对单片机来说 , 则是完全可以感应到的 , 而且还是一个很“漫长”的过程 , 因为单片机处理的速度在“微秒”级 , 而按键抖动的时间至少在“毫秒”级 。
一次按键动作的电平波形如下图 。 存在抖动现象 , 其前后沿抖动时间一般在5ms~10ms之间 。 由于单片机运行速度非常快 , 经过A时刻的时候会检测到低电平判断按键被按下 。 当到了B时刻的时候 , 单片机同样会检测到高电平 , 误以为松开按键 , 然后又到了C时刻检测到低电平 , 判断到按键被按下 。 周而复始 , 在5-10ms内可能会出现很多次按下的动作 , 每一次按键的动作判断的次数都不相同 。

为确保单片机对按键的一次闭合仅作一次处理 , 必须处理按键抖动问题 。 在按键闭合或者释放稳定时再读取按键的状态 。
硬件消抖电路
硬件消抖一般有两种实现方式:

  • RS触发器

  • 电容滤波
RS触发器
利用RS触发器来吸收按键的抖动 。 一旦有键按下 , 触发器立即翻转 , 触电的抖动便不会再对输出产生影响 , 按键释放时也一样 。 RS触发电路消抖电路图如下 。

电容滤波
将电容并联在按键的两端 , 利用电容的放电的延时特性 。 将产生抖动的电平通过电容吸收掉 。 从而达到消抖的作用 , 电容消抖电路图如下图所示 。

总结
实际上 , 在没有MCU的情况下 , 对按键进行消抖通常是通过硬件消抖电路来实现 。 而在嵌入式开发中 , 大多数情况下都是通过程序来实现按键消抖 。 简单说就是加合适的延迟 , 显然这实现成本要比硬件电路方式低得多 。
【单片机|按键的硬件消抖电路原理】声明:本文转载自网络 , 如涉及作品内容、版权和其它问题 , 请于联系工作人员 , 我们将在第一时间和您对接删除处理!