0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

硬件层面如何实现按键消抖

CHANBAEK 来源:知行合一硬件笔记 作者:知行合一硬件笔记 2023-11-06 15:38 次阅读

在做硬件设计的时候,按键是最常见的模块之一,也是学硬件的人入坑接触的第一二个实例。

人手在按下按键的时候会有一定频率的抖动,反映在按下和释放的上升下降沿会有信号的反复跳动,如下示意图。单片机在识别IO信号的时候,经常会根据前后电平值来判断是否有跳变,如果在单片机的采样窗口内连续出现反复多次的高低电平,就会影响单片机的判断,采集到多次高低电平信号。不仅是人手主动按,不小心碰到按键也是会存在一定几率的抖动信号,可能导致误触。

不过成熟、高可靠性的按键设计一定不是只有按键,通常我们会看到有并联电容,用来消除按键抖动。抖动不消除会有一定几率造成产品的不良影响,比如按键失灵、响应错误、误触等。

图片

既然电容可以消除抖动,那消抖电容的容值是怎么选的。

首先电容在这里的作用是滤波的,那么滤除什么频率的波就是我们需要考虑的因素了。通过查阅资料,按键抖动的频率一般在100Hz以内,抖动的时间经验值通常在5~10ms,即在这个时间内通常会有多次的跳变信号。

图片

电容两端的电压是不能突变的,充电和放电都会有一个过程,如上图。因此在出现抖动的时候,电容会使其两端的电压缓慢变化,只要在其充放电时间内,抖动能够结束,就能有效消除掉抖动。

图片

也就是说,根据充放电的时间计算,通常选择0.01uF~1uF的电容,就能够消除大部分机械按键的抖动。

相对应的,在产品设计时,软件层面也会做消抖,程序会考虑在第一次接收到电平跳变后delay10ms左右再次做检测,这样也能有效避免误检测。

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

    关注

    6032

    文章

    44516

    浏览量

    633030
  • 硬件设计
    +关注

    关注

    18

    文章

    394

    浏览量

    44530
  • 按键消抖
    +关注

    关注

    2

    文章

    27

    浏览量

    10442
收藏 人收藏

    评论

    相关推荐

    按键硬件电路原理详解

    按键通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也
    的头像 发表于 02-02 09:42 9347次阅读
    <b class='flag-5'>按键</b>的<b class='flag-5'>硬件</b><b class='flag-5'>消</b><b class='flag-5'>抖</b>电路原理详解

    单片机的按键与几种按键电路

    按键电路 一、 硬件按键电路控制电路 所示利用RC 积分电路来达成杂波的滤除
    的头像 发表于 12-17 07:45 10.6w次阅读
    单片机的<b class='flag-5'>按键</b><b class='flag-5'>消</b><b class='flag-5'>抖</b>与几种<b class='flag-5'>按键</b>电路

    按键电路的实现方式

    按键通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也
    的头像 发表于 08-29 11:25 4572次阅读

    fpga教程之——按键

    电平,这次对按键进行操作则是对FPGA进行输入了。  2. 按键  2.1 按键输入原理  首先,我们得打开EE_FPGA的
    发表于 02-27 11:49

    按键

    请问大家的按键是用什么方法解决的,如普通的按键如何
    发表于 09-26 22:17

    技术分享:明德扬按键的原理和基于fpga的设计

    高频抖动略去。需要注意的是,软件需要占据一定的系统资源。尽管硬件和软件
    发表于 08-02 10:38

    按键硬件原理

    按键硬件原理:利用电容充放电特性来实现,因为电容为储能元件。它两端的电压不能出现突变,即有一个充放电的过程下降沿触发电路:上升沿触发电路
    发表于 12-07 12:47

    按键都有哪些处理方式?

    按键都有哪些处理方式除了硬件电路用软件怎么实现
    发表于 11-01 07:06

    基于FPGA的按键电路设计

    采用了VHDL语言编程的设计方法,通过FPGA来实现按键硬件电路。论述了基于计数器、RS触发器和状态机3种方法来
    发表于 12-05 14:13 224次下载

    VHDL—按键

    按键检测需要,一般有硬件和软件两种方式。硬件就是加去抖动电路,这样从根本上解决按键抖动问题。
    发表于 11-11 17:17 2次下载

    vhdl按键程序(七种方式实现按键

    按键通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也
    发表于 01-29 16:04 5.6w次阅读
    vhdl<b class='flag-5'>按键</b><b class='flag-5'>消</b><b class='flag-5'>抖</b>程序(七种方式<b class='flag-5'>实现</b><b class='flag-5'>按键</b><b class='flag-5'>消</b><b class='flag-5'>抖</b>)

    使用51单片机实现按键的资料和程序免费下载

    抖动是机械按键存在的现象,是必须要进行处理的。一般处理有两种方式:一种是硬件,另一种是软件
    发表于 07-05 17:41 5次下载
    使用51单片机<b class='flag-5'>实现</b><b class='flag-5'>按键</b><b class='flag-5'>消</b><b class='flag-5'>抖</b>的资料和程序免费下载

    按键的软件和硬件方法

    采用锅仔片式按键测量波形。按键按下与抬起的部分都出现抖动,大致时间10ms左右。为了防止按键误按或者重复识别,必须要按键
    的头像 发表于 03-01 10:53 1.4w次阅读
    <b class='flag-5'>按键</b><b class='flag-5'>消</b><b class='flag-5'>抖</b>的软件和<b class='flag-5'>硬件</b>方法

    按键/开关量信号监测实现方案

    关于按键或者开关量信号监测,可以参考本公众号的另外一篇原创文章:按键常用的软
    的头像 发表于 09-19 11:35 948次阅读

    如何在FPGA中实现按键

    在FPGA(现场可编程门阵列)中实现按键是一个重要的设计环节,特别是在处理用户输入时,由于物理按键的机械特性和电气特性,
    的头像 发表于 08-19 18:15 1408次阅读