今天有师弟问我数码管的问题,我想起我刚学单片机的时候,好像也在数码管的地方迷糊了一段时间,就简单写写数码管的原理。
首先,什么是数码管?
百度百科解答:数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。玻璃管中包括一个金属丝网制成的阳极和多个阴极。大部分数码管阴极的形状为数字。管中…
看了估计白看,简言之,数码管是一种半导体发光器件,基本单元就是发光二极管,如果不明白发光二极管的话,请学习模电基础。
多个发光二极管,摆放成数字的位置,成为一个基本的数码管单元。
一些基本概念如下:
下面详细解释一下共阴共阳:
首先阳极表示高电平,阴级表示低电平。
共阳数码管表示将数码管中所有的发光二极管的阳极接到一起,形成的数码管。共阳数码管在使用时,将公共阳极接到+5V时,其余的,对应片段的阴极引脚接在低电平(GND)时,对应的片段就会亮。阴极引脚接高电平时,相应片段不亮。
共阴则正好相反,将所有发光二极管的阴极接到一起形成公共阴极,共阴数码管在使用时,将公共极阴极接到地线(GND)上,当某一片段发光二极管的阳极为高电平时,对应的片段就被点亮。阳极为低电平时,相应片段就不亮。
单位数码管(数字只有 1 位)有十个管脚,其中有 8 根,分别对应 a,b,c,d,e,f,g,dp,共 8 个发光二极管。剩余两个引脚 3 和 8 为公共脚。共阳数码管,需要公共脚接在+5V 上,共阴数码管接在 GND 上。
引脚图如下:
实物图如下:
因为是单位数码管,所以不存在位选这个操作,位选,顾名思义是选择位数。单位数码管只有段选。
假定图示为共阴数码管,我们就需要给 COM 接 GND,其余位置,对应字母的引脚接+5V 可以点亮对应的字段(应该很好理解了)
图示为共阳数码管结构图,可见,“12,9,8,6”,四个引脚,分别控制一个单位数码管。其余引脚对应每个数码管的 8 个字段。
比如我想让第三个数码管的点亮起来。那就 8 脚+5V,3 脚 GND 即可。
所以段选位选,一目了然。
静态驱动也称为直流驱动,静态驱动是指每个数码管的每一个段码都由一个单片机的 I/O 端口进行驱动,或者使用如 BCD 码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用 I/O 端口多,如驱动 5 个数码管静态显示则需要 5×8=40 根 I/O 端口来驱动,一个 51 单片机肯定是不够用的,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8 个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立的 I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为 1 ~ 2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O 端口,而且功耗更低。
如示例中的 4 位数码管就是采用动态显示方式。
一般来说静态驱动的亮度要高于动态驱动的亮度,但不影响使用。实际使用中为了达到更好的效果,会配合锁存器如 74HC573 一起使用,可以记忆先前状态数据直到有新数据覆盖。对做 51 单片机应用开发来说,相对 LCD 液晶,液晶模块编程更方便,样式更多样,但是其缺点亮度不够。这也恰恰是数码管的优势,如果做简单的计数显示,数码管是最好选择。
数码管的基本组成是发光二极管,因此其可以通过的电流只有几毫安,接 5V 直流电源做测试的时候一定要串上一个几十千欧姆大小的电阻。否则,很容易烧掉,此外用万用表的测电阻档就可将其点亮,足以说明其电流之小。
https://baike.baidu.com/item/数码管/9903965?fr=aladdin
https://blog.csdn.net/childbor/article/details/82856941
如果您喜欢我的文章,拜托点赞+收藏+关注,博主会根据大家喜好来推出相关系列文章~
更多精彩内容也可以访问我的博客Aelous-BLog