LED数码管的显示与驱动
上图中的a~g七个笔划〔段〕及小数点dp均为发光二极管。数码管显示器根据公共端的连接方式,可以分为共阴极数码管〔将所有发光二极管的阴极连在一起〕和共阳极数码管〔将所有发光二极管的阳极连在一起〕。
单片机系统扩展LED数码管时多用共阳LED。共阳数码管每个段笔画是用低电平(“0〞)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平(“0〞)点亮的,要求驱动功率较大。通常每个段笔画要串一个数百欧姆的降压电阻。
2.LED点阵模块显示器
LED点阵模块显示器是指由发光二极管排成一个m×n的点阵,每个发光二极管构成点阵中的一个点。这种显示器显示的字形逼真,能显示的字符比较多,但控制比较复杂。适用于显示汉字、图形和表格,广泛应用于公共场合的信息发布。
七段LED字形码如下表所示。
3. LED的驱动接口
LED工作时需要一定的工作电流,才能正常发光。~,流过LED的电流大小决定了它的发光强度,R为限流电阻。适当减小限流电阻可以增加LED的工作电流,使LED的显示效果更好。但工作电流过大,会对驱动器件、LED造成损害。通常每个段笔画要串一个数百欧姆的降压电阻。以以下图为单个LED的驱动接口电路。
4.LED数码管的显示与驱动
LED数码管显示器的工作方式:静态和动态两种显示方式。
〔1〕静态显示方式
静态显示方式的各数码管在显示过程中持续得到送显信号,与各数码管接口的I/O口线是专用的。其特点是显示稳定,无闪烁,用元器件多,占I/O线多,无须扫描。系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,节省CPU时间,进步CPU的工作效率,编程简单。
[例题] 利用在8051串行口扩展多片串行输入并行输出的移位存放器74LS164作为静态显示器接口的方法,设计3位静态显示器接口,并写出显示更新子程序,实现将7FH~7DH 3个单元的数值分别显示在3位LED2~LED0上。
解:接口电路如图以以下图所示。3个共阳极数码管的公共端均接Vcc,段码通过串行口,采用串—并转换原理,分别送出3个数码管的段码〔先送出的段码字节在LED2数码管上显示〕,图中的电阻值取100~500。
程序如下:
ORG 1000H
DISPSER: MOV R5, #03H ; 显示3个字符
MOV R1, #7FH ; 7FH~7DH存放要显示的数据
DL0: MOV A, ***@R1 ; 取出要显示的数据
MOV DPTR, #STAB ; 指向段数据表
MOVC A, ***@A+DPTR ; 查表取字形数据
MOV SBUF, A ; 送出数据,进展显示
JNB T1, $ ; 输出完否?
CLR T1 ; 输出完,清中断标志
DEC R1 ; 再取下一个数据
DJNZ R5, DL0 ; 循环3次
RET ; 返回
STAB: DB 0C0H, 0F9H, 0A4H, 0B0H; 段数据表〔共阳极〕
DB · ……
……
END
〔2〕动态显示方式
动态显示方式是指一位一位地轮流点亮每位显示器,与各数码管接口的I/O口线是共用的。其特点是有闪烁,用元器件少,占I/O线少,必须扫描,花费CPU时间,编程复杂。
[例题]设计89S51通过74LS273扩展6位七段共阳极LED显示器。
解:接口电路如下页图所示。在程序中通过P0口将相应的字形码写入74LS273,~, P0口的端口地址为00FFH。进展扫描时,P2的低6位依次置1,依次选中了从左至右的显示器。使用74LS04作为段码输出驱动〔反相驱动〕,所以共阴极数码管在段数据表中的字形码应与共阳极数码管的字形码一样。显示器就可以显示出6位字符。
说明:1、单片机WR引脚要与273的CLK连接
2、273的CLR引脚要与VCC连接
3、DPTR值不一定是7FFFh,用FFH可消除闪烁
led数码管的显示与驱动 来自淘豆网m.daumloan.com转载请标明出处.