`
anlx27
  • 浏览: 497583 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
按键电路:下图是神舟三号stm32开发板中的按键原理图。由图可知,按键按下时GPIO端口清零 。

 

 

 

 



按键消抖



理想情况下按键按下弹起过程是一个理想的方波,如下图2。

 

 

但通常的按键所用开关为机械弹性开关,由于机械触点的弹性作用在闭合及断开的瞬间均伴随有一连串的抖动,如下图3。

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



 

为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。按键的抖动,可用硬件或软件两种方法。

<1> 硬件消抖:在键数较少时使用。下图所示的RS触发器为常用的硬件去抖。

 


1°  按键并上RS触发器。

 

当按键未按下时,输出为1;当键按下时,输出为0。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),中要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作过程很容易得到验证。

 

2°   在按键旁边直接并上一个电容。

 

利用电容的几分作用让方波边沿不会产生毛刺。



<2> 软件消抖:如果按键较多时使用。

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

 

下面是stm32的一个防抖部分例程



 

 

 

 

  • 大小: 12.7 KB
  • 大小: 16 KB
  • 大小: 20 KB
2
1
分享到:
评论

相关推荐

    关于用74HC165做键盘扫描时的按键消抖源码

    ### 关于用74HC165做键盘扫描时的按键消抖源码 #### 概述 在本文中,我们将深入探讨如何利用74HC165芯片进行键盘扫描,并实现按键消抖功能。74HC165是一种常用的并行输入、串行输出移位寄存器芯片,在许多电子设备...

    4*4矩阵键盘 按键消抖 单片机c语言

    本文将深入探讨4*4矩阵键盘的工作原理、按键消抖的必要性以及如何用C语言解决这些问题。 首先,我们来看4*4矩阵键盘的结构。它由4行和4列共16个按键组成,每一行和每一列通过单片机的I/O引脚连接。当按下某一个键时...

    利用FPGA完成按键消抖程序

    本程序是利用FPGA来实现按键消抖,程序已在电路板上验证

    基于vivado2019.2平台下verilog开发的按键消抖功能+代码仿真操作视频

    1.领域:matlab,按键消抖 2.内容:基于vivado2019.2平台下verilog开发的按键消抖功能+代码仿真操作视频 3.用处:用于按键消抖编程学习 4.指向人群:本硕博等教研学习使用 5.运行注意事项: 使用matlab2021a...

    vhdl 键盘消抖程序

    键盘消抖,顾名思义,是消除键盘按键按下或释放过程中产生的抖动现象。由于机械开关在闭合或断开时可能会产生瞬间的不稳定状态,导致连续的信号脉冲,这被称为“抖动”。如果不进行消抖处理,可能会使系统误读为连续...

    fpga按键消抖

    在深入探讨Verilog HDL实现的FPGA按键消抖及LED控制代码之前,我们先来理解一下几个核心概念。FPGA(Field Programmable Gate Array),即现场可编程门阵列,是一种可编程集成电路,允许用户在芯片制造后通过编程...

    Verilog编写矩阵键盘,含有消抖,模拟仿真,有限状态机的使用

    在矩阵键盘设计中,FSM通常用于管理行线和列线的切换,以及处理按键检测和消抖过程。FSM的状态可能包括扫描行线、等待列线响应、检测按键、消抖处理等,每个状态都有特定的输入和输出行为。 在项目文件"matrix_key_...

    Verilog语言键盘消抖

    键盘消抖是数字输入设备,如键盘,在按键按下或释放时常见的问题。由于机械结构的原因,当一个键被按下或释放时,信号可能会产生短暂的抖动,导致误读。为了解决这个问题,我们需要在硬件层面实现消抖电路或程序,...

    fpga 按键消抖

    4. 采用专用IP核:某些FPGA开发平台提供了专门的键盘接口IP核,这些核内部已经集成了消抖功能,可以直接使用,简化了设计过程。 在实际应用中,可以根据项目需求和资源限制选择合适的方法进行按键消抖。对于“特权...

    verilog按键消抖经典

    在电子设计领域,特别是在FPGA(Field-Programmable Gate Array)开发中,按键消抖是常见的一个问题。这是因为机械按键在被按下或释放时,由于机械接触的瞬间不稳定,可能会产生多次开关信号,这种现象被称为“抖动...

    玩转Altera FPGA:按键消抖原理

    在深入了解按键消抖之前,我们先简单了解一下按键及其相关的键盘类型。 **1.1 键盘分类** 键盘主要分为编码键盘和非编码键盘两大类: - **编码键盘**:这种类型的键盘通过专用的硬件编码器来识别按键的闭合,通常...

    单片机定时器在按键消抖和键音输出中的应用.pdf

    同样地,按键消抖和键音输出也需要在矩阵键盘扫描的软件设计中合理配置定时器中断,确保在扫描周期内完成按键状态的准确检测和反馈音的及时输出。 最后,要实现上述功能,需要设计合适的硬件电路。文中提到的硬件...

    按键消抖的原理和基于fpga的消抖设计_明德扬资料

    按键消抖是电子系统设计中的一个重要概念,尤其是在涉及人机交互的设备中,例如电脑键盘。机械式按键在被按下或释放时,由于机械触点的弹性,会产生一系列快速的抖动,即在闭合和断开状态之间快速切换。这种抖动可能...

    单片机按键消抖程序汇编

    在单片机领域,按键消抖是一个常见的需求。当按键被按下或释放时,由于机械触点的弹性作用,按键的接触会出现不稳定的现象,即抖动。这种抖动可能造成按键在短时间内多次被读取,从而产生误操作。为了解决这个问题,...

    key_jitter 按键消抖源代码

    在给定的标题"key_jitter 按键消抖源代码"中,我们可以推测这是一个关于使用VHDL编程语言实现按键消抖功能的示例代码。 VHDL是硬件描述语言(Hardware Description Language)的一种,用于描述数字系统的结构和行为...

    按键消抖硬件和软件方法

    "按键消抖硬件和软件方法" 在使用单片机搭建有人机交互的系统时,需要用到键盘,因为单片机工作时间都是纳秒与毫秒级别,但是我们人体的反应时间最少要 0.2 秒,之间差距很大,现实过程中也会不小心碰到按键,正常...

    keyscan_state.rar_矩阵 状态机_矩阵按键消抖

    本主题将深入探讨如何使用51单片机实现4x4矩阵键盘,并利用状态机来实现按键消抖。首先,让我们了解矩阵键盘的工作原理。 **矩阵键盘** 是一种节省I/O口线的键盘设计方案,它通过将行线和列线交叉形成一个矩形网格...

    debounce_filter_键盘消抖_

    总结起来,键盘消抖是解决机械按键信号不稳定问题的关键,而延时法和状态机法是常用的消抖策略。延时法简单易行,适合快速过滤抖动;状态机法则能提供更精确的事件检测,适用于对响应时间和准确性要求较高的场景。...

    51单片机--按键防抖代码

    本文将深入探讨51单片机中的按键防抖技术,以及如何通过中断处理来优化按键输入。 首先,我们需要理解为什么需要按键防抖。在51单片机的硬件设计中,按键通常连接到I/O口,当用户按下或释放按键时,I/O口的电平会...

Global site tag (gtag.js) - Google Analytics