基于FPGA的按键检测设计

描述

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

按键检测

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分