第8章LED数码显示及键盘显示接口
双联LED数码管
8
四联LED数码管
9
在使用发光二极管时,限流电阻的选择尤为重要,阻值过大或过小二极管都将不能正常发光,:
95是4位BCD码─7段十六进制锁存译码驱动器.
18
例1:4个LED组合的静态显示电路如下图所示
图8-3 LED静态显示方式
19
分析:说明4个共阴极LED静态显示3456数字的工作过程.
看图8-3,当所有COM端连接在一起并接地时,
首先由I/O口(1)送出数字3的段选码4FH,即数据01001111到左边第一个LED的段选线上,阳极接受到高电平“1”的发光管g、d、c、b、a段因为有电流流过则被点亮,则结果为左边第一个LED显示3;
接着由I/O口(2)送出数字4的段选码66H,即数据01100110到左边第二个LED的段选线上,阳极接受到高电平“1”的共阴极发光管g、f、c、b段则被点亮,则结果为左边第二个LED显示4;
同理,由I/O口(3)送出数字5的段选码6DH,即01101101到左边第三个LED的段选线上,
由I/O口(4)送出数字6的段选码7DH,即01111101到左边第四个LED的段选线上,则第三、四个LED分别显示5、6.
20
AB
CLK
h g f e d c b a
CLR*
AB
CLK
CLR*
AB
CLK
CLR*
+5V
VCC
(TxD)
(RxD)
89C51单片机
74LS164
74LS164
74LS164
h g f e d c b a
h g f e d c b a
+5V
共阳LED数码管
例2:LED数码管静态显示举例2(用到串行通信知识了)
21
要求:根据上图编写通过串行口和74LS164驱动共
阳LED数码管查表显示的子程序.
条件:系统有6个LED数码管,待显数据(00H—09H)已放在内部RAM35H—30H单元中(分别对应十万位→个位)
有几个LED就要几个74LS164串入并出的芯片,但只要数据不变,送一次就保持住了,且不闪烁,编程十分简单.
22
DSPLY: MOV DPTR, #TABLE ;共阳LED数码管译码表首址
MOV R0,#30H ;待显数据缓冲区的个位地址
REDO: MOV A, ***@R0 ;通过R0实现寄存器间接寻址
MOVC A, ***@A+DPTR ;查表
MOV SBUF, A ;经串行口发送到74LS164
JNB TI, $ ;查询送完一个字节的第8位?
CLR TI ;为下一字节发送作准备(分析,看懂)
INC R0 ;R0指向下一个数据缓冲单元
CJNE R0,#36H,REDO ;判断是否发完6个数?
RET ;发完6个数就返回
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;0-9共阳LED译码表
DB 92H, 82H, 0F8H, 80H,90H
23
回顾:串行口设定在工作方式0(SM0 SM1=00)下进行工作
串行口作为同步移位寄存器使用,数据传输波特率固定为fosc/12,串行数据由RxD()输入输出,同步移位脉冲由TxD ()输出,数据的发送和接受以8位为一帧数据,低位在前,高位在后,无起始位、奇偶位和停止位,在移位时钟的作用下,串行口发送缓冲器SBUF中的数据一位一位移入74LS164中.
24
(常用,有特色): 各数码管在显示过程中轮流得到送显信号,与各数码管接口的I/,使用的元器件较少,占I/O线少,必须扫描,花费CPU时间,编程复杂.(有多个LED时尤为突出)
例4:LED动态显示电路如下图所示:
图8-4 LED动态显示方式
25
(段控)送出某位LED的字型码,然后选通该位LED(位控),并保持一段延时时间(1ms 记忆).然后选通下一位,直到所有位扫描完.
要注意的两个问题:
.
.
(鬼影)
硬件连接:所有L
第8章LED数码显示及键盘显示接口 来自淘豆网m.daumloan.com转载请标明出处.