一、设计需求
设计一个可以显示分、秒的电子钟模块并在红色飓风E45开发板的四个的数码管进行显示。
二、设计思路
首先,我们得了解板上四个八段数码管的特性进行了解。图1所示为数码管的原理图,从中可以知道数码是共阴的,即当LED_AN0~LED_AN3为高电平时三极管导通,LED_S0~LED_S3为低电平,数码管被选中,其中LED_AN0~LED_AN3、LED_A~LED_G和LED_DP是直接连接到FPGA管脚上的。
<img id="aimg_v78Ab" class="zoom" height="291" file="http://files.chinaaet.com/images/blog/2015/07/26/598835886159.jpg" border="0" alt="" />
图1 数码管原理图
其次,根据数码管的原理图给出数码管的编码列表,如表1所示。其中的点号DP根据需要进行亮与灭的选择。
表1 数码管编码对应表
<img id="aimg_I0lnl" class="zoom" height="423" file="http://files.chinaaet.com/images/blog/2015/07/26/598844462119.jpg" border="0" alt="" />
接着,我们要对设计的功能进行合理的划分。根据需求电子钟的功能包括计数和编码显示两部分,故本设计的功能模块组成如图2所示。
<img id="aimg_skAg1" class="zoom" height="229" file="http://files.chinaaet.com/images/blog/2015/07/26/598850862022.jpg" border="0" alt="" />
图2 定时器设计框架
最后,再补充一点,由于数码管是动态扫描显示的,利用的人眼的视觉暂留效应及发光二极管的余晖效应,只要使扫描速度足够快(低于0.1秒),就不会看到由于数码管切换显示时的闪烁感。
三、设计实现
timer.v:
[color=blue !important][size=1em][color=blue !important]+ 查看代码 |