3.1 数码管工作原理
数码管是一种利用LED的显示器件,普通的数码管在内部集成了八个数码管,分别组成了对应的段,由于数字只需要七个段就可以,所以有的数码管内部只有七段,称为七段数码管,八段数码管的多余的段被用在小数点上,形成了可以显示小数点数据的显示器件。
根据数码管内部的连接方式,所以数码管又分为共阳数码管(低电平点亮)与共阴数码管(高电平点亮),共阳数码管内部是将所有LED的正极接在一起组成的公共端接电源+5V,只需要控制对应的LED负极就可以显示数字, 所以共阳级低电平才能点亮,共阴极与共阳级刚好相反,共阴极数码管内部将LED的负极接在一起形成公共端接地 0V,只需要控制对应的LED正极就能够显示数字,所以共阴极数码管高电平点亮。共阳极数码管与共阴极数码管内部结构如下图所示。
由于数码管内部同样是LED组成的,所以理论上需要在每个LED上加一个限流电阻,限流电阻的取值在100~330Ω上。
所谓的数码管段码的实质就是利用单片机一组端口驱动八个LED,只要能点亮对应的LED,那么数字就会显示出来,所以段码是一些二位16进制组成的数据,常用的数码管接法计算出来的段码如下表所示。
数码管内部连接 | 共阳 | 共阴 | ||
小数点接单片机 | 最高位 | 最低位 | 最高位 | 最低位 |
0 | 0x40 | 0x02 | 0xBF | 0xFD |
1 | 0x79 | 0x9E | 0x86 | 0x61 |
2 | 0x24 | 0x24 | 0xDB | 0xDB |
3 | 0x30 | 0x0C | 0xCF | 0xF3 |
4 | 0x19 | 0x98 | 0xE6 | 0x67 |
5 | 0x12 | 0x48 | 0xED | 0xB7 |
6 | 0x02 | 0x40 | 0xFD | 0xBF |
7 | 0x78 | 0x1E | 0x87 | 0xE1 |
8 | 0x00 | 0x00 | 0xFF | 0xFF |
9 | 0x10 | 0x08 | 0xEF | 0xF7 |
3.2 数码管的静态显示
3.2.1 原理图
3.2.2 例程分析
这段例程和GPIO实验中的总线输出操作部分的代码是一样的,唯一的区别就是29行,数组里面的数据改成了之前上面的段码,因为原理图中数码管采用了Dp接单片机最高位的连接方式,选用的是共阳极数码管,所以这个数据可以直接从表里面获取。
3.3 数码管的动态显示
3.3.1 动态显示原理
1位数码管只能显示1位数字,但是如果需要显示多位数字就需要多个数码管同时工作,这也是数码管的缺点,那就是显示的数字越多,数码管就越多,占用的端口也就越多,那么,弥补这种缺点的方法就是数码管的动态显示,所谓动态显示,就是依次向每位数码管送出字形码的同时控制公共端的电平,每一位数码管之间利用延时程序进行延时,当延时程序非常短时,由于发光管的余辉和人眼视觉暂留作用,此时我们的人眼就分辨不出位与位之间有延时存在,此时就感觉各位数码管同时都在显示。
所谓视觉暂留现象即视觉暂停现象(Persistenceofvision,Visualstayingphenomenon,durationofvision)又称“余晖效应”,1824年由英国伦敦大学教授皮特‘马克’罗葛特在他的研究报告《移动物体的视觉暂留现象》中最先提出:人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。
下图所示是一个2位的数码管结构。
3.3.2 原理图
3.3.3 例程分析
第28行:建立一个一维数组存储数码管的段码,由于原理图中的数码管是共阳极数码管,且DP接P0最高位,根据表中的数据可以计算出数码管的段码
第29行:数码管控制端口,由于两个数码管的公共端接在了P2.0和P2.1,所以先给P2.0加高电平,P2.1加低电平,将段码显示在第一个数码管,经过一段时间后,将P2.0加低电平,P2.1加高电平,更新段码显示在第2个数码管上
第32行:P2先控制数码管的公共端,选中第1个数码管
第33行:P0送入段码,显示在第1个数码管上
第34行:延时等待一段时间,达到视觉暂留的目的
第36行:P2再控制数码管的公共端,选中第2个数码管
第37行:P0送入段码,显示在第2个数码管上
第38行:延时等待一段时间,达到视觉暂留的目的
全部0条评论
快来发表一下你的评论吧 !