在电子产品中我们会经常用到按键,比如电脑的键盘,手机的按键等等,按键就是人机交互的一种工具。 本文使用 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语句来实现同样的说法。
全部0条评论
快来发表一下你的评论吧 !