按键的消抖,是指按键在闭合或松开的瞬间伴随着一连串的抖动,这样的抖动将直接影响设计系统的稳定性, 降低响应灵敏度。因此,必须对抖动进行处理,即消除抖动的影响。

消抖原理分析:按键的抖动时间由按键的机械特性决定,抖动时间在5ms~10ms。也就是说,在每次按键闭合或松开时,跳过这段抖动时间,再检测按键的状态。一般通过延时来实现按键消抖。

一般的消抖方案:RS触发器消抖,电容充放电消抖,软件消抖。

1 RS触发器消抖

电路分析:S=0,R=1得出A=1,A’=0。当按压按键时,S=1,R=0得出A=0,A’=1,由于机械按键的接触抖动,按键过程中R的状态会在0和1之间多次变化,若R=1由于A=0,G2依然为1,不会影响输出的状态。同理松开按键时,S端的抖动也不会影响输出的状态

2电容充放电消抖

电容利用电容两端的电压不能突变的特性,将其并联在机械触点两端,消除接触抖动产生的毛刺电压。也可以实现硬件消抖,由于电容两端电压不能突变,使得按键两端滴电压平缓。抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。

3软件消抖

软件消抖通过程序延时,延时的时间大于按键抖动的时间,延时后在确认按键的状态。

按键消抖的原理与解决方案浅论相关推荐

  1. 按键消抖及原理(硬件和软件方法详解)

    在设计单片机按键输入的时候,进行按键消抖是防止按键输入被CPU误读多次的必要手段. 一.按键抖动 按键接法 抖动时间的长短由按键的机械特性决定,一般为5ms-10ms.这是一个很重要的时间参数,在很多 ...

  2. Linux驱动中按键消抖原理

    为什么要用定时器来做按键消抖? 用到按键就要处理因为机械结构带来的按键抖动问题,也就是按键消抖.前面的实验中都是直接使用了延时函数来实现消抖,因为简单,但是直接用延时函数来实现消抖会浪费 CPU 性能 ...

  3. verilog之按键消抖的理解

    按键在按下时会产生抖动,释放时也会产生抖动,所以在设计键盘扫描程序时必须考虑按键的消抖,我们一般只考虑按下时的抖动,而放弃对释放时抖动的消抖.抖动时间一般为20ms左右.按下的最终结果是低电平. 按键 ...

  4. 【FPGA】实战之按键消抖

    文章目录 一.按键消抖的原理 二.按键消抖的设计思路 三.代码部分 四.仿真验证 五.总结 一.按键消抖的原理 一般开发板上的按键都是机械按键,所以在按下的时候,会产生回弹的时刻,称为机械的弹性开关, ...

  5. 按键的硬件消抖电路原理

    为什么要进行按键消抖 按键消抖通常的按键所用开关为机械弹性开关,当机械触点断开.闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开.因而在闭合及断开的瞬间 ...

  6. 可编程逻辑器件之按键消抖实验

    一.实验目标 能够熟练的进行可编程逻辑器件开发,能够通过具体工程需求进行需求分析.模块划分.代码编写.功能仿真.综合分析.板级验证,能够独立正确的进行实验操作,培养学生的工程实践研究能力和动手实践能力 ...

  7. 关于按键消抖以及LED灯控制的一个实例

    要求: 1.未按建则所有LED全黑: 2.按K1按钮,则用前8个LED灯二进制显示25: 3.按K2按钮,则12只LED合并显示流水灯效果,3个LED点亮并向右流水. 注:是HR-240B FPGA  ...

  8. 《按键消抖与LED控制》实验的个人思考与总结

    2019/01/08,第一个判断是否有按键按下的操作好像有问题,有空在修改! 红色为修改部分: 问题描述: 当三个独立按键的某一个被按下后,相应的LED被点亮:再次按下后,LED熄灭,按键控制LED亮 ...

  9. 基于verilog按键消抖设计

    关于键盘的基础知识,我就以下面的一点资料带过,因为这个实在是再基础不过的东西了.然后我引两篇我自己的博文,都是关于按键消抖的,代码也正是同目录下project里的.这两篇博文都是ednchina的博客 ...

  10. ARM(I.MX6ULL) EPIT定时器中断实验、定时器按键消抖

    参考:Linux之ARM (I.MX6ULL) EPIT定时器详解 作者:一只青木呀 发布时间: 2020-09-20 10:03:37 网址:https://blog.csdn.net/weixin ...

最新文章

  1. 每日一套codeforce集训1119E[贪心],821C[栈模拟],645D[拓扑排序]
  2. 高性能WEB开发(6) - web性能测试工具推荐
  3. 本文把TCP/IP讲绝了!
  4. 轻松实现SQL Server异地备份
  5. 【渝粤教育】国家开放大学2018年春季 0149-21T现代汉语 参考试题
  6. 简单好用的sshfs -- 通过ssh映射远程路径(转)
  7. Docker容器实现SSH连接
  8. 阿里巴巴Java开发手册评述
  9. 25G差分信号对内等长相差太大怎么处理?在哪里绕好一点
  10. Android面试题4
  11. 2021正睿noip十连day2
  12. 解决enter键Typora不能单换行的问题
  13. ORA-03113和ORA-00204问题处理
  14. 网络项目实施方案介绍
  15. 云计算:SaaS、PaaS、IaaS、CaaS并不神秘
  16. NAND Flash SSD 是如何生产出来的?
  17. [BZOJ5020] [THUWC 2017]在美妙的数学王国中畅游
  18. 安卓大作业,Android Studio做的记事本
  19. Java去掉C2A0等不可见字符
  20. xv6 - lab0 - 操作系统组织

热门文章

  1. 扇贝有道180907每日一句
  2. 2018, CHI CHI2016汇总all CHI
  3. opencv打开双目
  4. Atitit ppt转换文本txt 目录 1.1. Atitit word ppt excel convert txt bp 等文档转换纯文本问题最佳实践.docx 1 1.2. 跨语言转换Open
  5. Atitit 深入了解UUID含义是通用唯一识别码 (Universally Unique Identifier),
  6. Atitit。Tree文件解析器的原理流程与设计实现  java  c# php js
  7. Atitit.故障排除系列---NoClassDefFoundError  NoClassDefFoundError ClassNotFoundException
  8. Atitit.软件开发的几大规则,法则,与原则。。。attilax总结
  9. 技术揭秘 | 如何设计 RQData 通讯协议
  10. Julia: feather格式和hdf5格式比较