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之旅


目录
相关文章
|
4月前
|
异构计算
FPGA新起点V1开发板(十)——按键控制LED
FPGA新起点V1开发板(十)——按键控制LED
FPGA新起点V1开发板(十)——按键控制LED
|
异构计算
|
异构计算
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
1205 0
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
|
11月前
|
异构计算
FPGA-基于UART的QVGA显示(二)(实现PC端发送字母数字汉字的分别显示通过按键可以删除字符)
FPGA-基于UART的QVGA显示(二)(实现PC端发送字母数字汉字的分别显示通过按键可以删除字符)
117 0
FPGA-基于UART的QVGA显示(二)(实现PC端发送字母数字汉字的分别显示通过按键可以删除字符)
FPGA-状态机的实现实例(按键的消抖)
FPGA-状态机的实现实例(按键的消抖)
218 0
|
C语言 异构计算
FPGA-独立按键的消抖(软件消抖未用状态机)
FPGA-独立按键的消抖(软件消抖未用状态机)
368 0
|
14天前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的1024QAM基带通信系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的1024QAM调制解调系统的仿真与实现。通过Vivado 2019.2进行仿真,分别在SNR=40dB和35dB下验证了算法效果,并将数据导入Matlab生成星座图。1024QAM调制将10比特映射到复数平面上的1024个星座点之一,适用于高数据传输速率的应用。系统包含数据接口、串并转换、星座映射、调制器、解调器等模块。Verilog核心程序实现了调制、加噪声信道和解调过程,并统计误码率。
34 1
|
1月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的64QAM基带通信系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的64QAM调制解调通信系统的设计与实现,包括信号生成、调制、解调和误码率测试。系统在Vivado 2019.2中进行了仿真,通过设置不同SNR值(15、20、25)验证了系统的性能,并展示了相应的星座图。核心程序使用Verilog语言编写,加入了信道噪声模块和误码率统计功能,提升了仿真效率。
48 4
|
1月前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。

热门文章

最新文章