其实你只需要了解一个动态扫描的显示方式就可以实现了,我这里把我之前的学习笔记贴出来,我自己温故知新的同时希望对你也有所帮助。
数码管动态扫描显示原理六位八段数码管的内部结构图如下(下图以共阳极为例)
由图可知,六位八段数码管当中,每个数码位的段选信号全部连接到了一起,然后进行输出(对于共阳极数码管来说,段选引脚为低电平时有电流从数码管的段选引脚流出);每个数码位单独引出一个位选信号用来控制数码位的选择,这种连接方式会使得被选中的数码位显示的内容都是相同的,因为这些被选中的数码位的段选信号已经全部连接到了一起。如何使用这个六位八段数码管来实现数码管的动态显示呢?我们需要使用一种方式:动态扫描 如何使用动态扫描的方式来实现数码管的动态显示呢?这里给大家举一个例子:比如说,我们想要使用六位八段数码管显示数字 123456
如何使用六位八段数码管来显示数字 123456 呢? 首先我们选中第一个数码位,让这个数码位显示数字 1;然后它显示的时间设为 T,这个 T 可以看作一个周期 当第一个数码位完成一个 T 周期数字 1 的显示之后,立刻选中第二个数码位;注意,此时只选中了第二个数码位让它显示数字 2,显示的时间同样是一个周期 T 当第二个数码位完成了一个周期 T 数字 2 的显示之后,立刻选中第三个数码位;这儿注意,也是只选中了第三个数码位让它显示数字 3,同样显示时间为 T 依次往下类推,那么此时就显示 4 然后是 5 然后是 6 当第六个数码位完成了一个周期 T 数字 6 的显示之后,再重新选中第一个数码位;这儿也是只选中了第一个数码位,让它继续显示数字 1,然后显示的时间仍然是 T 周期,这样依次往下循环。 通过上述动态显示过程的描述,我们知道这样一个循环是六个周期就是 6*T;如果说给这个 T 规定一个确切的时间会怎样呢?首先给 T 规定一个确切的时间 1s;如果说 T 等于 1s,六位八段数码管的六个数码位会依次显示 1、2、3、4、5、6 每个数字显示的时间为 1s,如下GIF动图所示 如果进一步把这个 T 进行缩短,比如说缩短到 20ms 这时候六位八段数码管的六个数码位会进行闪烁显示,显示的内容依次是 1、2、3、4、5、6,如下GIF动图所示 如果进一步缩短时间 T 为 1ms,这时候,六位八段数码管的六个数码位实际上也是依次进行闪烁的显示,显示的内容依次是 1、2、3、4、5、6 每个数字显示时间是 1ms,如下GIF动图所示 但是它们切换的频率太快了,我们的肉眼不能分辨这种闪烁,就误以为六位八段数码管的六个数码位在同时进行显示,而且显示的内容是 123456。 这样就使用动态扫描的方式实现了数码管的动态显示。 使用动态扫描的方式实现数码管的动态显示,实际上是利用了两个现象:人眼的视觉暂留特性和数码管的余晖效应。人眼在观察景物时,光信号传入到大脑神经需要经过一段时间,光的作用结束之后我们的视觉影像并不会立刻的消失,这种残留的视觉被称为后像,这种现象就被称为视觉暂留;数码管的余晖效应是什么意思呢?当我们停止向发光二极管供电时,发光二极管的亮度仍能够维持一段时间。我们的动态扫描利用这两个特性就实现了数码管的动态显示。
Proteus 仿真看看吧一开始先设置T为3s左右看一看,如下GIF动图所示
接着设置为300ms左右,如下GIF动图所示(闪烁起来了)
然后设置为30ms左右,如下GIF动图所示(貌似眨眼补帧后就是同时显示的了)
我还要快一点,那就再除个10,每个位只显示3ms左右的时间看看吧
看来它已经可以欺骗我们的眼睛和大脑了(至少仿真软件认为是这样的)
用手机拍视频时如果画面中有对准过多位数码管显示类产品的话,相信你一定注意到过手机画面中,数码管通常会闪烁吧,原因就是使用了动态扫描的方式显示
|