FPGA按键消抖

简介: 笔记

一. 简介

一般在我们使用的开发板中,都需要对按键进行软件消抖的,消抖后的按键,才能满足一般的需求,所以对其进行消抖处理是非常有必要的


二. 实现过程

要实现怎样的消抖过程,可以根据需求来,例如


1.按下消抖,算一次
2.先按下消抖,然后松开,算一次
3.先按下消抖,然后根据持续的时间,来计算次数


这里主要说一下第二点的实现过程


先来看看状态转移图,开始的时候,就空闲态,然后按下后,就进入delay状态,如果此间松开的话,就有回到空闲态,以此达到一个消抖的效果,delay状态过后,就进入一个等待按键松开的状态up,当按键松开时,便进入到按键按下了down,随后又会进入到空闲态

1.png

2.状态机的书写

always@(*)
begin
  case(state)
  S_IDLE:
    if(key_dedge == 1'b1)
      next_state <= S_DELAY;
    else
      next_state <= S_IDLE;
  S_DELAY:
    if(delay_cnt >= DELY_TIME && key_d0 == 1'b0)
      next_state <= S_UP;
    else if(key_d0 == 1'b1)
      next_state <= S_IDLE;
    else
      next_state <= S_DELAY;
  S_UP:
    if(key_uedge == 1'b1)
      next_state <= S_DOWN;
    else
      next_state <= S_UP;
  S_DOWN:
    next_state <= S_IDLE;
  default:  next_state <= S_IDLE;
  endcase

欢迎关注公众号,了解有关的更多知识,回复按键消抖,获取完整代码(单个文件可以直接添加到工程里面使用)

公众号:FPGA之旅

目录
相关文章
|
5月前
|
异构计算
FPGA新起点V1开发板(十)——按键控制LED
FPGA新起点V1开发板(十)——按键控制LED
FPGA新起点V1开发板(十)——按键控制LED
|
异构计算
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
1337 0
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
|
异构计算
FPGA-基于UART的QVGA显示(二)(实现PC端发送字母数字汉字的分别显示通过按键可以删除字符)
FPGA-基于UART的QVGA显示(二)(实现PC端发送字母数字汉字的分别显示通过按键可以删除字符)
129 0
FPGA-基于UART的QVGA显示(二)(实现PC端发送字母数字汉字的分别显示通过按键可以删除字符)
FPGA-状态机的实现实例(按键的消抖)
FPGA-状态机的实现实例(按键的消抖)
231 0
|
C语言 异构计算
FPGA-独立按键的消抖(软件消抖未用状态机)
FPGA-独立按键的消抖(软件消抖未用状态机)
377 0
|
18天前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的16QAM调制+软解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本项目基于FPGA实现了16QAM基带通信系统,包括调制、信道仿真、解调及误码率统计模块。通过Vivado2019.2仿真,设置不同SNR(如8dB、12dB),验证了软解调相较于传统16QAM系统的优越性,误码率显著降低。系统采用Verilog语言编写,详细介绍了16QAM软解调的原理及实现步骤,适用于高性能数据传输场景。
117 69
|
22天前
|
移动开发 算法 数据安全/隐私保护
基于FPGA的QPSK调制+软解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的QPSK调制解调系统,通过Vivado 2019.2进行仿真,展示了在不同信噪比(SNR=1dB, 5dB, 10dB)下的仿真效果。与普通QPSK系统相比,该系统的软解调技术显著降低了误码率。文章还详细阐述了QPSK调制的基本原理、信号采样、判决、解调及软解调的实现过程,并提供了Verilog核心程序代码。
56 26
|
28天前
|
算法 异构计算
基于FPGA的4ASK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的4-ASK调制解调系统的算法仿真效果、理论基础及Verilog核心程序。仿真在Vivado2019.2环境下进行,分别测试了SNR为20dB、15dB、10dB时的性能。理论部分概述了4-ASK的工作原理,包括调制、解调过程及其数学模型。Verilog代码实现了4-ASK调制器、加性高斯白噪声(AWGN)信道模拟、解调器及误码率计算模块。
56 8

热门文章

最新文章