两位按键控制LED数码管加减计数实验
这是一篇拖了一个多月的文章,主要是基于FPGA利用按键消抖原理与动态数码管驱动原理相结合,来实现一个利用两位按键来控制数码管实现0-99的加法计数或者减法计数功能。
1.1 简介
1.2 实验任务
本章的实验任务是设计一个两位数码管显示0-99的加减法计数,主要功能是数码管显示数值范围0~99,按下KEY0增1;按下KEY1减1;长按KEY0计数不断增加;长按KEY1计数不断减少。
1.3 软件设计
根据实验任务我们需要画出本次实验的系统模块框图,如下图所示:
如上图所示,可知主要由按键消抖模块,计数器模块以及动态数码管驱动模块组成。
程序中各个模块端口及信 连接如图所示:
顶层模块(top_key_seg)例化了以下三个模块:按键消抖模块(key_debounce)、按键计数器模块(key_cnt)以及数码管动态驱动模块(seg_led)。
顶层代码如下:
顶层模块主要完成对子模块的例化,并且实现各模块之间的信 的交互。按键消抖模块的输出连接计数器模块,计数器模块的输出data和en传递给动态数码管驱动模块,最后将数据从数码管中显示出来。
按键消抖模块的代码如下所示:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!