常用接口电路
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§9-1 LED数码管显示接口
一、LED数码管
LED显示器的扩展(结构)
LED数码管的结构:①共阳与共阴
公共阳极
接高电平
hgfedcba
高电平点亮 h g f …… a
f
a g
b
f
a g
b
ed c
ຫໍສະໝຸດ Baidu
ed c
h
h
h g f …… a
hgfedcba
低电平点亮
公共阴极
接地
@ 单片机系统扩展LED数码管时多用共阳LED: 共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动 功率很小;而共阴数码管段笔画是用高电平(“0”)点亮的, 要求驱动功率较大。 @ 通常每个段笔画要串一个数百欧姆的降压电阻。
说明:SUM是16位除以16位子程序:(A、B)÷(R6、R5)=商@R0,余数(A、B)。(参阅例4-9)
⑵ 转换显示字段码子程序
CHAG: CGLP:
TAB:
MOV DPTR,#TAB
;置共阴字段码表首址
MOV R0,#30H
;置显示数据区首址
MOV A,@R0
;取显示数字
MOVC A,@A+DPTR
解:
DIR1: TAB:
MOV A,30H
;读显示数
MOV B,#100
;置除数
DIV AB
;产生百位显示数字
MOVC A,@A+DPTR ;读百位显示符
MOV DPTR,#0DFFFH ;置74377(百位)地址
MOVX @DPTR,A
;输出百位显示符
MOV A,B
;读余数
MOV B,#10
;置除数
静态显示特点:
无闪烁,用元器件多,占I/O线多,无须扫描,节省CPU时 间,编程简单。
动态显示特点:
有闪烁,用元器件少,占I/O线少,必须扫描,花费CPU时 间,编程复杂。(有多个LED时尤为突出)
1、并行扩展静态显示电路
【例9-2】按图9-3编制显示子程序,显示数(≤255)存在
内RAM 30H中。
P0.7
段 P0.6 P0.5
代 P0.4 P0.3
码 P0.2 P0.1 P0.0
7406 OC门 X 3
+5V
上拉 电阻 ×14
AT89C51
共阴 数码管
位 P1.5 P1.4
选 P1.3 P1.2
线 P1.2 P1.0
P0口送段 代码,P1 口送位选 信号。 待显数据 已经放在: 7FH— 7AH单元 (分别对应 十万位→ 个位) 使用共阳 译码表。
LED数码管分类:
按其内部结构可分为共阴型和共阳型;
按其外形尺寸有多种形式,使用较多的 是0.5"和0.8";
按显示颜色也有多种形式,主要有红色 和绿色;
按亮度强弱可分为超亮、高亮和普亮。
正向压降一般为1.5~2V,额定电流为 10mA,最大电流为40mA。静态显示时取10mA 为宜,动态扫描显示,可加大脉冲电流,但 一般不超过40mA。
解:编程如下:
DIR3: MOV P1,#11100000B ;选通个位
ORL P1,30H
;输出个位显示数
MOV P1,#11010000B ;选通十位
ORL P1,31H
;输出十位显示数
MOV P1,#10110000B ;选通百位
ORL P1,32H
;输出百位显示数
RET
;
四、动态显示方式 及其典型应用电路
P0.7
段 P0.6 P0.5
代 P0.4 P0.3
码 P0.2 P0.1 P0.0
7406 OC门 X 3
+5V
上拉 电阻 ×14
AT89C51
共阴 数码管
位 P1.5 P1.4
选 P1.3 P1.2
线 P1.2 P1.0
要求:此处为共阴数码管,P0口送段代码,P1口送位选信号。 通过查表实现动态显示。 条件:待显数据(00H—09H)已放在: 7FH—7AH单元中(分 别对应十万位~个位) 说明:由于用了反相驱动器7406,要用共阳译码表。
19H
99H
5 0 1 1 0 1 1 0 1 6DH 1 0 1 1 0 1 1 0 B6H
12H
92H
6 0 1 1 1 1 1 0 1 7DH 1 0 1 1 1 1 1 0 BEH
02H
82H
7 0 0 0 0 0 1 1 1 07H 1 1 1 0 0 0 0 0 E0H
78H
F8H
8 0 1 1 1 1 1 1 1 7FH 1 1 1 1 1 1 1 0 FEH
码表
3、BCD码输出静态显示电路
CD4511是“BCD 码→七段共阴译码 /驱动”IC; 4511是 4线-7段锁存/译码/ 驱动电路,能将 BCD码译成7段显 示符输出。图中: 4511 ABCD为0~9 二进制数输入端(A 是低位),abcdefg 为显示段码输出端, LE为输入信号锁存 控制(低电平有效), 数码管为共阴数码 管。
特点:占用I/O端线少,电路较简单,编程较复 杂,CPU要定时扫描刷新显示。一般适用于显示位数 较多的场合。
LED显示器的扩展(显示方式)
LED数码管的显示方式:③静态与动态
静态显示:
各数码管在显示过程中持续得到送显信号,与各数码管接口 的I/O口线是专用的。
动态显示:
各数码管在显示过程中轮流得到送显信号,与各数码管接口 的I/O口线是共用的。
;读相应显示字段码
MOV @R0,A
;存显示字段码
INC R0
;指向下一显示数字
CJNE R0,#35H,CGLP ;判5个显示数字转换完否?未完继续
RET
;转换完毕,结束
DB 3FH,06H,5BH,4FH,66H ;共阴字段码表
DB 6DH,7DH,07H,7FH,6FH ;
三、静态显示方式及其典型应用电路
40H
C0H
1 0 0 0 0 0 1 1 0 06H 0 1 1 0 0 0 0 0 60H
79H
F9H
2 0 1 0 1 1 0 1 1 5BH 1 1 0 1 1 0 1 0 DAH
24H
A4H
3 0 1 0 0 1 1 1 1 4FH 1 1 1 1 0 0 1 0 F2H
30H
B0H
4 0 1 1 0 0 1 1 0 66H 0 1 1 0 0 1 1 0 66H
利用4511实现静态显示与一般静态显示电路 不同,一是节省I/0端线,段码输出只需4根;二 是不需专用驱动电路,可直接输出;三是不需译 码,直接输出二进制数,编程简单;缺点是只能 显示数字,不能显示各种符号。
【例9-4】按图9-5试编制显示子程序(小数点固 定在第二位),已知显示数存在内RAM 30H~32H 中。
动态显示电路 连结形式: ① 显示各位的所有 相同字段线连在一起, 共8段,由一个8位 I/O口控制; ② 每一位的公共端 (共阳或共阴COM) 由另一个I/O口控制。
LED数码管动态显示举例
工作原理:从P0口送段代码,P1口送位选信号。段码虽同时 到达 6个LED,但一次仅一个LED被选中。利用“视觉暂 留”,每送一个字符并选中相应位线,延时一会儿,再送/选 下一个……循环扫描即可。
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 ;共阳LED译
二、LED数码管编码方式
表9-1 共阴和共阳LED数码管几种八段编码表
显示
共阴顺序小数点暗
共阴逆序小数点暗
共阳顺序 共阳顺序
数字 Dp g f e d c b a 16进制 a b c d e f g Dp 16进制 小数点亮 小数点暗
0 0 0 1 1 1 1 1 1 3FH 1 1 1 1 1 1 0 0 FCH
;置万位BCD码间址 ;置被除数 ; ;置除数10000 = 2710H ; ;除以10000,万位商存30H,余数存A、B ;置除数1000 = 03E8H ; ;指向千位商间址(31H) ;除以1000,千位商存31H,余数存A、B ;置除数100 ; ;指向百位商间址(32H) ;除以100,百位商存32H,余数存A(B=0) ;置除数10 ;除以10 ;指向十位商间址(33H) ;十位商存33H ;读个位数 ;指向个位间址(34H) ;个位存34H ;
在32H~30H内RAM中。
解:
DIR2: MOV SCON,#00H ;置串口方式0
CLR ES
;串口禁中
SETB P1.0
;“与”门开,允许TXD发移位脉冲
MOV SBUF,30H
;串行输出个位显示字段码
JNB TI,$
;等待串行发送完毕
CLR TI
;清串行中断标志
MOV SBUF,31H
;串行输出十位显示字段码
解:连续调用下列二个子程序即可。 ⑴ 分离显示数字子程序
SPRT:
MOV MOV MOV MOV MOV LCALL MOV MOV INC LCALL MOV MOV INC LCALL MOV DIV INC MOV XCH INC MOV RET
R0,#30H A,30H B,31H R6,#27H R5,#10H SUM R6,#03H R5,#0E8H R0 SUM R6,#0 R5,#100 R0 SUM B,#10 AB R0 @R0,A A,B R0 @R0,A
00H
80H
9 0 1 1 0 1 1 1 1 6FH 1 1 1 1 0 1 1 0 F6H
10H
90H
显示数转换为显示字段码的步骤:
⑴ 从显示数中分离出显示的每一位数字 方法是将显示数除以十进制的权
⑵ 将分离出的显示数字转换为显示字段码 方法是查表
【例9-1】已知显示数存在内RAM 30H(高位)、 31H中,试将其转换为5位共阴字段码(顺序), 存在以30H(高位)为首址的内RAM中。
第9章 常用外围设备接口电路
本章要点:
LED数码管及编码方式 静态显示方式及其典型应用电路 动态显示方式及其典型应用电路 虚拟I2C总线串行显示电路 键盘去抖动和连接、控制方式 独立式按键及其接口电路 矩阵式键盘及其接口电路 并行A/D ADC0809及其接口电路 串行A/D ADC0832及其接口电路 I2C串行A/D典型应用电路 DAC0832及其接口电路 I2C串行D/A典型应用电路 开关量驱动输出接口电路
条件:系统有6个LED数码管,待显数据(00H—
D09SPHL)Y已:M放O在V 3D5PHT—R,3#0THAB单LE元;共中阳(分LE别D数对码应管十译万码位表→首 址个位),
MOV R0,#30H ;待显数据缓冲区的个位地址
REDO:MOV A, @R0 ;通过R0实现寄存器间接寻址
MOVC A, @A+DPTR ;查表
;读个位显示符
MOV DPTR,#7FFFH ;置74377(个位)地址
MOVX @DPTR,A
;输出个位显示符
RET
;
DB 0C0H,0F9H,0A4H,0B0H,99H;共阳字段码表
DB 92H,82H,0F8H,80H,90H;
2、串行扩展静态显示电路
【例9-3】按图9-4编制显示子程序,显示字段码已分别存
JNB TI,$
;等待串行发送完毕
CLR TI
;清串行中断标志
MOV SBUF,32H
;串行输出百位显示字段码
JNB TI,$
;等待串行发送完毕
CLR TI
;清串行中断标志
CLR P1.0
;“与”门关,禁止TXD发移位脉冲
RET
;
要求:根据上图编写通过串行口和74LS164驱动
共
阳LED数码管查表显示的子程序。
LED数码管的软件译码
公共阳极
接高电平
hgfedcba
高电平点亮
h g f …… a
f
a g
b
f
a g
b
ed c
ed c
h
h
h g f …… a
hgfedcba
低电平点亮
公共阴极
接地
八段LED数码管段代码编码表(连线不同可有多种表):
字形 0 1 2 3 4 5 6 7 8 9 黑 共阳 0C0 0F9 0A4 0B0 99 92 82 0F8 80 90 0FF 共阴 3F 06 5B 4F 66 6D 7D 07 7F 6F 00
DIV AB
;产生十位显示数字
MOV DPTR,#TAB ;置共阳字段码表首址
MOVC A,@A+DPTR
;读十位显示符
MOV DPTR,#0BFFFH ;置74377(十位)地址
MOVX @DPTR,A
;输出十位显示符
MOV A,B
;读个位显示数字
MOV DPTR,#TAB ;置共阳字段码表首址
MOVC A,@A+DPTR
LED数码管显示分类:静态显示方式和动态显示方式。
⑴ 静态显示方式,每一位字段码分别从I/O控制口输 出,保持不变直至CPU刷新。
特点:编程较简单,但占用I/O口线多,一般适用 于显示位数较少的场合。
⑵ 动态显示方式,在某一瞬时显示一位,依次循环 扫描,轮流显示,由于人的视觉滞留效应,人们看 到的是多位同时稳定显示。