当前位置:文档之家› 单片机常用外围设备接口电路

单片机常用外围设备接口电路


⑶ 写数据操作格式
S SLAW A SADR A COM A data1 A data2 A data3 A data4 A P
红色部分由80C51发送,SAA1064接收; 黑色部分由SAA1064发送,80C51接收。
SLAW为写SAA1064寻址字节,
按图9-10所示连接电路:SAA1064(1)SLAW=01110000B; SAA1064(2)SLAW=01110110B。
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,要用共阳译码表。
其中0111(D7~4)为SAA1064器件地址, D3~1为A2A1A0寻址字节, 末位D0为R/W;
SADR为片内寄存器地址; COM为控制命令。
4、程序设计
【例9-7】已知8位显示符(共阴编码)已依次存入内RAM 51H~58H中,试按图910编程将其输入SAA1064(1),(2)动态显示,驱动电流为12mA。设VIIC软件包已 装入ROM,VSDA.VSCL.SLA.NUMB.MTD.MRD均已按8.3.2软件包小结中协议定义。
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 ;共阳LED译
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
LED数码管分类:
按其内部结构可分为共阴型和共阳型;
按其外形尺寸有多种形式,使用较多的 是0.5"和0.8";
按显示颜色也有多种形式,主要有红色 和绿色;
按亮度强弱可分为超亮、高亮和普亮。
正向压降一般为1.5~2V,额定电流为 10mA,最大电流为40mA。静态显示时取10mA 为宜,动态扫描显示,可加大脉冲电流,但 一般不超过40mA。
NUMB,#6
;置发送数据数:SADR+COM+data1~4=6
RO,#51H
;将51H~54H显示符数据移至32H~35H
MOVB
;
SLA,#01110000B;置SAA1064(1)写寻址字节SLAW
WRNB
;发送给SAA1064(1)
R0,#55H
;将55H~58H显示符数据移至32H~35H
h
h
h g f …… a
hgfedcba
低电平点亮
公共阴极
接地
@ 单片机系统扩展LED数码管时多用共阳LED: 共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱 动功率很小;而共阴数码管段笔画是用高电平(“0”)点亮 的,要求驱动功率较大。 @ 通常每个段笔画要串一个数百欧姆的降压电阻。
LED数码管的软件译码
MOVB
;
SLA,#01110110B;置SAA1064(2)寻址字节SLAW
WRNB
;发送给SAA1064(2)
;
R1,#32H
;显示符数据移至32H~35H子程序
A,@R0
;读出
@R1,A
;存入
RO
;指向下一读出单元
R1
;指向下一存入单元
R1,#36H,MOVB1 ;判4个数据移完否?未完继续
;
7406 OC门 X 3
+5V
(7FH) (7EH) (7DH) (7CH) (7BH) (7AH) 十万 万位 千位 百位 十位 个位
数据缓冲区 / 显示缓冲区
1、共阴型8位动态显示电路
2、共阳型3位动态显示电路
五、虚拟I2C总线串行显示电路
1、SAA1064引脚功能
① VDD、VEE:电源、接地端。电源4.5~15V; ② P1~P16:段驱动输出端。分为两个8位口: P1~P8;P9~P16。P8、P16为高位。口锁存器具有反相功 能,置1时,端口输出0。 ③ MX1 、 MX2 : 位 码 驱 动 端 。 静 态 显 示 驱 动 时 , 一 片 SAA1064可驱动二位LED数码管;动态显示驱动时,按图9-10 连接方式,一片SAA1064可驱动四位LED数码管; ④ SDA、SCL:I2C总线数据端、时钟端; ⑤ CEXT:时钟振荡器外接电容,典型值2700pF ⑥ ADR:地址引脚端。SAA1064引脚地址A1、A0采用ADR模 拟电压比较编址。当ADR引脚电平为0、3VDD/8,5VDD/8、VDD 时,相应引脚地址A2、A1、A0 分别为000、001、010、011;
2、硬件电路设计
3、片内可编程功能
⑴ 片内寄存器
符号
COM
data1
data2
装载内容 控制命令 显示段码1 显示段码2
片内地址
00H
01H
02H
⑵ 控制命令COM
COM D7
D6
D5
D4
D3
00H —Hale Waihona Puke C6C5C4
C3
data3 显示段码3
03H
data4 显示段码4
04H
D2
D1
D0
C2
C1
C0
§0 开关量驱动输出接口电路
一、驱动发光二极管
二、 驱动继电器
三、光电隔离接口
LED输出电路
§1 LED数码管显示接口
一、LED数码管
LED显示器的扩展(结构)
LED数码管的结构:①共阳与共阴
公共阳极
接高电平
hgfedcba
高电平点亮 h g f …… a
f
a g
b
f
a g
b
ed c
ed c
§2 键盘接口
一、键盘接口概述
1、按键开关去抖动问题
键盘的抖动时间一般为5~10ms,抖动现象会引起CPU 对一次键操作进行多次处理,从而可能产生错误。

阳LED数码管查表显示的子程序。
条件:系统有6个LED数码管,待显数据(00H—
D09SPHL)Y已:M放O在V 3D5PHT—R,3#0TAHB单LE元;共中阳(分LE别D数对码应管十译万码位表首→ 址个位),
MOV R0,#30H ;待显数据缓冲区的个位地址
REDO:MOV A, @R0 ;通过R0实现寄存器间接寻址
CO: 静动态控制,C0=1,动态显示,动态显示时,data1、 data2轮流从P8~P1输出,data3、data4轮流从P16~P9输出; C1: 显示位1、3亮暗选择,C1=1,选择亮; C2: 显示位2、4亮暗选择,C2=1,选择亮; C3: 测试位,C3=1,所有段亮; C4、C5、C6: 驱动电流控制位,C4、C5、C6分别为1时,驱动 电流分别为3mA、6mA、12mA;C4、C5、C6全为1时,驱动电流 最大,可达21mA。
二、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
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
三、静态显示方式及其典型应用电路
LED数码管显示分类:静态显示方式和动态显示方式。
⑴ 静态显示方式,每一位字段码分别从I/O控制口输 出,保持不变直至CPU刷新。
特点:编程较简单,但占用I/O口线多,一般适用 于显示位数较少的场合。
⑵ 动态显示方式,在某一瞬时显示一位,依次循环 扫描,轮流显示,由于人的视觉滞留效应,人们看 到的是多位同时稳定显示。
特点:占用I/O端线少,电路较简单,编程较复 杂,CPU要定时扫描刷新显示。一般适用于显示位数 较多的场合。
LED显示器的扩展(显示方式)
LED数码管的显示方式:③静态与动态
静态显示:
各数码管在显示过程中持续得到送显信号,与各数码管接口 的I/O口线是专用的。
动态显示:
各数码管在显示过程中轮流得到送显信号,与各数码管接口 的I/O口线是共用的。
LED数码管动态显示举例
工作原理:从P0口送段代码,P1口送位选信号。段码虽同时 到达 6个LED,但一次仅一个LED被选中。利用“视觉暂 留”,每送一个字符并选中相应位线,延时一会儿,再送/选 下一个……循环扫描即可。
相关主题