四川工程职业技术学院
单片机应用技术课程电子教案
Copyright ? Http://mcu.scetc.net
第 讲 4
8051及 P89V51RD2单片机数据存储器
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
本讲主要内容
4-1,51单片机内部 RAM结构
4-2,51单片机的数据存储器管理
4-3,增强型 51单片机 P89V51RD2的内部 RAM
4-4,51单片机的 RAM扩展
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-1,51系列单片机的 RAM结构
? 51系列单片机 RAM结构图
片外扩展
RAM
低 128字节
RAM
内部扩展
RAM
高 128字节
RAM
特殊功能
寄存器区
00H
7FH
80H
FFH
片内 片外
?在上图中,单片机内部低 128字节 RAM和特殊功能寄存器区是每种 51单片机
都具备的,高 128字节 RAM和内部扩展 RAM只是部分增强型单片机才具有。
?大多数单片机应用系统都需要片外扩展 RAM,但不绝对。
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-2,51单片机的数据存储器管理
? 51系列单片机的数据存储器管理
? 51系列单片机对数据存储器 RAM的管理是通过 16bit的特殊功能寄存
器 DPTR(Data Pointer)来实现,每个 RAM单元 (byte)也对应一个特定
的地址编码 (Address),因此,51系列单片机的地址的编码范围 (通常
称为寻址范围 ),
0000 0000 0000 0000B ~ 1111 1111 1111 1111B(二进制)
0 0 0 0 H ~ F F F F H(十六进制)
0 ~ 65535 (十进制)
因此 51系列单片机的 RAM寻址范围也是 64K
? 51系列单片机 ROM和 RAM 的地址编码范围都是 0000H~ FFFFH,
但由于在寻址时硬件电路上有区别,所以不会混淆。
? 51系列单片机中,单片机外接的接口芯片如 A/D,D/A等都有互不相
同的地址,这些地址都是占用单片机外部 RAM 的地址编号。
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-2,51单片机的数据存储器管理
? 51系列单片机的数据存储器管理
? 目前的 51系列单片机视型号不同内部有 128-1024byte不等的 RAM空间。
用户最好选择合适的单片机型号,避免外扩 RAM存储器。
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-2,51单片机的数据存储器管理
? 标准 51系列单片机的内部 RAM
? 所有 51单片机内部都含有低 128B字节 RAM和特殊功能寄存器区。
低 128字节
RAM
内部扩展
RAM
高 128字节
RAM
特殊功能
寄存器区
00H
7FH
80H
FFH
低 字节
特殊功能
低 字节
RAM 32字节
工作寄存器区
16字节
位寻址区
00H
2FH
7FH
80字节
用户区
1FH
20H
30H
低 128字节
RAM
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-2,51单片机的数据存储器管理
? 标准 51系列单片机的内部 RAM—— 低 128B
? 低端 32个字节分成 4个工作寄存器组,每组 8个单元
( R0~ R7)。当前工作寄存器组的机制便于快速现
场保护。
? 特殊功能寄存器 PSW的 RS1,RS0两位决定当前工
作寄存器组号。
32字节
工作寄存器区
16字节
位寻址区
00H
2FH
7FH
80字节
用户区
1FH
20H
30H
0组 00H
10H
08H
18H
1组
2组
3组
1FH
32字节
工作寄存器区
组号 RS1 RS0 R7 R6 R5 R4 R3 R2 R1 R0
0 0 0 07H 06H 05H 04H 03H 02H 01H 00H
1 0 1 0FH 0EH 0DH 0CH 0BH 0AH 09H 08H
2 1 0 17H 16H 15H 14H 13H 12H 11H 10H
3 1 1 1FH 1EH 1DH 1CH 1BH 1AH 19H 18H
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-2,51单片机的数据存储器管理
? 标准 51系列单片机的内部 RAM —— 低 128B
32字节
工作寄存器区
16字节
位寻址区
00H
2FH
7FH
80字节
用户区
1FH
20H
30H
16字节
位寻址区
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-2,51单片机的数据存储器管理
? 标准 51系列单片机的内部 RAM —— 低 128B
?该区域每个单元可以作为一般 RAM单元整体使用。
例如,MOV 20H,#23H;将 20H单元赋值为 23H
指令执行后,
?单元中每一位也可以作为独立的可寻址位单独使用。
例如,20H单元的最低位可表示为
00H—— 位地址 20H.0—— 存储单元地址加位
例如,SETB 20H;将 24H单元的最低位置为 1
指令执行后,
32字节
工作寄存器区
16字节
位寻址区
00H
2FH
7FH
80字节
用户区
1FH
20H
30H
0 0 1 0 0 0 1 1 20H
24H 0 0 0 0 0 0 0 1
20H 位地址
单元地址
单元地址
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-2,51单片机的数据存储器管理
? 标准 51系列单片机的内部 RAM —— 低 128B
? 位寻址区之后的 30H-7FH共 80个字节为通用
RAM区,也称用户区,这些单元可以作为数
据缓冲器使用。这一区域的操作指令非常丰富,
数据处理方便灵活。
? 在实际应用中,常需在此区设置堆栈。
32字节
工作寄存器区
16字节
位寻址区
00H
2FH
7FH
80字节
用户区
1FH
20H
30H
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-2,51单片机的数据存储器管理
? 标准 51系列单片机的内部 RAM—— 堆栈
? 堆栈 —— 是在 RAM区中划定的一个区域,对该区域 RAM单元的读写操
作必须遵守特定的顺序。比如先入先出,或先入后出原则。
? 堆栈的作用 —— 主要用在 子程序的调用 过程中或作为 特殊的数据交换
区 。
? 堆栈的开辟
? 栈顶的位置由 SP(堆栈指针)寄存器指示。
? 复位时 SP的初值为 07H,在系统初始化时可以根据用户的需要重新设
置。
? 标准 8051的堆栈一般设在 30H~7FH的范围内。
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
X
Y
Z
4-2,51单片机的数据存储器管理
? 标准 51系列单片机的内部 RAM—— 堆栈
? 堆栈的操作
65H
64H
63H
62H
61H
栈底 60H
59H
内部 RAM
PUSH
PUSH
PUSH
入栈过程
65H
64H
63H
62H
61H
栈底 60H
59H
内部 RAM
POP L
POP M
POP N
X
Y
Z
出栈过程
先入后出
后入先出
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-2,51单片机的数据存储器管理
? 标准 51系列单片机的内部 RAM —— SFR
? 51单片机内部都含有 128B的特殊功能寄存器区,其地址为 80H— FFH。
? 但不同的单片机内部特殊功能寄存器的个数是不等的。
? 这些特殊功能寄存器用于存放单片机中相应功能部件的控制命令、状
态或数据。
低 128字节
RAM
特殊功能
寄存器区
00H
7FH 80H
FFH
特殊功能
寄存器区
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-2,51单片机的数据存储器管理
? 标准 51系列单片机的内部 RAM — SFR
?列举其中的几个,
寄存器 位地址 /位名称
符号 地址
ACC 0E0H 0E7H 0E6H 0E5H 0E4H 0E3H 0E2H 0E1H 0E0H
B 0F0H 0F7H 0F6H 0F5H 0F4H 0F3H 0F2H 0F1H 0F0H
PSW 0D0H 0D7H 0D6H 0D5H 0D4H 0D3H 0D2H 0D1H 0D0H
CY AC F0 RS1 RS0 OV - P
DPL 82H
DPH 83H
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-2,51单片机的数据存储器管理
? 标准 51系列单片机的内部 RAM — SFR
使用方法,
?在这个存储区中,除了特殊功能寄存器之外剩余的空闲单元,用户不得使用;
?必须使用 直接寻址 方式进行访问,可使用寄存器的 名称或地址,
例如,0E0H—— 累加器的地址
A—— 累加器的名称
?只有具有位地址和位名称的寄存器才可以 位寻址 ;
例如,0D7H—— 程序状态字最高位的位地址
CY—— 程序状态字最高位的位名称
0D0H.7—— 程序状态字字节地址加位
PSW.7—— 程序状态字字节名称加位
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-3.增强型 51单片机 P89V51RD2的内部 RAM
? 内部 RAM容量为 1KB,增加了高 128B和扩展 RAM( 768B)。
低 128字节
RAM
内部扩展
RAM
高 128字节
RAM
特殊功能
寄存器区
00H
7FH
80H
FFH
000H
2FFH
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-3.增强型 51单片机 P89V51RD2的内部 RAM
? 内部高 128B
? 具有和 SFR区相同的地址;
? 访问方式 —— 必须使用 间接
寻址 方式访问
例:给 90H单元赋值 30H可采用如
下方式,
MOV R0,#90H;指向 90H单元
MOV @R0,#30H;赋值为 30H
低 128字节
RAM
内部扩展
RAM
高 128字节
RAM
特殊功能
寄存器区
00H
7FH
80H
FFH
000H
2FFH
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-3.增强型 51单片机 P89V51RD2的内部 RAM
低 128字节
RAM
内部扩展
RAM
高 128字节
RAM
特殊功能
寄存器区
00H
7FH
80H
FFH
000H
2FFH
内部扩展
RAM
000H
2FFH
? 内部扩展 RAM( 768B),000H~ 2FFH
? 访问受 AUXR(辅助寄存器)中的 EXTRAM位控制
扩展 RAM
2FFH
000H
FFFFH
0000H
间接寻址
外部数据存
储器
EXTRAM=0 EXTRAM=1
0300H
FFFFH
间接寻址
外部数据存
储器
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
? 内部扩展 RAM( 768B),000H~ 2FFH
? 访问方式 —— 间接寻址 访问
? 访问指令 —— MOVX
例如:访问内部扩展 RAM中 0A0H单元可采用,
方法一,
MOV R0,#0A0H
MOVX A,@R0
方法二,
MOV DPTR,#00A0H
MOVX A,@DPTR
4-3.增强型 51单片机 P89V51RD2的内部 RAM
内部扩展
RAM
000H
2FFH
Copyright ? Http:// mcu.scetc.net SiChuan Engineering Technical Colledge-1959
4-4,51单片机的 RAM扩展
? 外部 RAM扩展实例
? 外扩 RAM容量:
6116× 2( 2KB× 2)
? 访问方式 —— 间接寻址
? 访问指令 —— MOVX
? 访问所需 控制信号,
地址总线低 8位 — P0口提供
地址总线高 3位 — P2口提供
6116A片选 —— P2.6
6116B片选 —— P2.7
控制信号,
/RD( P3.7) — 读允许
/WR( P3.6) — 写允许
E A /V P
31
X1
19
X2
18
R E S E T
9
RD
17
WR
16
I N T 0
12
I N T 1
13
T0
14
T1
15
P 1 0
1
P 1 1
2
P 1 2
3
P 1 3
4
P 1 4
5
P 1 5
6
P 1 6
7
P 1 7
8
P 0 0
39
P 0 1
38
P 0 2
37
P 0 3
36
P 0 4
35
P 0 5
34
P 0 6
33
P 0 7
32
P 2 0
21
P 2 1
22
P 2 2
23
P 2 3
24
P 2 4
25
P 2 5
26
P 2 6
27
P 2 7
28
P S E N
29
A L E / P
30
T X D
11
R X D
10
M C S - 5 1
8
7
6
5
4
3
2
1
23
22
19
18
21
18
20
9
10
11
13
14
15
16
17
R A M
2 0 48 × 8
A
0_ _ __
2 0 47
EN
&
[I]
[ O ]
U1 6 1 16 A
8
7
6
5
4
3
2
1
23
22
19
18
21
18
20
9
10
11
13
14
15
16
17
R A M
2 0 48 × 8
A
0_ _ __
2 0 47
EN
&
[I]
[ O ]
U2 6 1 16 B
OC
1
C
11
1D
3
1Q
2
2D
4
2Q
5
3D
7
3Q
6
4D
8
4Q
9
5D
13
5Q
12
6D
14
6Q
15
7D
17
7Q
16
8D
18
8Q
19
U3
7 4 L S 3 7 3
G N D