广告

原创 FPGA学习之基于动态数码管的时钟显示

2017-5-15 11:19 758 1 1 分类: FPGA/CPLD

动态数码管的原理之前已经说过,但是之前说的只是它的工作原理,今天我们来说说动态数码管的应用。今天通过FPGA编程,驱动8个动态数码管显示“时-分-秒”。

下图是4位共阳动态数码管的工作时序。某一时刻控制某一个位选并给一个8位的段选数据,则该数码管会显示相应的数据,通过快速的扫描,就会看到4个数码管同时亮,并且显示不同的数字。

640.webp

首先来看看我们今天所使用的动态数码管的硬件原理图。

640.webp (1)

从原理图中我们可以看出,数码管的段选由74HC245芯片驱动,数码管的位选由74HC138驱动。

下面我们来看看这两个芯片的手册及功能,首先看看74HC245的手册

640.webp (2)

640.webp (3)

第一幅图是对74HC245芯片功能的描述,第二幅图是74HC245芯片内部的逻辑结构,从这两张图中我们可得知:74HC245是一个带有3态输出的双向驱动缓冲器。也就是说当确定方向之后,输入是什么,输出就是什么,只不过输出的电流稍大一点儿而已。

我们再来看看74HC138芯片手册

640.webp (4)

640.webp (5)

第一幅图是74HC138的功能描述,第二幅图是74HC138的真值表,从这两幅图中可以得出,74HC是一个3线(输入)——8线(输出)的译码器,ABC三个输入决定Y0-Y7八个中的哪一个为低电平。所以从这里我们可以得出,硬件原理图中的数码管为共阴数码管。

明白了硬件电路原理图及芯片手册之后,下面我们开始FPGA的编程。本次设计中,FPGA程序总共由三大模块组成,分别是时间计时模块,数码管译码模块、动态数码管驱动这三部分组成,如下图。

640.webp (6)

本设计中,其他模块的代码太长,无法全部截屏,所以这里只把数码管译码模块和动态数码管驱动这两部分的Verilog代码贴出来供参考,其他的代码请大家关注微信号“xiaomage_group”查看详细内容~~~~

640.webp (7)

640.webp (8)

下面我们将写好的代码进行全局综合编译,编译无误之后下载入FPGA电路板中,验证设计的正确性。

QQ图片20170515111616

这是下载后实际拍出来的效果,从图片中可以看出,该设计的确实现了计时的功能,能够显示“时-分-秒”的功能,说明我们的设计时没有问题的,哈哈哈哈~~~~~

更多详细内容请大家关注微信号“xiaomage_group”查看~~


广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
小马哥电子 2017-08-17 17:17
数字收音机制作(1)
之前一直想做一款数字收音机来着,但是由于各种原因,刚画完原理图就放弃了。这次抽出时间,重新设计方案,制作一款小巧mini型的数字收音机。    本次重新设计方案之后,该收音机目前可具备的功能有:   ...
小马哥电子 2017-06-06 12:11
项目实战之MOS管啸叫
最近做一个点火器项目时要使用单片机的IO口控制一个36V的P沟道MOS管的开关,但是在电路的设计验真阶段,出现了MOS管的啸叫。MOS管竟然啸叫,我的天,这还是第一次碰到。下面我来还原一下场景。 首先...
小马哥电子 2017-05-23 22:21
FPGA学习之基于TLC549的直流电压采集及显示
最近由于毕业论文的事,小编是忙的不可开交,今天抽出点时间写篇文章,冒个泡,以防大家把我给遗忘了,哈哈哈哈~ 言归正传,今天我们的任务是通过FPGA控制TLC549模数转换芯片(ADC)采集直流电压值,...
小马哥电子 2017-05-18 18:55
FPGA学习之高速ADC采集
ADC(Analog-to-Digital Converter,模拟-数字转换器)在硬件电路中是经常见到的器件,音频信号的采集、温度的采集等等,凡是涉及到模拟信号转数字信号的电路,都会用到ADC。 A...
小马哥电子 2017-05-12 22:44
FPGA学习之基于74HC164的静态数码管显示
今天我们通过两个静态数码管实现0-99的计数,且每500ms计一个数。 我们首先来看看基于74HC164的静态数码管显示的电路原理图~ 这就是两个静态数码管的原理图。大家从图中可以看出,两个数码管的...
我要评论
0
1
广告
关闭 热点推荐上一条 /2 下一条