在电子产品中我们会经常用到按键,比如电脑的键盘,手机的按键等等,按键就是人机交互的一种工具。 本文使用 FPGA 程序来检测与按键对应的 I/O口的电平高低来判断按键是否按下或松开,通过点亮/点灭开发板上相应的 LED 灯来指示按键的动作。
按键原理图
从原理图可知:当按键按下时,FPGA 的 I/O 口检测到低电平; 当按键弹起时,FPGA 的 I/O口检测到高电平。
注意点:每 20ms 程序会检查一下按键的状,如果这次检测为低电平而且上次检测为高电平的话,说明有按键按下,相对应的 LED 灯反转。 一般按键按下时的按键抖动为低于 20ms 的脉冲信号,这些高频脉冲信号会被滤除。 提高了按键的可靠性。
用verilog实现:
用VHDL实现
特别地:Verilog中的条件操作符号“?”,比如 assign c=d?a:b; 它的意思就是,当d=1时,把a的值赋给c,否则,把b的值赋给c。 实际在VHDL中,可以用一个if-else语句来实现同样的说法。
-
FPGA
+关注
关注
1629文章
21729浏览量
603048 -
电子产品
+关注
关注
6文章
1158浏览量
58239 -
led灯
+关注
关注
22文章
1592浏览量
107957 -
Verilog
+关注
关注
28文章
1351浏览量
110078 -
按键检测
+关注
关注
0文章
23浏览量
4834
发布评论请先 登录
相关推荐
深入而全面:FPGA学习之独立按键检测
基于FPGA按键模式的分类和如何实现应用设计

fpga教程之——按键消抖
梅哥和你一起深入学习FPGA之独立按键检测(下)
小梅哥和你一起深入学习FPGA之独立按键检测(上)
【ZYNQ Ultrascale+ MPSOC FPGA教程】第九章Vivado下按键实验

如何进行按键检测和按键FIFO的实现
51汇编(七):按键检测

如何在FPGA中实现按键消抖
基于FPGA实现按键消抖处理

评论