FPGA按键消抖(高级篇)

简介: 笔记

一. 硬件介绍


FPGA开发板

一个按键

一个led灯


二. 功能介绍


可以满足三种不同要求的消抖方式

通过led灯测试三种消抖方式


三. 消抖方式介绍


mode 0 : 按键按下消抖后,算一次。

mode 1 : 按键按下消抖后,抬起,算一次。

mode 2 : 按键按下消抖后,每隔一段时间,算一次。

通过下面这个mode参数可以在例化的时候,选择对应的模式。


//模式
//0   按下生效,抬起,算一次
//1   按下抬起,算一次
//2 按下后,一段时间算一次
parameter   mode = 2;


四. 测试top文件介绍


mode 0 : 按下的时候,led状态取反
mode 1: 按下,抬起的时候,led状态取反
mode 2: 按下,每隔一段时间,led状态取反
module top(
    input    clk,
    input    rst_n,
  input     key,
  output    led
);
wire    okey;
reg led_reg;
assign   led = led_reg;
always@(posedge clk or negedge rst_n)
begin
  if(rst_n == 1'b0)
  led_reg <= 1'b0;
  else if(okey == 1'b1)
  led_reg <= ~led_reg;
  else
  led_reg <= led_reg;
end
btn_dis_shake  #(
  .mode   (1)
)
btn_dis_shake_HP(
    .clk    (clk),
    .rst_n  (rst_n),  
  .ikey    (key),
  .okey   (okey)
);
endmodule

公众号:FPGA之旅


目录
相关文章
|
异构计算
FPGA新起点V1开发板(十)——按键控制LED
FPGA新起点V1开发板(十)——按键控制LED
382 3
FPGA新起点V1开发板(十)——按键控制LED
|
异构计算
|
异构计算
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
2023 0
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
|
异构计算
FPGA-基于UART的QVGA显示(二)(实现PC端发送字母数字汉字的分别显示通过按键可以删除字符)
FPGA-基于UART的QVGA显示(二)(实现PC端发送字母数字汉字的分别显示通过按键可以删除字符)
351 0
FPGA-基于UART的QVGA显示(二)(实现PC端发送字母数字汉字的分别显示通过按键可以删除字符)
FPGA-状态机的实现实例(按键的消抖)
FPGA-状态机的实现实例(按键的消抖)
432 0
|
C语言 异构计算
FPGA-独立按键的消抖(软件消抖未用状态机)
FPGA-独立按键的消抖(软件消抖未用状态机)
643 0
|
算法 数据安全/隐私保护 异构计算
基于FPGA的变步长LMS自适应滤波器verilog实现,包括testbench
### 自适应滤波器仿真与实现简介 本项目基于Vivado2022a实现了变步长LMS自适应滤波器的FPGA设计。通过动态调整步长因子,该滤波器在收敛速度和稳态误差之间取得良好平衡,适用于信道均衡、噪声消除等信号处理应用。Verilog代码展示了关键模块如延迟单元和LMS更新逻辑。仿真结果验证了算法的有效性,具体操作可参考配套视频。
602 74
|
机器学习/深度学习 算法 数据安全/隐私保护
基于FPGA的SNN脉冲神经网络之LIF神经元verilog实现,包含testbench
本项目展示了 LIF(Leaky Integrate-and-Fire)神经元算法的实现与应用,含无水印运行效果预览。基于 Vivado2019.2 开发,完整代码配有中文注释及操作视频。LIF 模型模拟生物神经元特性,通过积分输入信号并判断膜电位是否达阈值产生脉冲,相较于 Hodgkin-Huxley 模型更简化,适合大规模神经网络模拟。核心程序片段示例,助您快速上手。
|
算法 数据安全/隐私保护 异构计算
基于FPGA的16QAM调制+软解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本项目基于FPGA实现了16QAM基带通信系统,包括调制、信道仿真、解调及误码率统计模块。通过Vivado2019.2仿真,设置不同SNR(如8dB、12dB),验证了软解调相较于传统16QAM系统的优越性,误码率显著降低。系统采用Verilog语言编写,详细介绍了16QAM软解调的原理及实现步骤,适用于高性能数据传输场景。
726 69

热门文章

最新文章