数码管的工作原理、静态显示及动态显示

描述

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行:延时等待一段时间,达到视觉暂留的目的

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分