MCS-51 单片机的存储器地址空间如何划分?各地址空间的地址范围和容量如何

如题所述

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)单元。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-07-20

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。

-------

对于存储器的参数,只有地址范围和容量,并无空间的说法。

相似回答