一、数码管简介
LED(Light Emitting Diode)是发光二极管的缩写,LED数码显示器是由若干段发光二极管构成的,当某些段的发光二极管导通时,显示对应的字符。
图3.17 数码管显示器
1.数码管的结构
LED显示器控制简单,使用方便,在单片机中应用非常普遍。LED数码显示器的外形及内部连线如图3.18所示。
图3.18 LED数码管结构图
LED数码显示器内部的发光二极管有共阴极和共阳极两种连接方法,如图3.18(b)中所示为共阴极接法。若为共阴极接法,则输入高电平使发光二极管点亮;若为共阳极接法,则输入低电平使发光二极管点亮。使用LED显示器时,要注意区分两种不同的接法。为了显示数字或符号,要为LED显示器提供代码(字形码),在两种接法中字形码是不同的。
2.编码方式
7段发光二极管再加上一个小数点位,共计8位,提供给LED显示器的字形码正好1个字节,表3.5给出了各字形码的对应关系。
表3.5 字形码的对应关系
用LED显示器显示十六进制数的字形码如表3.6所示。
表3.6 数码管字形编码表
二、LED显示器的显示方式
1.静态显示
实际使用的LED显示器通常由多位构成,对多位LED显示器的控制包括字形控制(显示什么字符)和字位控制(哪些位显示)。在静态显示方式下,每一位显示器的字形控制线是独立的,分别通过限流电阻接到一个8位I/O接口上,字位控制线连在一起,接地或+5V。
例3-4 AT89C51单片机P2口的P2.0~P2.6通过限流电阻连接到一个共阳极数码管的a~g笔段上,数码管的公共端接电源+5V,电路如图3.19所示。要求:编程实现在数码管上循环显示数字0~9,时间间隔0.5s。设fosc=12MHz。
(www.daowen.com)
图3.19 并行驱动LED数码管显示电路
控制程序如下:
由于每一位LED显示器分别由一个8位输出口控制字形码,显示器能稳定且独立显示字符,这种方式编程简单,但占用的I/O口多,适合于显示器位数少的场合。
2.动态显示
当LED显示器位数较多时,为简化电路一般采用动态显示方式。所谓动态显示是一位一位轮流点亮每位显示器,在同一时刻只有一位显示器在工作(点亮),但由于人眼的视觉暂留效应和发光二极管熄灭时的余晖,尽管实际上各个LED显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就像是所有的LED显示器同时点亮一样,很稳定,不会有闪烁感。
为了实现LED显示器的动态显示,通常将所有位的字形控制线并联在一起,由一个8位I/O接口控制,将每一位LED显示器的字位控制线(即每个显示器的阴极公共端或阳极公共端)分别由相应的I/O接口控制,实现各位的分时选通。
在使用动态显示过程中需注意的问题如下:
(1)消隐。
当数码管交替点亮速度太快,段码余晖没有完全消除,就会产生不该显示段码余晖,给数码管显示造成不好的效果。解决办法是加适当的延时。
(2)闪烁。
当数码管交替点亮速度太慢,就会产生数码管显示闪烁现象。解决办法是减小延时时间。考虑消隐和闪烁,应该加适当的延时时间,一般取5~10ms。
(3)驱动能力。
在动态显示方式下,LED显示器的工作电流较大,尤其在字位控制线上的驱动电流可达40~60mA,为了保证显示器具有足够的亮度,通常连接驱动器提高驱动能力。
例3-5 单片机外接4位数码管显示器,要求显示数字“0123”。4位数码管动态显示典型电路如图3.20所示。其中4位数码管的段码共用P2口,位码由P1.0、P1.1、P1.2、P1.3送出,采用共阳极数码管。
图3.20 四位LED数码管动态显示电路
控制程序如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。