MCS-51单片机在物理结构上有四个存储空间:
1、片内程序存储器
2、片外程序存储器
3、片内数据存储器
4、片外数据存储器
但在逻辑上,即从用户的角度上,8051单片机有三个存储空间:
1、片内外统一编址的64K的程序存储器地址空间(MOVC)
2、256B的片内数据存储器的地址空间(MOV)
3、以及64K片外数据存储器的地址空间(MOVX)
在访问三个不同的逻辑空间时,应采用不同形式的指令以产生不同的存储器空间的选通信号。程序ROM
寻址范围:0000H ~ FFFFH 容量64KB
EA = 1,寻址内部ROM;EA = 0,寻址外部ROM
地址长度:16位
作用: 存放程序及程序运行时所需的常数
数据存储器片内数据存储器为8位地址,所以最大可寻址的范围为256个单元地址,对片外数据存储器采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范围最大为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB。
也就是说在寻址片外数据存储器时,寻址范围超过了256B,就不能用R0、R1做为间接寻址寄存器,而必须用DPTR寄存器做为间接寻址寄存器。其中片内数据存储器分为两部分,地址从00H—7FH单元(共128个字节)为用户数据RAM,从80H—FFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。
MCS-51 单片机的存储器地址空间如何划分?
各地址空间的地址范围和容量如何
------------------------
地址空间如何划分?
地址空间?
空间?
什么是“空间”? 空间,必须是“三维”的。
地址,只是“一维”的,绝对算不上“空间”!
描述某个存储器的“地址”,只能说是“地址范围”。
如果把“位数”算进去,能得出“存储器的容量”。
容量,这也只是“二维”而已,也不是“空间”。
因此,存储器和空间,并无瓜葛。
把存储器用空间来描述,只能说明计算机专家:不吹牛,只吹骆驼!
-------------------------
MCS-51 单片机所具有的存储器,简介如下:
MCS-51 有片内 RAM、片外 RAM 和 ROM 三部分存储区。
片内 RAM 的地址范围是:00H~7FH (52系列延伸到 FFH)。
容量是 128 字节(52 系列是 256 字节)。
前 32 字节,分成四个工作寄存器区,每区有寄存器 R0~R7。
接着有 16 字节,可以“位寻址”。位地址:00~7FH。
其余 80 字节,就没什么特色了,可作为堆栈使用。
(另外,在 80H-FFH,有 21 字节的“特殊功能寄存器”。不属于存储器。)
-------
片外 RAM 的地址范围是:0000H~FFFFH,容量为 64KB。
-------
ROM 的地址范围是:0000H~FFFFH,容量即为 64KB。
-------
对于存储器的参数,只有地址范围和容量,并无空间的说法。