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)
beginif(rst_n == 1'b0)led_reg <= 1'b0;else if(okey == 1'b1)led_reg <= ~led_reg;elseled_reg <= led_reg;endbtn_dis_shake #(.mode (1)
)
btn_dis_shake_HP(.clk (clk),.rst_n (rst_n), .ikey (key),.okey (okey));
endmodule
欢迎关注微信公众号 FPGA之旅 回复 按键消抖 获取下载链接
FPGA按键消抖(高级篇)相关推荐
- stm32 工业按键检测_STM32单片机按键消抖和FPGA按键消抖大全
写在前面: 物联网STM32入门 - 直播课程 - 创客学院www.makeru.com.cn 按键去抖:由上图可以看出理想波形与实际波形之间是有区别的,实际波形在按下和释放的瞬间都有抖动的现象,抖 ...
- stm32硬件消抖_STM32单片机按键消抖和FPGA按键消抖大全
原标题:STM32单片机按键消抖和FPGA按键消抖大全 写在前面: 按键去抖:由上图可以看出理想波形与实际波形之间是有区别的,实际波形在按下和释放的瞬间都有抖动的现象,抖动时间的长短和按键的机械特性有 ...
- FPGA编程按键消抖
FPGA按键消抖 编写思路 1.按键消抖的基本原理 2.代码原理 3.代码部分 4.仿真代码编写 5.仿真 6.总结 一.按键消抖的基本原理 按键消抖,按下,松开存在毛刺,主要为了消除毛刺.通过稳定后 ...
- FPGA学习笔记---利用连续赋值语句延时功能实现按键消抖
最近一直在学习FPGA,今天在学习延时语句时,发现了连续赋值的一个特点.在连续赋值语句中添加延时时,任何小于延迟值的输入变化都会被滤除而不会体现在输出上.比如 #10 B = A; 当A的变化小于1 ...
- 【 FPGA 】按键消抖与LED灯流动小实验
记录一个小实验吧,实验的目的是仅仅是塞塞牙缝而已,没其他意思,很简单. 功能:拨码开关控制led灯工作与否,拨码开关为on,led灯工作,否则不工作:导航按键up和down,也就是独立按键而已,控制l ...
- [FPGA入门笔记](十):按键消抖实验
简介 今天购买了AXLINX AX7020的开发板,从今天开始每一个例程都要做文档记录,为自己加油. 本实验,基于ALINX AX7020开发板,芯片为xc7z020clg400-2.开发板输入时钟为 ...
- FPGA VerilogHDL语言 数字钟 按键消抖
1.描述 一个简单的基于FPGA的数字钟,语言用的是VerilogHDL,可以实现以下功能: 1. 数码管显示0-59(秒表) 2. 数码管显示:时-分-秒 3. 数码管显示时分秒并且可以设置时间(小 ...
- FPGA学习-Verilog实现独立按键消抖
文章目录 前言 一.独立按键消抖原理 二.按键消抖程序实现(Verilog) 1.按键触发判断 2.计数器模块实现 3.按键状态更新 4.按键控制led亮灭 三.仿真测试文件编写 四.编译结果 前言 ...
- verilog基础-状态机之FPGA独立按键消抖设计与验证(熟练testbench的写法)
独立按键消抖设计与验证 本实验主要是为了锻炼状态机的思维模式以及熟练掌握TB的写法 本节主要收获了:define的用法,另外就是,顶层的input在TB中是reg的真正含义,其实就是把激励当做寄存器来 ...
最新文章
- docker 容器无法使用中文 解决方案
- HTML5标签的语义认知和理解
- redis配置_Redis配置大全(三)
- strust2自定义拦截器
- 轻轻的你来了,悄悄的你走了,邓总没有带走一个bug
- mysql数据库的多实例_MySQL数据库多实例应用实战 - 橙子柠檬's Blog
- Redis(六):Set集合数据类型详解
- android slidingmenu框架,常用框架之SlidingMenu的使用(基于AndroidStudio)
- .net web开发经典图书总结
- JS 获取宽,高(ie未测)
- php xml三级联动,jquery+xml实现三级联动步骤详解
- 计算机系统硬件基本组成
- java实现根据身份证计算年龄的两种方式
- 期望收益率、方差、协方差、相关系数的计算公式
- 深度学习笔记:DCN
- Cisco交换机IOS备份还原
- 如何在 Python3 中对列表 通过比较排序(不懂就问)?
- 随机搜索(Random Searching)算法
- 有些市场上卖的卤牛肉40元一斤,是真牛肉吗?
- 最新研究表明:熬夜会增加患癌症几率