在电子产品中我们会经常用到按键,比如电脑的键盘,手机的按键等等,按键就是人机交互的一种工具。本文使用FPGA程序来检测与按键对应的I/O口的电平高低来判断按键是否按下或松开,通过点亮/点灭开发板上相应的LED灯来指示按键的动作。
按键原理图
从原理图可知:当按键按下时,FPGA的I/O口检测到低电平;当按键弹起时,FPGA的I/O口检测到高电平。
注意点:每20ms程序会检查一下按键的状,如果这次检测为低电平而且上次检测为高电平的话,说明有按键按下,相对应的LED灯反转。一般按键按下时的按键抖动为低于20ms的脉冲信号,这些高频脉冲信号会被滤除。提高了按键的可靠性。
用verilog实现:
用VHDL实现
特别地:Verilog中的条件操作符号“?”,比如assignc=d?a:b;它的意思就是,当d=1时,把a的值赋给c,否则,把b的值赋给c。实际在VHDL中,可以用一个if-else语句来实现同样的说法。
预览时标签不可点收录于话题#个上一篇下一篇