FPGA动态数码管显示 您所在的位置:网站首页 fpga高电平多大 FPGA动态数码管显示

FPGA动态数码管显示

2023-05-09 18:04| 来源: 网络整理| 查看: 265

数码管动态显示的原理是基于人眼的视觉暂留即人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉影像并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。 其次是数码管的余晖效应,当停止向发光二极管供电时发光二极管亮度仍能维持一段时间。根据这两种现象进行动态设计,让数码管轮流显示,而且轮流显示速度很快,这种方式称为动态扫描。

在实验过程中,我们使用的是正点原子的达芬奇开发板,板载的数码管为共阳极数码管,需使用低电平点亮。实验内容位是从0000计数到9999,我们参考波形图进行数码管动态显示程序设计。

4位数码管动态显示波形图

输入输出及信号定义

其中en信号是数码管使能信号,设计中一直让其拉高即可;

data信号是输入的十进制数据,假设这里我们输入的十进制数为9876;

ge、shi、bai、qian这4个信号是数据转换模块转化的的BCD码,也就是说这4个BCD码就是输入十进制数9876各个位的BCD码,所以这里个位(ge)是6,十位(shi)是7,百位(bai)是8,千位(qian)是9;

data_c信号是数码管待显示内容寄存器,因为这里假设输入要显示的十进制数为9876,所以4个数码管就会显示9876的数值;

待显示内容赋值

cnt_1ms信号是使用1ms的扫描时间去扫描各个数码管,所以需要一个1ms的计数器对1ms进行循环计数;

1ms计数器

flag_1ms信号是1ms计数标志信号,当1ms计数器计到1ms时拉高该标志信号,使用该标志信号去控制位选数码管计数器的计数;

1ms计数标志信号

cnt_sel信号是位选数码管计数器,动态扫描方式是用1ms的刷新时间让4个数码管轮流显示;

位选计数器

sel_c信号是数码管位选信号寄存器,为了让数码管位选信号和段选信号同步,先将位选信号进行寄存,刷新到哪个数码管就将sel中对应位给低电平点亮即可;

位选寄存器

data_d:当前点亮数码管显示的值。若我们此时点亮的是第1个数码管,那么就需要给第1个数码管显示值 6,若刷新到第2个数码管,那么我们就需要给第2个数码管显示7,以此类推,当刷新到第4个数码管时,此时显示的是9,这里定义 data_d的值为10时让数码管什么也不显示。

seg信号是数码管段选信号,当扫描到哪个数码管显示需要显示的值时,我们将对于的段点亮即可;

数码管显示

sel信号是数码管位选信号。将数码管位选信号寄存器打一拍即可,以此实现实现数码管段选信号和位选信号的同步。

数码管位选

至此,数码管动态显示程序设计结束,我们没有学习过FPGA怎么去驱动动态数码管,但是可以从已知的单片机驱动动态数码管入手,驱动原理其实都是一样的,只是在表示上FPGA要稍微复杂一些。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有