单片机系统的扩展
10.1 存储器的扩展
10.1.1 程序存储器的扩展
一、扩展总线
74LS373是有输出三态门的电平允许 8D锁存器 。 当 G
( 使能端 ) 为高电平时, 锁存器的数据输出端 Q的状态与数
据输入端 D相同 ( 透明的 ) 。 当 G端从高电平返回到低电平时
( 下降沿后 ), 输入端的数据就被锁存在锁存器中, 数据输
入端 D的变化不再影响 Q端输出 。
G Q
D
G
D
D
D
Q
Q
Q
O E
:
:
:
G Q
D
G Q
D
7
4
L
S
3
7
3
O E
G
A L E
8 0 C 3 1
D 7
:
:
D 0
Q 7
:
:
Q 0
P 2
P 0
A B
D B
二、片外 ROM操作时序
进行 ROM的扩展,其扩展方法较为简单容易,这
是由单片机的优良扩展性能决定的。单片机的地址
总线为 16位,扩展的片外 ROM的最大容量为 64KB,地
址为 0000H~ FFFFH。扩展的片外 RAM的最大容量也为
64KB,地址为 0000H~ FFFFH。
?由于 80C51采用不同的控制信号和指令, 尽管 ROM
与 RAM的地址是重叠 的,也不会发生混乱。
?80C51对 片内和片外 ROM的访问 使用相同的指令,两
者的选择是由硬件实现的。
?芯片选择现在 多采用线选法,地址译码法用的渐少。
ROM与 RAM共享数据总线和地址总线。
访问片外 ROM的时序,
S 1 S 2 S 3 S 4 S 5 S 6 S 1 S 2 S 3 S 4 S 5 S 6 S 1 S 2
输 出 P C H
输 出 P C H 输 出 P C H 输 出 P C H
P C L P C L P C L P C L P C L
第 1 个 机 器 周 期 第 2 个 机 器 周 期
A L E
P S E N
P 2 口
P 0 口 指 令
指 令
指 令
指 令
80C51系列单片机的 CPU在访问片外 ROM的一个机器周期内,
信号 ALE出现两次(正脉冲),ROM选通信号也两次有效,
这说明 在一个机器周期内,CPU两次访问片外 ROM,也即在
一个机器周期内可以处理两个字节的指令代码,所以在
80C51系列单片机指令系统中有很多单周期双字节指令。
三,ROM芯片及扩展方法
1,EPROM存储器及扩展
常用的芯片有 2732,2764,27128,27256,27512等 。
1
2
3
4
5
6
7
8
9
1 0
1 1
1 2
1 3
1 4
2 8
2 7
2 6
2 5
2 4
2 3
2 2
2 1
2 0
1 9
1 8
1 7
1 6
1 5
2 7 6 4
2 7 1 2 8
2 7 2 5 6
2 7 5 1 2
2 7 6 4
V c c
P G M
N C
A 8
A 9
A 1 1
O E
A 1 0
C E
Q 7
Q 6
Q 5
Q 4
Q 3
2 7 1 2 8
V c c
P G M
A 1 3
A 8
A 9
A 1 1
O E
A 1 0
C E
Q 7
Q 6
Q 5
Q 4
Q 3
2 7 2 5 6
V c c
A 1 4
A 1 3
A 8
A 9
A 1 1
O E
A 1 0
C E
Q 7
Q 6
Q 5
Q 4
Q 3
2 7 5 1 2
V c c
A 1 4
A 1 3
A 8
A 9
A 1 1
O E / V p p
A 1 0
C E
Q 7
Q 6
Q 5
Q 4
Q 3
2 7 6 4
V p p
A 1 2
A 7
A 6
A 4
A 4
A 3
A 2
A 1
A 0
Q 0
Q 1
Q 2
G N D
2 7 2 5 6
V p p
A 1 2
A 7
A 6
A 4
A 4
A 3
A 2
A 1
A 0
Q 0
Q 1
Q 2
G N D
2 7 1 2 8
V p p
A 1 2
A 7
A 6
A 4
A 4
A 3
A 2
A 1
A 0
Q 0
Q 1
Q 2
G N D
2 7 5 1 2
A 1 5
A 1 2
A 7
A 6
A 4
A 4
A 3
A 2
A 1
A 0
Q 0
Q 1
Q 2
G N D
EPROM存储器扩展电路:
O E
2 7 6 4 A
A 7
:
:
A 0
A 8 - A 1 2
C E
D 0 ~ D 7
7
4
L
S
3
7
3
O E
G
A L E
8 0 C 3 1
D 7
:
:
D 0
Q 7
:
:
Q 0
P S E N
E A
P 2, 0 - P 2, 4
P 0
2,EEPROM存储器及扩展
常用的 EEPROM芯片有 2864,2817等 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
2864A
Vcc
WE
NC
A8
A9
A11
OE
A10
CE
I/O7
I/O6
I/O5
I/O4
I/O3
NC
A12
A7
A6
A5
A4
A3
A2
A1
A0
I/O0
I/O1
I/O2
GND
1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
2817A
Vcc
WE
NC
A8
A9
A11
OE
A10
CE
I/O7
I/O6
I/O5
I/O4
I/O3
RDY/BUSY
A12
A7
A6
A5
A4
A3
A2
A1
A0
I/O0
I/O1
I/O2
GND
10.1.2 数据存储器的扩展
一,RAM扩展原理
扩展 RAM和扩展 ROM类似,由 P2口提供高 8位地址,P0口分时
地作为低 8位地址线和 8位双向数据总线。 外部 RAM读时序为,S 1 S 2 S 3 S 4 S 5 S 6 S 1 S 2 S 3 S 4 S 5 S 6 S 1 S 2
输 出 P C H
输 出 D P H
P C L
D P L
第 1 个 机 器 周 期 第 2 个 机 器 周 期
A L E
P S E N
P 2 口
P 0 口
指 令 数 据 入
输 出 P C H
P C L
指 令
R D
外部 RAM写 时序为:
S 1 S 2 S 3 S 4 S 5 S 6 S 1 S 2 S 3 S 4 S 5 S 6 S 1 S 2
输 出 P C H
输 出 D P H
P C L
D P L
第 1 个 机 器 周 期 第 2 个 机 器 周 期
A L E
P S E N
P 2 口
P 0 口
指 令 数 据 出
输 出 P C H
P C L
指 令
W R
二,RAM扩展方法
1、数据存储器
常用的数据存储器 SRAM芯片有 6116﹑ 6264﹑ 62256等。
1
2
3
4
5
6
7
8
9
1 0
1 1
1 2
1 3
1 4
2 8
2 7
2 6
2 5
2 4
2 3
2 2
2 1
2 0
1 9
1 8
1 7
1 6
1 5
6 2 6 4
V c c
W E
C S
A 8
A 9
A 1 1
O E
A 1 0
C E
D 7
D 6
D 5
D 4
D 3
N C
A 1 2
A 7
A 6
A 4
A 4
A 3
A 2
A 1
A 0
D 0
D 1
D 2
G N D
N C
A 1 2
A 7
A 6
A 4
A 4
A 3
A 2
A 1
A 0
D 0
D 1
D 2
G N D
A 1 4
A 1 2
A 7
A 6
A 4
A 4
A 3
A 2
A 1
A 0
D 0
D 1
D 2
G N D
V c c
W E
A 1 3
A 8
A 9
A 1 1
O E
A 1 0
C E
D 7
D 6
D 5
D 4
D 3
V c c
W E
A 1 3
A 8
A 9
A 1 1
O E / R F S H
A 1 0
C E
D 7
D 6
D 5
D 4
D 3
6 2 2 5 6 6 2 1 2 8 6 2 6 4 6 2 6 6 6 2 1 2 8 6 2 2 5 6
1
2
3
4
5
6
7
8
9
1 0
1 1
1 2
2 4
2 3
2 2
2 1
2 0
1 9
1 8
1 7
1 6
1 5
1 4
1 3
6 1 1 6
6 2 1 2 8
6 2 2 5 6
A 7
A 6
A 4
A 4
A 3
A 2
A 1
A 0
D 0
D 1
D 2
G N D
V c c
A 8
A 9
W E
O E
A 1 0
C E
D 7
D 6
D 5
D 4
D 3
6 1 1 6
2、数据存储器扩展电路
O E
6 2 6 4
A 7
:
:
A 0
A 8 - A 1 2
D 0 ~ D 7
7
4
L
S
3
7
3
O E
G
A L E
8 0 C 3 1
D 7
:
:
D 0
Q 7
:
:
Q 0
R D
E A
P 2, 0 - P 2, 4
P 0
C S
+ 5 V
W E
W R
P 2, 7
C E
10.2 输入 /输出及其控制方式
?原始数据或现场信息要利用输入设备输入到单片机
中,单片机对输入的数据进行处理加工后,还要输
出给输出设备。 常用的输入设备 有键盘、开关及各
种传感器等,常用的输出设备有 LED(或 LCD)显
示器、微型打印机及各种执行机构等。
? 80C51单片机内部有四个并行口和一个串行口,
对于简单的 I/O设备可以直接连接。当系统较为复杂
时,往往要借助 I/O接口电路 (简称 I/O接口)完成
单片机与 I/O设备的连接。现在,许多 I/O接口已经
系列化、标准化,并具有可编程功能。
单片机与 I/O设备的关系:
10.2.1 输入 /输出接口的功能
7
4
L
S
3
7
3
O E
G
A L E
8 0 C 5 1
D 7
:
:
D 0
Q 7
:
:
Q 0
P 2
P 0
I N T X
R D,W R
2
2
数 据 端 口
状 态 端 口
控 制 端 口
I / O 接 口
I / O 设 备
控 制 信 号
状 态 信 号
数 据
I/O接口的功能是:
2、对输入设备的三态缓冲
外设传送数据时要占用总线,不传送数据时必须
对总线呈高阻状态。利用 I/O接口的三态缓冲功能,
可以 实现 I/O设备与数据总线的隔离,便于其它设备
的总线挂接。
1、对单片机输出的数据锁存
锁存数据线上瞬间出现的数据,以解决单片机与
I/O设备的速度协调问题。
3、信号转换
信号类型(数字与模拟、电流与电压)、信号电
平(高与低、正与负)、信号格式(并行与串行)等
的转换。
4、时序协调
不同的 I/O设备定时与控制逻辑是不同的,并与
CPU的时序往往是不一致的,这就需要 I/O接口进行
时序的协调。
一、无条件传送
适用于对 简单的 I/O设备 (如开关,LED显示器、
继电器等)的操作,或者 I/O设备的定时固定或已
知的场合。
10.2.2 单片机与 I/O设备的数据传送方式
二、查询状态传送
效率低 。
三、中断传送方式
效率大大提高 。
四、直接存储器存取( DMA)方式
适于 高速外设以及成组交换数据 的场合 。
10.3 并行接口的 简单 扩展A L E
8 0 C 3 1
R D
P 0
W R
P 2, 7
7
4
L
S
2
7
3
≥ 1
C P
Q 1
Q 2
Q 3
Q 4
Q 5
Q 6
Q 7
Q 8
C L R
D 1
D 2
D 3
D 4
D 5
D 6
D 7
D 8
≥ 1
7
4
L
S
2
4
4
1 G
1 A 1
1 A 2
1 A 3
1 A 4
2 A 1
2 A 2
2 A 3
2 A 4
2 G
1 Y 1
1 Y 2
1 Y 3
1 Y 4
2 Y 1
2 Y 2
2 Y 3
2 Y 4
+ 5 V