FPGA编程按键消抖
FPGA按键消抖
编写思路
1、按键消抖的基本原理
2、代码原理
3、代码部分
4、仿真代码编写
5、仿真
6、总结
一、按键消抖的基本原理
按键消抖,按下,松开存在毛刺,主要为了消除毛刺。通过稳定后判断,按下稳定,达到led等状态改变。如下图:刚按下抖动,松开抖动,按键按下后一段时间后稳定。
二、代码原理
1、时钟运行下,判断键按下还是松开,把值缓存至缓存器。
2、根据设置稳定时间判断,计算出计算器需要计数的最大数,设置计数器计数,如果遇到按下,松开计数器重置。达到最大数重置。
3、判断若达到最大数时候与前后状态存在按下,松开时两个条件时,即代码变换状态稳定,按下状态取出。注意:消抖考虑是按下状态反转,未考虑松开状态反转。
4、根据按下状态,赋值给led。达到消抖效果。
三、代码部分
四、仿真代码编写
主要是模仿按下松开时候状态。
五、仿真
六、总结
1、把整体思路做清楚;
2、关于如果判断按下,松开状态、按照设置时间计算数量,取出状态反转时候按键。这些细节问题还需要细细打磨,关于语法中wire,reg,=,<=的问题,理解目前还是不是透彻,代码写完因为细节问题,也调试很久,还是需要进一步的理解。
FPGA编程按键消抖相关推荐
- 【 FPGA 】按键消抖与LED灯流动小实验
记录一个小实验吧,实验的目的是仅仅是塞塞牙缝而已,没其他意思,很简单. 功能:拨码开关控制led灯工作与否,拨码开关为on,led灯工作,否则不工作:导航按键up和down,也就是独立按键而已,控制l ...
- verilog基础-状态机之FPGA独立按键消抖设计与验证(熟练testbench的写法)
独立按键消抖设计与验证 本实验主要是为了锻炼状态机的思维模式以及熟练掌握TB的写法 本节主要收获了:define的用法,另外就是,顶层的input在TB中是reg的真正含义,其实就是把激励当做寄存器来 ...
- FPGA实现按键消抖及短时间按键和长时间按键不同动作
module key_test2(clk, //时钟信号:50Mhzrst, //按键复位key, //用户按键led //LED0~LED2);//端口定义input clk;input rst;i ...
- 【按键消抖】基于FPGA的按键消抖模块开发
1.软件版本 QUARTUSII8.1 Modelsim6.5d 2.系统源码 module tops(i_clk, //100Mi_rst, //系统复位功能,高电平复位,如果不使用这个角,那么一直 ...
- FPGA学习笔记---利用连续赋值语句延时功能实现按键消抖
最近一直在学习FPGA,今天在学习延时语句时,发现了连续赋值的一个特点.在连续赋值语句中添加延时时,任何小于延迟值的输入变化都会被滤除而不会体现在输出上.比如 #10 B = A; 当A的变化小于1 ...
- stm32 工业按键检测_STM32单片机按键消抖和FPGA按键消抖大全
写在前面: 物联网STM32入门 - 直播课程 - 创客学院www.makeru.com.cn 按键去抖:由上图可以看出理想波形与实际波形之间是有区别的,实际波形在按下和释放的瞬间都有抖动的现象,抖 ...
- [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亮灭 三.仿真测试文件编写 四.编译结果 前言 ...
最新文章
- Kali2021.2 VMware最新版安装步骤
- 深入理解Spring的ImportSelector接口
- python使用heapq快速查找最大或最小的 N 个元素
- BZOJ 1691: [Usaco2007 Dec]挑剔的美食家( 平衡树 )
- 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net
- spring cloud面试
- 业界 | 复杂出行场景下,滴滴如何将AI融入地图系统
- linux带字符的行,linux小计,统计文件中包含指定字符串的行数
- 10个在线Web设计开发工具介绍
- win7下注册s2008
- 6.跑步者--并行编程框架 ForkJoin
- CMMI3—CMMI5认证的详细流程
- 【SNMP】snmp trap 介绍、安装、命令|Trap的发送与接收代码实现
- Metric模块源码解析
- 交通生成器Road Architect推荐
- Windows禁用签名启动
- 他发现了古老疟疾背后的元凶,也在质疑声中开创了致病生物的新时代
- 爬取京东辣条商品详情
- centOS7 防火墙关闭 远程端口无法访问问题
- ts快捷键 vscode_VS Code快捷键