FPGA按键消抖

编写思路
1、按键消抖的基本原理
2、代码原理
3、代码部分
4、仿真代码编写
5、仿真
6、总结

一、按键消抖的基本原理

按键消抖,按下,松开存在毛刺,主要为了消除毛刺。通过稳定后判断,按下稳定,达到led等状态改变。如下图:刚按下抖动,松开抖动,按键按下后一段时间后稳定。

二、代码原理

1、时钟运行下,判断键按下还是松开,把值缓存至缓存器。
2、根据设置稳定时间判断,计算出计算器需要计数的最大数,设置计数器计数,如果遇到按下,松开计数器重置。达到最大数重置。
3、判断若达到最大数时候与前后状态存在按下,松开时两个条件时,即代码变换状态稳定,按下状态取出。注意:消抖考虑是按下状态反转,未考虑松开状态反转。
4、根据按下状态,赋值给led。达到消抖效果。

三、代码部分

四、仿真代码编写

主要是模仿按下松开时候状态。

五、仿真


六、总结

1、把整体思路做清楚;
2、关于如果判断按下,松开状态、按照设置时间计算数量,取出状态反转时候按键。这些细节问题还需要细细打磨,关于语法中wire,reg,=,<=的问题,理解目前还是不是透彻,代码写完因为细节问题,也调试很久,还是需要进一步的理解。

FPGA编程按键消抖相关推荐

  1. 【 FPGA 】按键消抖与LED灯流动小实验

    记录一个小实验吧,实验的目的是仅仅是塞塞牙缝而已,没其他意思,很简单. 功能:拨码开关控制led灯工作与否,拨码开关为on,led灯工作,否则不工作:导航按键up和down,也就是独立按键而已,控制l ...

  2. verilog基础-状态机之FPGA独立按键消抖设计与验证(熟练testbench的写法)

    独立按键消抖设计与验证 本实验主要是为了锻炼状态机的思维模式以及熟练掌握TB的写法 本节主要收获了:define的用法,另外就是,顶层的input在TB中是reg的真正含义,其实就是把激励当做寄存器来 ...

  3. FPGA实现按键消抖及短时间按键和长时间按键不同动作

    module key_test2(clk, //时钟信号:50Mhzrst, //按键复位key, //用户按键led //LED0~LED2);//端口定义input clk;input rst;i ...

  4. 【按键消抖】基于FPGA的按键消抖模块开发

    1.软件版本 QUARTUSII8.1 Modelsim6.5d 2.系统源码 module tops(i_clk, //100Mi_rst, //系统复位功能,高电平复位,如果不使用这个角,那么一直 ...

  5. FPGA学习笔记---利用连续赋值语句延时功能实现按键消抖

    最近一直在学习FPGA,今天在学习延时语句时,发现了连续赋值的一个特点.在连续赋值语句中添加延时时,任何小于延迟值的输入变化都会被滤除而不会体现在输出上.比如  #10 B = A; 当A的变化小于1 ...

  6. stm32 工业按键检测_STM32单片机按键消抖和FPGA按键消抖大全

    写在前面: 物联网STM32入门 - 直播课程 - 创客学院​www.makeru.com.cn 按键去抖:由上图可以看出理想波形与实际波形之间是有区别的,实际波形在按下和释放的瞬间都有抖动的现象,抖 ...

  7. [FPGA入门笔记](十):按键消抖实验

    简介 今天购买了AXLINX AX7020的开发板,从今天开始每一个例程都要做文档记录,为自己加油. 本实验,基于ALINX AX7020开发板,芯片为xc7z020clg400-2.开发板输入时钟为 ...

  8. FPGA VerilogHDL语言 数字钟 按键消抖

    1.描述 一个简单的基于FPGA的数字钟,语言用的是VerilogHDL,可以实现以下功能: 1. 数码管显示0-59(秒表) 2. 数码管显示:时-分-秒 3. 数码管显示时分秒并且可以设置时间(小 ...

  9. FPGA学习-Verilog实现独立按键消抖

    文章目录 前言 一.独立按键消抖原理 二.按键消抖程序实现(Verilog) 1.按键触发判断 2.计数器模块实现 3.按键状态更新 4.按键控制led亮灭 三.仿真测试文件编写 四.编译结果 前言 ...

最新文章

  1. Kali2021.2 VMware最新版安装步骤
  2. 深入理解Spring的ImportSelector接口
  3. python使用heapq快速查找最大或最小的 N 个元素
  4. BZOJ 1691: [Usaco2007 Dec]挑剔的美食家( 平衡树 )
  5. 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net
  6. spring cloud面试
  7. 业界 | 复杂出行场景下,滴滴如何将AI融入地图系统
  8. linux带字符的行,linux小计,统计文件中包含指定字符串的行数
  9. 10个在线Web设计开发工具介绍
  10. win7下注册s2008
  11. 6.跑步者--并行编程框架 ForkJoin
  12. CMMI3—CMMI5认证的详细流程
  13. 【SNMP】snmp trap 介绍、安装、命令|Trap的发送与接收代码实现
  14. Metric模块源码解析
  15. 交通生成器Road Architect推荐
  16. Windows禁用签名启动
  17. 他发现了古老疟疾背后的元凶,也在质疑声中开创了致病生物的新时代
  18. 爬取京东辣条商品详情
  19. centOS7 防火墙关闭 远程端口无法访问问题
  20. ts快捷键 vscode_VS Code快捷键

热门文章

  1. 哈工大计算机系统大作业: 程序人生-Hello’s P2P/ hello 的一生
  2. mfc设置静态库和minidump、restart
  3. Java毕设项目罪犯信息管理系统计算机(附源码+系统+数据库+LW)
  4. 2023 苹果cmsV10 动漫影视网站主题模板
  5. 使用libpng库读PNG图片
  6. 全球及中国喷雾式鼻腔清洗剂行业消费现状与运营商业模式咨询报告2022版
  7. 如何用HFSS仿真喇叭天线
  8. h5调用手机摄像头获取图片用于人脸识别
  9. 网站配色常用色彩搭配表
  10. SpringMVC之ModelAndView的用法