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的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
1100 0
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
|
7月前
|
异构计算
FPGA-基于UART的QVGA显示(二)(实现PC端发送字母数字汉字的分别显示通过按键可以删除字符)
FPGA-基于UART的QVGA显示(二)(实现PC端发送字母数字汉字的分别显示通过按键可以删除字符)
90 0
FPGA-基于UART的QVGA显示(二)(实现PC端发送字母数字汉字的分别显示通过按键可以删除字符)
FPGA-状态机的实现实例(按键的消抖)
FPGA-状态机的实现实例(按键的消抖)
189 0
|
C语言 异构计算
FPGA-独立按键的消抖(软件消抖未用状态机)
FPGA-独立按键的消抖(软件消抖未用状态机)
321 0
|
存储 编解码 监控
案例分享:Qt+Arm+Fpga医疗肾镜(又名内窥镜)(实时影像、冻结、拍照、白平衡、九宫格、录像、背光调整、硬件光源调整、光源手动自动调整、物理按键)
案例分享:Qt+Arm+Fpga医疗肾镜(又名内窥镜)(实时影像、冻结、拍照、白平衡、九宫格、录像、背光调整、硬件光源调整、光源手动自动调整、物理按键)
案例分享:Qt+Arm+Fpga医疗肾镜(又名内窥镜)(实时影像、冻结、拍照、白平衡、九宫格、录像、背光调整、硬件光源调整、光源手动自动调整、物理按键)
|
2月前
|
机器学习/深度学习 算法 异构计算
m基于FPGA的多通道FIR滤波器verilog实现,包含testbench测试文件
本文介绍了使用VIVADO 2019.2仿真的多通道FIR滤波器设计。展示了系统RTL结构图,并简述了FIR滤波器的基本理论,包括单通道和多通道的概念、常见结构及设计方法,如窗函数法、频率采样法、优化算法和机器学习方法。此外,还提供了Verilog核心程序代码,用于实现4通道滤波器模块,包含时钟、复位信号及输入输出接口的定义。
80 7
|
2月前
|
算法 异构计算
m基于FPGA的电子钟verilog实现,可设置闹钟,包含testbench测试文件
该文介绍了基于FPGA的电子钟设计,利用Vivado2019.2平台进行开发并展示测试结果。电子钟设计采用Verilog硬件描述语言,核心包括振荡器、分频器和计数器。时间显示为2个十进制格式,闹钟功能通过存储器和比较器实现,当当前时间等于设定时间时触发。文中给出了Verilog核心程序示例,展示了时钟信号、设置信号及输出的交互。
126 2
|
2月前
|
编解码 算法 异构计算
基于FPGA的NC图像质量评估verilog实现,包含testbench和MATLAB辅助验证程序
在Vivado 2019.2和Matlab 2022a中测试的图像质量评估算法展示了效果。该算法基于NC指标,衡量图像与原始图像的相似度,关注分辨率、色彩深度和失真。提供的Verilog代码段用于读取并比较两个BMP文件,计算NC值。