内部低128B、SFP区的地址分布、访问方式
MCS-51 内部有 128 个字节的数据存储器 RAM ,它们可以作为数据缓冲器、堆栈、工作寄存器和软件标志等使用。 CPU 对内部 RAM 有丰富的操作指令。在编程时经常用到它们,内部 RAM 地址为 00H ~ 7FH ,不同的地址区域内,规定的功能不完全相同。128 字节地址空间的 RAM 中不同的地址区域功能分配为:工作寄存器区(00H-1FH)、位地址区(20H-2FH)、堆栈和缓冲区(30H-7FH )、特殊功能寄存器 SFR 区(80H ~ FFH),下面分别说明。① 工作寄存器区
单片机的内部工作寄存器以 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一样方便地访问特殊功能寄存器。
编辑:admin 最后修改时间:2018-05-08