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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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软件包小结中协议定义。
LED数码管的软件译码
公共阳极
接高电平
h g f e d c b a
高电平点亮 h g f …… a
f e
a g d
b c h
h g f …… a 低电平点亮
f e
a g d
b c h
接地
h g f e d c b a
公共阴极
八段LED数码管段代码编码表(连线不同可有多种表):
字形 共阳 共阴 0 0C0 3F 1 0F9 06 2 0A4 5B 3 0B0 4F 4 99 66 5 92 6D 6 82 7D 7 0F8 07 8 80 7F 9 90 6F 黑 0FF 00
§0
开关量驱动输出接口电路
一、驱动发光二极管
二、 驱动继电器
三、光电隔离接口
LED输出电路
§1 LED数码管显示接口
一、LED数码管
LED显示器的扩展(结构)
LED数码管的结构:①共阳与共阴
公共阳极 接高电平
h g f e d c b a
高电平点亮 h g f …… a
f e
a g d
b
c h
h g f …… a 低电平点亮
f e
a g d
b
c h
接地
h g f e d c b a
公共阴极
@ 单片机系统扩展LED数码管时多用共阳LED: 共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱 动功率很小;而共阴数码管段笔画是用高电平(“0”)点亮 的,要求驱动功率较大。 @ 通常每个段笔画要串一个数百欧姆的降压电阻。
P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
7406 OC门 X 3
+5V 上拉 电阻 ×14
Leabharlann BaiduAT89C51
共阴 数码管
位 选 线
P1.5 P1.4 P1.3 P1.2 P1.2 P1.0
P0口送段 代码,P1 口送位选 信号。 待显数据 已经放在: 7FH—7AH 单元(分别 对应十万 位→个位) 使用共阳 译码表。
2、硬件电路设计
3、片内可编程功能
⑴ 片内寄存器
符号 装载内容 片内地址 COM 00H D7 — COM 控制命令 00H D6 C6 data1 显示段码1 01H D5 C5 D4 C4 data2 显示段码2 02H D3 C3 data3 显示段码3 03H D2 C2 D1 C1 data4 显示段码4 04H D0 C0
5
6 7 8
0 1 1 0 1 1 0 1
0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1
6DH
7DH 07H 7FH
1 0 1 1 0 1 1 0
1 0 1 1 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0
B6H
BEH E0H FEH
解: VSAA: MOV
MOV MOV SAA1: MOV LCALL MOV LCALL SAA2: MOV LCALL MOV LCALL RET MOVB: MOV MOVB1:MOV MOV INC INC CJNE RET
MTD,#00H ; 置SAA1064控制命令寄存器COM片内子地址 31H,#01000111B;置控制命令字,动态显示,驱动电流12mA 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 MOVB ; SLA,#01110110B;置SAA1064(2)寻址字节SLAW WRNB ;发送给SAA1064(2) ; R1,#32H ; 显示符数据移至32H~35H子程序 A,@R0 ; 读出 @R1,A ;存入 RO ;指向下一读出单元 R1 ;指向下一存入单元 R1,#36H,MOVB1 ;判4个数据移完否?未完继续 ;
二、LED数码管编码方式
表9-1 共阴和共阳LED数码管几种八段编码表
共阴逆序小数点暗 a b c d e f g Dp 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 共阳顺序 16进制 小数点亮 FCH 60H DAH F2H 66H 40H 79H 24H 30H 19H 共阳顺序 小数点暗 C0H F9H A4H B0H 99H 显示 共阴顺序小数点暗 数字 Dp g f e d c b a 16进制 0 1 2 3 4 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 3FH 06H 5BH 4FH 66H
动态显示特点:
有闪烁,用元器件少,占I/O线少,必须扫描,花费CPU时间, 编程复杂。(有多个LED时尤为突出)
1、并行扩展静态显示电路
2、串行扩展静态显示电路
要求:根据上图编写通过串行口和74LS164驱动共 阳LED数码管查表显示的子程序。 条件:系统有6个LED数码管,待显数据(00H—09H) 已放在35H—30H单元中(分别对应十万位→个位),
LED数码管分类:
按其内部结构可分为共阴型和共阳型;
按其外形尺寸有多种形式,使用较多的 是0.5"和0.8";
按显示颜色也有多种形式,主要有红色 和绿色; 按亮度强弱可分为超亮、高亮和普亮。
正向压降一般为1.5~2V,额定电流为 10mA,最大电流为40mA。静态显示时取10mA 为宜,动态扫描显示,可加大脉冲电流,但 一般不超过40mA。
LED数码管动态显示举例
工作原理:从P0口送段代码,P1口送位选信号。段码虽同时 到达 6个LED,但一次仅一个LED被选中。利用“视觉暂 留”,每送一个字符并选中相应位线,延时一会儿,再送/ 选下一个……循环扫描即可。
段 代 码
P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
12H
02H 78H 00H
92H
82H F8H 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中。
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;
利用4511实现静态显示与一般静态显示电路
不同,一是节省I/0端线,段码输出只需4根;二
是不需专用驱动电路,可直接输出;三是不需译 码,直接输出二进制数,编程简单;缺点是只能 显示数字,不能显示各种符号。
四、动态显示方式 及其典型应用电路
动态显示电路 连结形式: ① 显示各位的所有 相同字段线连在一起, 共8段,由一个8位 I/O口控制; ② 每一位的公共端 (共阳或共阴COM) 由另一个I/O口控制。
⑶ 写数据操作格式
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。 其中0111(D7~4)为SAA1064器件地址, D3~1为A2A1A0寻址字节, 末位D0为R/W;
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 ;共阳LED译码表 DB 92H, 82H, 0F8H, 80H,90H
LED显示器的扩展(显示方式)
LED数码管的显示方式:③静态与动态
静态显示:
各数码管在显示过程中持续得到送显信号,与各数码管接口 的I/O口线是专用的。
动态显示:
各数码管在显示过程中轮流得到送显信号,与各数码管接口 的I/O口线是共用的。
静态显示特点:
无闪烁,用元器件多,占I/O线多,无须扫描,节省CPU时间, 编程简单。
⑵ 控制命令COM
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数码管显示分类:静态显示方式和动态显示方式。
⑴ 静态显示方式,每一位字段码分别从I/O控制口输 出,保持不变直至CPU刷新。
特点:编程较简单,但占用I/O口线多,一般适用 于显示位数较少的场合。 ⑵ 动态显示方式,在某一瞬时显示一位,依次循环 扫描,轮流显示,由于人的视觉滞留效应,人们看 到的是多位同时稳定显示。 特点:占用I/O端线少,电路较简单,编程较复 杂,CPU要定时扫描刷新显示。一般适用于显示位数 较多的场合。
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,要用共阳译码表。 段 代 码
3、BCD码输出静态显示电路
CD4511是“BCD码 →七段共阴译码/ 驱动”IC; 4511是 4线-7段锁存/译码/ 驱动电路,能将 BCD码译成7段显 示符输出。图中: 4511 ABCD为0~9 二进制数输入端(A 是低位),abcdefg 为显示段码输出端, LE为输入信号锁存 控制(低电平有效), 数码管为共阴数码 管。
相关文档
最新文档