基于FPGA的两位按键控制LED数码管加减计数实验

两位按键控制LED数码管加减计数实验

        这是一篇拖了一个多月的文章,主要是基于FPGA利用按键消抖原理与动态数码管驱动原理相结合,来实现一个利用两位按键来控制数码管实现0-99的加法计数或者减法计数功能。

1.1 简介

        本文使用的开发板的LED数码管是采用共阳极连接,关于如何进行驱动,可以搜索相关动态数码管扫描实验,这边不进行过多的复述了。

1.2 实验任务

        本章的实验任务是设计一个两位数码管显示0-99的加减法计数,主要功能是数码管显示数值范围0~99,按下KEY0增1;按下KEY1减1;长按KEY0计数不断增加;长按KEY1计数不断减少。

1.3 软件设计

根据实验任务我们需要画出本次实验的系统模块框图,如下图所示:

基于FPGA的两位按键控制LED数码管加减计数实验

如上图所示,可知主要由按键消抖模块,计数器模块以及动态数码管驱动模块组成。

程序中各个模块端口及信号连接如图所示:

基于FPGA的两位按键控制LED数码管加减计数实验

顶层模块(top_key_seg)例化了以下三个模块:按键消抖模块(key_debounce)、按键计数器模块(key_cnt)以及数码管动态驱动模块(seg_led)。 

顶层代码如下:

        顶层模块主要完成对子模块的例化,并且实现各模块之间的信号的交互。按键消抖模块的输出连接计数器模块,计数器模块的输出data和en传递给动态数码管驱动模块,最后将数据从数码管中显示出来。

按键消抖模块的代码如下所示:

来源:伊藤诚诚诚诚

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月21日
下一篇 2022年6月21日

相关推荐