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

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

3天内不再提示

EPM240学习板之按键消抖实验

工程师 来源:网络整理 作者:h1654155205.5246 2019-03-06 18:25 次阅读

EPM240学习板之按键消抖实验

按键消抖

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

按键消抖方法

消抖是为了避免在按键按下或是抬起时电平剧烈抖动带来的影响。按键的消抖,可用硬件或软件两种方法。

硬件消抖

在键数较少时可用硬件方法消除键抖动。下图所示的RS触发器为常用的硬件去抖。 图中两个“与非”门构成一个RS触发器。当按键未按下时,输出为0;当键按下时,输出为1。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),只要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作过程很容易得到验证。

软件消抖

如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。

一般来说,软件消抖的方法是不断检测按键值,直到按键值稳定。实现方法:假设未按键时输入1,按键后输入为0,抖动时不定。可以做以下检测:检测到按键输入为0之后,延时5ms~10ms,再次检测,如果按键还为0,那么就认为有按键输入。延时的5ms~10ms恰好避开了抖动期。

EPM240学习板之按键消抖实验

按键抖动时间

抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。这是一个很重要的时间参数,在很多场合都要用到。 按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。

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

    关注

    1

    文章

    44

    浏览量

    23539
  • 按键消抖
    +关注

    关注

    2

    文章

    27

    浏览量

    10442
收藏 人收藏

    评论

    相关推荐

    基于FPGA实现按键处理

    引言: 按键在电子产品中经常用到,由于按键的机械特性,按键在闭合或松开的瞬间伴随着一连串的抖动,这样的抖动将直接影响设计系统的稳定性。因此,必须对抖动进行处理。本文介绍如何在FPGA中实现按键
    的头像 发表于 10-24 14:54 155次阅读
    基于FPGA实现<b class='flag-5'>按键</b><b class='flag-5'>消</b><b class='flag-5'>抖</b>处理

    两种常见的硬件实现方式

    由于机械按键在操作过程中会产生抖动现象,这种抖动信号如果不加以处理,就可能导致单片机等电子设备误判按键状态,从而引发错误操作。本文将详细介绍两种常见的硬件实现方式:RS触发器和电容
    的头像 发表于 09-25 16:54 798次阅读
    两种常见的硬件<b class='flag-5'>消</b><b class='flag-5'>抖</b>实现方式

    为什么按键那么重要

    和错误操作。因此,进行按键处理显得尤为重要。 按键抖动的产生是由于机械触点的弹性特性所决定的。当按键被按下或释放时,触点并不会立即稳定地
    的头像 发表于 09-25 16:50 407次阅读
    为什么<b class='flag-5'>按键</b><b class='flag-5'>消</b><b class='flag-5'>抖</b>那么重要

    如何在FPGA中实现按键

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

    【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发/PG2L50H_MBG324第三章)键控流水灯实验例程

    ; 功能处理注意事项:流水灯状态切换点,不同状态的切换时如何初始化; 四:实验源码设计 顶层文件源码 按键控制模块 按键
    发表于 04-29 16:06

    【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发/PG2L50H_MBG324第二章)按键实验例程

    灯、按键、拨码开关等。 二:实验目的 对按键PB0进行按键 三:
    发表于 04-28 17:57

    怎么做按键

    大家是怎么做按键的 我是用一定时器做20ms定时,定时到在中断里设专门标志(20ms是否到,初始化为0),在主循环里当按键按下时在判断此标志,为0,就开启定时中断,而后返回主流程,
    发表于 04-28 07:39

    stm32外部中断存在自身内部的吗?

    请问stm32外部中断存在自身内部的吗? 若存在请问如何配置
    发表于 03-11 06:15

    为什么要进行按键按键抖动的原理 按键的方法

    按键通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也
    的头像 发表于 02-17 17:07 1.7w次阅读
    为什么要进行<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>的方法

    单片机按键的原理和方法详解

    通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键
    的头像 发表于 12-22 10:06 8443次阅读
    单片机<b class='flag-5'>按键</b><b class='flag-5'>消</b><b class='flag-5'>抖</b>的原理和方法详解

    【每周一练】盘古1K开发 练习二:按键控制LED灯实验

    本文完成的实验按键控制LED灯,通过对连接按键输入的IO电平进行检测,根据电平的状态来改变LED的亮灭。 实验要求和硬件概览 在【每周一练】小眼睛FPGA1K开发
    发表于 12-21 22:45

    【每周一练】+盘古1K开发+2. 按键控制RGB led

    :led_rgb<=`UD 12\'b1111_1111_1111; endcase end 3 实验效果 下载代码,实现效果见视频 4 学习总结 通过该实验学习
    发表于 12-17 11:33

    【每周一练】盘古1K开发 练习四:密码锁实验学习记录

    密码锁。 编写代码 参见“MES2KG.rar”中MES2KG\\\\demo\\\\6_lock\\\\source\\\\Desktop 代码设计: 顶层文件----lock_seq.v 按键
    发表于 12-11 15:44

    【每周一练】盘古1K开发 练习二:按键控制RGB灯

    实验目的 掌握按键原理,实现按键控制RDB灯颜色更换 实验要求 设计 8 种彩灯效果,选择一
    发表于 12-10 16:43

    【每周一练】盘古1K开发 练习二:按键控制彩灯实验

    实验称之为按键实验原理 前后抖动时间约为 5~10ms, 前后抖动共在 20ms, 以最大 20ms 做设计, 使用计数到 N 归零的
    发表于 12-09 14:55