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

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

3天内不再提示

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

电子设计 来源:互联网 作者:佚名 2017-12-20 10:33 次阅读

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

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


psbz31.jpg

图1

抖动时间

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

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

下面是两种消抖方法:

一、 硬件消抖 :

按键防抖电路控制电路

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

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

20171217060842344.png

1513505280926759.png

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

二、软件消抖 :

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

三、按键电路 :

独立按键

1513505280660607.png

矩阵按键

1513505281567727.png

译码按键

1513505284230178.png

AD模拟按键

1513505284742825.png

锁定按键

1513505288672886.png

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

    关注

    6032

    文章

    44513

    浏览量

    632799
  • 积分电路
    +关注

    关注

    11

    文章

    85

    浏览量

    36907
  • 按键消抖
    +关注

    关注

    2

    文章

    27

    浏览量

    10442
  • 机械触点
    +关注

    关注

    0

    文章

    2

    浏览量

    1956
收藏 人收藏

    评论

    相关推荐

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

    按键电路 一、 硬件按键电路控制电路 所示利用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>与几种<b class='flag-5'>按键</b>电路

    51单片机_独立按键延时

    51单片机_独立按键延时_独立按键定时器_矩
    发表于 07-16 13:56

    有哪几种方法可以实现单片机程序的硬件

    大多数单片机程序里,都是使用软件,也就是先触发一次,然后延时5ms再检验一次。软件
    发表于 01-06 06:47

    按键延时方法和目的分别是什么

      按键的延时是初学单片机的必经之路,因为只要是机械开关所传递的信号,都会存在波动,有时这些波动是"致命"的,所以消除其影响就是一门手艺了。硬件
    发表于 01-17 06:26

    STM32单片机按键和FPGA按键的相关资料分享

    写在前面:STM32单片机按键和FPGA按键
    发表于 01-18 06:39

    51单片机按键有没有什么简洁又完美的方法

    51单片机按键有没有什么简洁又完美的方法
    发表于 11-01 07:21

    51单片机的独立按键按键及矩阵按键的电路与程序免费下载

    本文档的主要内容详细介绍的是51单片机的独立按键按键及矩阵按键的电路与程序免费下载。
    发表于 07-26 17:36 28次下载
    51<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><b class='flag-5'>抖</b>的资料和程序免费下载

    使用51单片机实现矩阵按键的扫描和动作分离的程序免费下载

    本文档的主要内容详细介绍的是使用51单片机实现矩阵按键的扫描和动作分离的程序免费下载。
    发表于 07-04 17:41 5次下载
    使用51<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>和动作分离的程序免费下载

    单片机按键电路图免费下载

    本文档的主要内容详细介绍的是单片机按键电路图免费下载。
    发表于 07-01 08:00 10次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>按键</b><b class='flag-5'>消</b><b class='flag-5'>抖</b>电路图免费下载

    STM单片机中的按键和FPGA

    闭合的时间超过了 20ms。因此单片机在检测键盘是否按下时都要加上去抖动操作,有专用的去抖动电路,也有专门的去抖动芯片,但通常我们采用软件延时的方法可以解决抖动问题。 1、
    的头像 发表于 11-30 17:39 2589次阅读

    单片机按键及原理(硬件软件方法详解)

    浅谈:在设计单片机按键输入的时候,进行按键是防止按键输入被CPU误读多次的必要手段。一、
    发表于 11-11 12:06 15次下载
    【<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单片机的时候按键检测为了
    发表于 11-23 17:51 5次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>按键</b>检测程序(定时器法<b class='flag-5'>消</b><b class='flag-5'>抖</b>)

    单片机复位后为什么要对sp重新赋值_自学单片机第二十二篇:延时|延时|key|单片机|...

      按键的延时是初学单片机的必经之路,因为只要是机械开关所传递的信号,都会存在波动,有时这些波动是"致命"的,所以消除其影响就是一门手艺了。硬件
    发表于 01-17 12:52 2次下载
    <b class='flag-5'>单片机</b>复位后为什么要对sp重新赋值_自学<b class='flag-5'>单片机</b>第二十二篇:延时<b class='flag-5'>消</b><b class='flag-5'>抖</b>|延时|key|<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>和<b class='flag-5'>硬件</b><b class='flag-5'>方法</b>