1、【技术分享】数码管显示常见问题总结2015-03-30 吴鉴鹰(原创)1、数码管显示原理我们最常用的是七段式和八段式 LED 数码管,八段比七段多了一个小数点,其他的基本相同。所谓的八段就是指数码管里有八个小 LED 发光二极管,通过控制不同的 LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个 LED 的阴极连在一起,让其接地,这样给任何一个 LED 的另一端高电平,它便能点亮。而共阳极就是将八个 LED 的阳极连在一起。其原理图如下。其中引脚图的两个 COM 端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正 5 伏电源。一个八段数码管称为
2、一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即 a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的 8 段,对应一个字节的 8 位,a 对应最低位,dp 对应最高位。所以如果想让数码管显示数字 0,那么共阴数码管的字符编码为 00111111,即 0x3f;共阳数码管的字符编码为 11000000,即 0xc0。可以看出两个编码的各位正好相反。如下图。二、数码管出现暗红现象现象描述:单片机穿行口的范式 0 为同步移位寄存器方式,外接一个串入并出的移位寄存器,可以扩展为一个并行口。但
3、是发现数码管显示数据的时候,出现暗红现象。电路连接图原因:数据在串行输出期间,输出允许控制端没有关闭,从而导致串口输出端不稳定产生暗红现象。三、数码管闪烁1: 动态扫描驱动的时候,时间调整的不对,时间太短,就会闪烁,时间太长,就会出玩不应该亮的位微亮,所以,这是调整延时时间的事2:有可能是程序要求这样闪烁吧,别说不可能,有时候在某些系统中,还故意设有这种功能。3:即使用专用芯片,只要是扫描式的驱动,他也会闪烁,只是我们看起来不太明显。4:如果从程序中讲的话,即使扫描时间合理,也有可能会因为程序的不合理性而出现闪动,这种情况一般为两种失误:a 中断时间影响了扫描周期的时间,即中断时间长于扫描周期
4、,就会出现闪烁 b 闪烁的常用数据内存被快速更改后又改过来,属于寄存器的重复使用,这两种情况我都碰到过。四、数码管亮度不一致现象:动态显示一连几个数码管,有的亮有的暗原因:1、用单片机 IO 口驱动三极管从而去驱动数码管,三家管基极电阻选取不正常,三极管导通程度不一样,对于显示不同值时所需电流不同,当显示所需电流小的数字,显示比较亮,显示所需电流大的数字,三家管导通不彻底,从而每一个 LED 上的电路偏小从而偏暗。比如:每一个 LED 所需电流 100mA,但是在三家管最大限度导通最大电流只能有500mA,则在数字 5 以下显示明亮,在 5 以上显示较暗。2、动态数码管显示,两个数码管刷一次的间隔不一样,比如图中数码管 1 和数码管 2刷屏间隔时间不一样,从而亮度也不一样。