
文章图片

为什么要进行按键消抖
按键消抖通常的按键所用开关为机械弹性开关 , 当机械触点断开、闭合时 , 由于机械触点的弹性作用 , 一个按键开关在闭合时不会马上稳定地接通 , 在断开时也不会一下子断开 。 因而在闭合及断开的瞬间均伴随有一连串的抖动 , 为了不产生这种现象而作的措施就是按键消抖 。
按键的抖动对于人类来说是感觉不到的 , 但对单片机来说 , 则是完全可以感应到的 , 而且还是一个很“漫长”的过程 , 因为单片机处理的速度在“微秒”级 , 而按键抖动的时间至少在“毫秒”级 。
一次按键动作的电平波形如下图 。 存在抖动现象 , 其前后沿抖动时间一般在5ms~10ms之间 。 由于单片机运行速度非常快 , 经过A时刻的时候会检测到低电平判断按键被按下 。 当到了B时刻的时候 , 单片机同样会检测到高电平 , 误以为松开按键 , 然后又到了C时刻检测到低电平 , 判断到按键被按下 。 周而复始 , 在5-10ms内可能会出现很多次按下的动作 , 每一次按键的动作判断的次数都不相同 。
为确保单片机对按键的一次闭合仅作一次处理 , 必须处理按键抖动问题 。 在按键闭合或者释放稳定时再读取按键的状态 。
硬件消抖电路
硬件消抖一般有两种实现方式:
- RS触发器
- 电容滤波
利用RS触发器来吸收按键的抖动 。 一旦有键按下 , 触发器立即翻转 , 触电的抖动便不会再对输出产生影响 , 按键释放时也一样 。 RS触发电路消抖电路图如下 。
电容滤波
将电容并联在按键的两端 , 利用电容的放电的延时特性 。 将产生抖动的电平通过电容吸收掉 。 从而达到消抖的作用 , 电容消抖电路图如下图所示 。
总结
实际上 , 在没有MCU的情况下 , 对按键进行消抖通常是通过硬件消抖电路来实现 。 而在嵌入式开发中 , 大多数情况下都是通过程序来实现按键消抖 。 简单说就是加合适的延迟 , 显然这实现成本要比硬件电路方式低得多 。
【单片机|按键的硬件消抖电路原理】声明:本文转载自网络 , 如涉及作品内容、版权和其它问题 , 请于联系工作人员 , 我们将在第一时间和您对接删除处理!
- 手机同质化一直非常的严重|小米13系列好评满满,骁龙8gen2比苹果a16更强
- 买七彩虹RTX30显卡、整机送大礼了!CF限定礼包快抢来自买七彩虹的消息|买七彩虹rtx30显卡、整机送大礼了!cf限定礼包快抢
- 12月13日消息|苹果appletv4k搭载的a15处理器为5核心
- AMD的RX7900系列显卡昨晚解禁了|RX 7900赢回一波 4K视频生产力终于超越RTX4090
- 月球是哪儿来的?同样是内太阳系行星的水星、金星和火星|月球身世之谜是怎么形成的?
- 当代超级计算机的局限性|量子计算的现在与未来
- 坐在隔壁工位的哔哥最近感慨很深|盘点qq下架的衍生品
- 13代酷睿目前还没有65WTDP型号的主流产品|绝配12代酷睿华擎迷你准系统到手1279元(1.92L体积)
- 12月14日|oppo第二颗自研芯片将到来,网友猜测可能是手环一类的
- 对于最近想要购买手机的小伙伴而言|骁龙8gen2的新旗舰一加acepro值得入手吗?
