首页 理论教育 数码管的静态与动态显示

数码管的静态与动态显示

时间:2026-01-23 理论教育 小谭同学 版权反馈
【摘要】:LED数码管显示的数字和字符与字形码的对应关系见表3.9。多位LED数码管的显示控制包括字段控制和字位控制。LED数码管的显示控制有静态显示和动态显示两种方法。图3.7所示为4位LED数码管的静态显示,共需要4个8位并行口。图3.84位LED数码管动态显示动态显示的方法具有以下特点:占用端口少,节省硬件资源。任意时刻只有1位LED数码管处于点亮状态,与静态显示相比,功耗大大降低,且不随着显示位数的增加而增加。

1.LED数码管结构

LED七段数码管是单片机系统中最常用的输出显示设备。LED数码管由7个长型发光二极管组成,将这七段数码管排成一个“8”字形,通过控制不同发光二极管导通,可以显示数字、某些字母及其他符号。另外,LED数码管还有一个圆点型发光二极管,用于显示小数点。

LED数码管根据公共引脚与电源和地的连接方式,可分为共阴型和共阳型两种。共阴型数码管中,各段发光二极管的阴极连接在一起作为公共端,为高电平驱动;共阳型数码管中,各段发光二极管的阳极连接在一起作为公共端,为低电平驱动。单个数码管外观和共阴极结构如图3.6(a)、(b)所示,其中3脚和8脚为公共端,其外形引脚及结构如图3.6(c)所示。

图3.6 LED数码管外形引脚及结构图

(a)外形及引脚;(b)共阴极结构;(c)共阳极结构

LED数码管中各段发光二极管的伏安特性与普通二极管相类似,一般正向压降为1.5~2 V,额定电流为10~30 mA,最大电流一般不超过40 mA。

一个LED数码管包括小数点在内共8段,因此LED数码管的字形代码为8位,每1位对应一段,而同一个数字或符号的共阴极字形码和共阳极字形码是按位取反的关系。各代码对应关系见表3.8。LED数码管显示的数字和字符与字形码的对应关系见表3.9。数字的二进制代码,与显示的字形代码并不一致。例如,用共阴极LED数码管显示数字“2”,则a、b、g、e、d段亮,f、c、dp段不亮,则对应的二进制字形代码为“01011011”,或十六进制字形代码为“5BH”。而数字“2”对应的8位二进制代码为“00000010”,或十六进制代码为“02H”。因此,在显示时需把待显示的数字转换成相应的段选码,这个过程叫译码。译码有硬件译码和软件译码两种方法。硬件译码常用74LS48、74LS49、74LS164等集成译码电路实现。软件译码常用指令MOVC A,@A+DPTR以查表法实现。

表3.8 LED数码管代码位与显示字段

表3.9 LED数码管十六进制段选码

2.LED数码管静态显示

实际应用中的LED数码管通常是多位的。多位LED数码管的显示控制包括字段控制和字位控制。字段控制用于控制显示什么字符,而字位控制则用于控制某一位或者某几位显示。LED数码管的显示控制有静态显示和动态显示两种方法。

静态显示,就是当数码管显示某一字符时,该位的各段选线和位选线的电平保持不变,即对应发光二极管保持导通或者截止的状态。静态显示方式下,通常是将各位LED数码管的位选线(共阴极或共阳极)连接在一起,接地或者接+5 V电源;其段选线(dp~a)分别接到一个8位的控制端口。图3.7所示为4位LED数码管的静态显示,共需要4个8位并行口。

图3.7 4位LED数码管的静态显示

静态显示的方法具有以下特点:

(1)显示稳定,不易闪烁。在发光二极管导通电流一定的情况下,显示亮度高。(https://www.xing528.com)

(2)编程简单。仅仅在显示内容改变时,需要执行对应子程序更新显示内容,因此可以大大节省CPU的时间,提高系统效率。

(3)占用的I/O口太多。每增加1位LED数码管,就要增加8位控制端口,位数多时,控制端口不够时还需要进行端口扩展,硬件资源消耗过大。

(4)功耗大。同一时刻,所有位上显示字段的发光二极管一直处于导通状态。

由此可知,静态显示的方法仅适用于显示位数较少的情况。

3.LED数码管动态显示

动态显示就是多位LED数码管共享段选线,依次输出段选码,同时依次在LED数码管的公共端送入有效电平,逐位进行扫描。这样,所有的LED数码管会按顺序逐个点亮。虽然对于某一位LED数码管来说,每隔一段时间点亮一次,其余时间处于熄灭状态,但是人眼能分辨时间间隔一般不高于0.1 s,利用人眼的视觉残留效应,只要扫描频率足够快,将扫描周期控制在视觉停顿时间内,则可以达到不闪烁的效果,使所有数码管看起来似乎是同时点亮的。另外,显示的效果与发光二极管的导通电流有关,也与点亮的持续时间和间隔时间的比值有关,合理选择参数,就可以得到亮度高、稳定性好的显示效果。4位LED数码管动态显示如图3.8所示。

图3.8 4位LED数码管动态显示

动态显示的方法具有以下特点:

(1)占用端口少,节省硬件资源。在显示位数不超过8位的情况下,最多只需要2个8位并行I/O口进行控制。

(2)功耗低。任意时刻只有1位LED数码管处于点亮状态,与静态显示相比,功耗大大降低,且不随着显示位数的增加而增加。

(3)控制过程较复杂,降低了CPU工作效率。为了保证显示正常,CPU必须每隔一段时间进行扫描显示,占用了大量CPU时间。另外,如果程序其他部分做出修改增加延时,会影响动态显示的效果,需要重新调整动态扫描参数。

(4)显示亮度较静态显示低。在发光二极管导通电流一定的情况下,显示的效果由扫描频率决定,扫描频率太低,会造成闪烁,而扫描频率过高,又会导致亮度不够。

实际应用中,在显示位数多,硬件控制端口资源紧张的情况下,多选择动态显示的方法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈