单片机IO扩展芯片
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序为:
……………….. RAMWR:MOV R0,#30H
思考:如果要把
MOV MOV
DPTR,#7E00H R2,#50
8155 RAM中, 从地址为7E00H
RAMW:MOV A,@R0
开始的50个数据
B
14位
定时
计数器
C
PA0~PA7 PB0~PB7
PC0~PC7
VCC(+5 V) VSS(GND)
8155的引脚封装图
8155的内部接口图
1. 8155的内部结构
• 8155各引脚的功能为: ➢ 地址/数据线AD0~AD7(8条):是低8位地址线和数据线
的共用输入总线,常和MCS-51单片机的P0口相连,用于 分时传送地址和数据; ➢ PA0~PA7、PB0~PB7:为A、B口线,用于和外设之间传 递数据; ➢ PC0~PC5为C端口线,既可与外设传送数据,也可以作为 A、B口的控制联络线; ➢ CS:片选线,低电平有效。
MOVX @DPTR,A;从ACC 向74LS244的端口写数据
一、可编程芯片8155的扩展
• 8155是一个具有RAM、I/O和计数器的通用可编程 接口电路。其具有的资源为:
➢ 256B的静态RAM; ➢ 两个可编程的8位并行I/O口PA和PB; ➢ 一个可编程的6位并行I/O口PC; ➢ 一个可编程14位减计数器TC; ➢ 8位地址锁存器。
9
7 8 13
2D 3D 4D
4Q 5Q 6Q
12 15 16
12 13 14 15
14
5D 6D
7Q 8Q
19
1 2 3
17 18
7D
4 5 6
8D
7
8
7 4LS 2 73
74LS273引脚封装图
EA/VP X1
X2
P0. 0 P0. 1 P0. 2 P0. 3 P0. 4 P0. 5 P0. 6 P0. 7
24
25 26
AD0~AD7
27
28
CE
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
29 30 31 32 33 34 35 36
ALE RD WR RESET
PC0 PC1 PC2 PC3 PC4 PC5
37 38 39 1 2 5
TIMER IN TIMER OUT
256字节 A 静态 RAM
4.3 输入/输出接口扩展
• MCS-51系列单片机内部有4个双向的8位并行I/O端 口:P0、P1、P2和P3口。
• 在实际的应用系统中,P0口分时地作为低8位地址 线和数据线,P2口作为高8位地址线。这时,P0口 和部分或全部的P2口无法再作通用I/O口。
• P3口的一些口线首先要满足第二功能的要求。这 时就需要进行单片机I/O口的扩展。 常用的I/O扩展有以下两种形式:
• 选通I/O方式:由PC口的低三位作联络线使用,其余位作 I/O线;输入联络线可以起选通数据锁存作用;中断时有中 断请求信号产生;各个联络线为:
➢ INTRA:中断请求输出标志。 ➢ BFA:PA口缓冲器/空输出信号。 ➢ STBA:数据选通输入信号。
4. 8155的定时器/计数器
• 8155片内的定时器/计数器是一个14位的减计数器。计数 器分为高6位和低8位寄存器,它的计数初值有程序预置。 它的格式为: 高字节寄存器(M2和M1是工作方式码)
❖ 当单片机从74LS244读取数据时应该为:
MOV DPTR,#7FFFH ;将74LS244的口地址送入DPTR
MOVX A,@DPTR ; 74LS244的端口读取数据到ACC
锁存器扩展输出口
• 利用74LS273进行输出口的扩展 VCC
1 CLR
31
11
2
19
CLK 1Q
2Q 5
18
3
6
4 1D 3Q 9
2. 8155的RAM和I/O口地址编码
• 8155当IO/M为0时,单片机对8155的RAM进行操作,共 256B,低八位的地址为:00H—0FFH。
• 8155当IO/M为1时,单片机对8155的I/O口进行操作。 8155内部寄存器地址分配表
低八位地址 xxxxx000B xxxxx001B xxxxx010B xxxxx011B xxxxx100B xxxxx101B
➢ 8255的状态字 状态字的内容包含8155的I/O口的工作状态标志。
1 2 3 4 5 6 7 8
P10 P11 P12 P13 P14 P15 P16 P17
P00 P01 P02 P03 P04 P05 P06 P07
39 38 37 36 35 34 33 32
13 12
INT1 INT0
➢ RESET:复位线,通常与单片机的复位端相连。 ➢ ALE:地址锁存线,高电平有效。 ➢ IO/M:RAM或I/O口的选择线。当为0时,选中8155的256 B
RAM;当为1时,选中8155片内3个I/O端口以及命令/状态寄 存器和定时/计数器。
➢ RD和WR:读/写线,控制8155的读、写操作。 ➢ TMRIN(TI):定时/计数器的脉冲输入端。 ➢ TMROUT(TO):定时/计数器的输出信号端。 ➢ VCC:电源端。 ➢ GND:接地端。
18 16 14 12
19 11 13 15 17
2G B1 B2 B3 B4
2 Y1 2 Y2 2 Y3 2 Y4
9 7 5 3
7 4LS2 44
74LS244引脚封装图
31
19
18
9
12 13 14 15
1 2 3 4 5 6 7 8
EA/VP
X1
X2
R ESET
INT0 INT1 T0 T1
P1. 0 P1. 1 P1. 2 P1. 3 P1. 4 P1. 5 P1. 6 P1. 7
• 74LS244是一种8位的三态缓冲器。当它的控制端 1G(2G)为低电平时,输出等于输入;当它的控 制端1G(2G)为高电平时,输出呈高阻态。
❖ 在上图的电路中,P2.7与RD相或后作为244的使 能信号,单片机的P0口与74LS244的8位输出端相 连,所以74LS244的地址为:7FFFH。
M2 M1 T13 T12 T11 T10 T9 T8
低字节寄存器(T0—T13为计数器的初值)
T7 T6 T5 T4 T3 T2 T1 T0
8155定时器/计数器四种操作方式和输出波形
M2 M1
方
式
波
形
00 01 10 11
单次方波 连续方波 单个脉冲 连续脉冲
5. 8155的应用
1)8155RAM的使用 例题:假定在MCS-51单片机的内部RAM中,从30H开始 存放一组数据,字节数为50,要求将该组数据存入8155 RAM中,起始地址为7E00H。
39 38 37 36 35 34 33 32
R ESET
INT0 INT1 T0 T1
P1. 0
P2. 0
P2. 1
MCS-51
P2. 2 P2. 3
P2. 4
P2. 5
P2. 6
P2. 7
21 22 23 24 25 26 27 28
P1. 1 P1. 2 P1. 3 P1. 4 P1. 5 P1. 6 P1. 7
7 4LS3 2
MCS-51与74LS273的接口电路图
•74LS273是一种8D触发器器。当它的控制端信号有效且触 发端信号有效时,输入D1-D8端的数据被锁存到8D触发器中 并形成输出Q1-Q8。 ❖在上图的电路中,P2.7与WR相或后作为74LS273的锁存 信号,单片机的P0口与74LS273的8位输出端相连,所以 74LS273的地址为:7FFFH。 ❖当单片机从74LS244输出数据是应该为: MOV DPTR,#7FFFH ;将74LS244的口地址送入DPTR
12 13 14 15 16 17 18 19
AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
8 9 10 7 11
CE RD WR IO/ M ALE
8155
6
TMR OUT
3
TMR IN
4
R ESET
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7
21
22
IO/M
23
➢ 简单I/O接口芯片的扩展 ➢ 可编程I/O接口电路的扩展
4.3.1简单I/O接口芯片的扩展
▪ 简单的I/O口扩展通常是采用TTL或CMOS电路锁存器、三
态门等作为扩展芯片(74LS244、74LS245、74LS273、 74LS373、74LS377等),通过P0口来实现扩展的一种 方案。它具有电路简单、成本低、配置灵活的特点。
P0. 0 P0. 1 P0. 2 P0. 3 P0. 4 P0. 5 P0. 6 P0. 7
P2. 0
P2. 1
MCS-51
P2. 2 P2. 3
P2. 4
P2. 5
P2. 6
P2. 7
RD WR PSEN ALE/ P TXD RXD
39 38 37 36 35 34 33 32
21 22 23 24 25 26 27 28
VCC
15 14
T1 T0
89C51
31
EA/VP
+ 1 0u
19 18
X1 X2
P20 P21 P22 P23 P24 P25 P26 P27
21 22 23 24 25 26 27 28
9
R ESET
1 0K
17 16
RD WR
RXD TXD ALE/ P PSEN
10 11 30 29
U?
12 13 14 15 16 17 18来自百度文库19
A口中断请求标志:0:无; 1:有 A口缓冲器: 0:空;1:满 A口中断允许:0:禁止; 1:允许 B口中断请求标志:0:无; 1:有 B口缓冲器:0:空; 1:满 B口中断允许:0:禁止; 1:允许
定时器中断标志: 1:有定时器溢出中断 0:读状态字后或硬件复位后
8155的I/O的工作方式
• 基本I/O方式:联络线由程序指定,对计数器输入输出不起 控制作用,没有中断能力,输出联络线由软件程序来控制 。
00
方式1:A、B口基本I/O;C口输入
11
方式2:A、B口基本I/O;C口输出
01
方式3:A口选通I/O;B口基本I/O
10
方式4:A、B口选通I/O
A口 0:禁止中断
B口 1:允许中断
计数器 方式
00:空操作 01:停止计数 10:计满后停止 11:开始计数
8155的状态字格式
-- TIMER INTEB BFB INTRB INTEA BFA INTRA
RD WR PSEN ALE/ P TXD RXD
17 16 29 30 11 10
1 11
3 4 7 8 13 14 17 18
CLR CLK
1D 2D 3D 4D 5D 6D 7D 8D
1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q
2 5 6 9 12 15 16 19
7 4F2 7 3
A 1
3 2
I/O口 命令/状态口 PA口 PB口 PC口 定时器/计数器低字节寄存器 定时器/计数器高字节寄存器
3. 8155的命令字和状态字
❖ 芯片8155 的I/O口和定时器/计数器的工作方式可以通 过对8155的命令寄存器写入控制字来实现。
❖ 8155的命令寄存器和状态寄存器使用同一个地址。
➢ 8155的命令字 命令字主要规定了8155的I/O口和定时器的工作方式。
AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
8 9 10 7 11
CE RD WR IO/ M ALE
8155
6
TMR OUT
3
TMR IN
4
R ESET
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7
21 22 23 24 25 26 27 28
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
17 16 29 30 11 10
3 5 7 9
2 Y4 2 Y3 2 Y2 2 Y1
B4 B3 B2 B1 2G
17 15 13 11 19
12 14 16 18
1 Y4 1 Y3 1 Y2 1 Y1
A4 A3 A2 A1 1G
8 6 4 2 1
7 4LS2 44
A 1
3 2
7 4LS3 2
MCS-51与74LS244的接口电路图
▪ 简单的I/O口扩展主要包括:
➢ 缓冲器扩展输入口(三态门: 74LS244、74LS245等)
➢ 锁存器扩展输出口(锁存器: 74LS273、74LS373、 74LS377等)
缓冲器扩展输入口
• 利用74LS244进行输入口的扩展
1 2 4 6 8
1G A1 A2 A3 A4
1 Y1 1 Y2 1 Y3 1 Y4
29 30 31 32 33 34 35 36
PC0 PC1 PC2 PC3 PC4 PC5
37 38 39 1 2 5
PA 口
PB 口
PC 口
GND
MCS-51单片机与8155的接口
8155的命令字格式
TM2 TM1 IEB IEA PC2 PC1 PB PA
A口方式 0:输入 B口方式 1:输出