1.前语
MCS-51的存储器有片内RAM、片外RAM 和 ROM 三个空间。
MCS-51单片机在物理结构上有四个存储空间
1、片内程序存储器(片内ROM)
2、片外程序存储器(片外ROM)
3、片内数据存储器(片内RAM)
4、片外数据存储器(片外RAM)
在逻辑上(即从用户的角度上)MCS-51单片机有三个存储空间
1、片表里一致编址的64K的程序存储器(ROM)地址空间(MOVC)
2、256B的片内数据存储器(片内RAM)的地址空间(MOV)
3、以及64K片外数据存储器(片外RAM)的地址空间(MOVX)
注:在拜访三个不同的逻辑空间时,应选用不同方法的指令以发生不同的存储器空间的选通信号。
2.存储空间区分
2.1 片内RAM
图:片内AM地址空间区分
地址规模是00H到7FH (52系列延伸到FFH),为8位地址,所以最大可寻址的规模为256个单元地址
• 00H到1FH
共32字节,分红四个作业寄存器区,每区有寄存器 R0~R7。对此区域,能够运用 R0~R7 来操作,代码短捷,可是,只要一个当前作业区是能够这样读写的。对此区域,也能够运用字节地址,来读写。
• 20H-2FH
共16字节,是位寻址区,共有128个“位”,位地址:00~7FH。此区域,也可依照字节寻址,来读写。
• 30H-7FH
没有什么特征,只进行字节寻址。
• 80H-FFH
共有128个地址号码,其间离散的散布着21个特别功用寄存器,有必要直接寻址才干读写。(52系列,在此规模,还有128字节的 RAM,有必要直接寻址才干读写)。
注:对上述空间读写,有必要运用 MOV 指令。
2.2 片外RAM
片外RAM的地址规模是0000H到FFFFH,容量即为64KB。对片外RAM读写,有必要运用 MOVX 指令。
对片外RAM选用直接寻址方法,R0、R1和DPTR都能够做为直接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址规模最大为256个单元,而DPTR是16位地址指针,寻址规模就可到达64KB。
也就是说在寻址片外RAM时,寻址规模超过了256B,就不能用R0、R1做为直接寻址寄存器,而有必要用DPTR寄存器做为直接寻址寄存器。
2.3 ROM
ROM的地址规模是0000H到FFFFH,容量即为64KB,地址长度16位,作用是 寄存程序及程序运行时所需的常数。
其间0000~0FFFH,即4K,在片内,其它在片外。
EA = 1,寻址内部ROM;EA = 0,寻址外部ROM对ROM读出,有必要运用 MOVC 指令。