① 工作寄存器区
单片机的内部工作寄存器以 RAM 形式组成,即工作寄存器包含在内部数据存储器中。地址为 00H ~ 1FH 单元,内部 RAM 的低 32 字节分成 4 个工作寄存器区,每一个区有 8 个工作寄存器,编号为 R0 ~ R7 。
② 位寻址空间
CPU 不仅对内部 RAMR 20H ~ 2FH 这 16 个单元有字节寻址功能,而且具有位寻址功能(可以单独读写某一位)。给这 128 位赋以位地址为 00H ~ 7FH , CPU 能直接寻址这些位。
位地址空间
字节地址 |
寄存器名 |
位 地 址 | |||||||
2FH |
7FH |
7EH |
7DH |
7CH |
7BH |
7AH |
79H |
78H | |
2EH |
77H |
76H |
75H |
74H |
73H |
72H |
71H |
70H | |
2DH |
6FH |
6EH |
6DH |
6CH |
6BH |
6AH |
69H |
68H | |
2CH |
67H |
66H |
65H |
64H |
63H |
62H |
61H |
60H | |
2BH |
5FH |
5EH |
5DH |
5CH |
5BH |
5AH |
59H |
58H | |
2AH |
57H |
56H |
55H |
54H |
53H |
52H |
51H |
50H | |
29H |
4FH |
4EH |
4DH |
4CH |
4BH |
4AH |
49H |
48H | |
28H |
47H |
46H |
45H |
44H |
43H |
42H |
41H |
40H | |
27H |
3FH |
3EH |
3DH |
3CH |
3BH |
3AH |
39H |
38H | |
26H |
37H |
36H |
35H |
34H |
33H |
32H |
31H |
30H | |
25H |
2FH |
2EH |
2DH |
2CH |
2BH |
2AH |
29H |
28H | |
24H |
27H |
26H |
25H |
24H |
23H |
22H |
21H |
20H | |
23H |
1FH |
1EH |
1DH |
1CH |
1BH |
1AH |
19H |
18H | |
22H |
17H |
16H |
15H |
14H |
13H |
12H |
11H |
10H | |
21H |
0FH |
0EH |
0DH |
0CH |
0BH |
0AH |
09H |
08H | |
20H |
07H |
06H |
05H |
04H |
03H |
02H |
01H |
00H |
③ 堆栈和数据缓冲区
原则上MCS-51单片机的堆栈可以设在内部RAM的任意区域内,但是一般设在30H~7FH的范围内。栈顶的位置由堆栈指针 SP 指出。
④ 特殊功能寄存器 SFR (专用寄存器)区
MCS-51 单片机内除程序计数器(PC)和 4 个工作寄存器区外,所有其它寄存器如 I/O 口锁存器、定时器、数据地址指针,各种控制寄存器都是以特殊功能寄存器(SFR)的形式出现的。 8051 有 21 个特殊功能寄存器,它们离散地分布在 80H~FFH 的地址空间内,并允许像访问内部RAM一样方便地访问特殊功能寄存器。