![单片机C语言程序设计实训100例:基于STC8051+Proteus仿真与实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/270/43738270/b_43738270.jpg)
1.3 数据与程序内存
8051单片机存储器结构如图1-10所示。存储器分为4KB片内程序存储器(片内ROM)、64KB片外程序存储器(片外ROM)、256B片内数据存储器(片内RAM)、64KB片外数据存储器(片外RAM)4部分。
![](https://epubservercos.yuewen.com/DF9E4A/23020648309755406/epubprivate/OEBPS/Images/42553-00-19-1.jpg?sign=1739307187-Xe3ltn5UIHXPml0GEFCsOrGjkUm3zbcw-0-b254e32de5a294487d83b98ff4df81b1)
图1-10 8051单片机存储器的结构
在8051单片机存储器中,片内ROM用于存放8051单片机控制程序,并可扩展至64KB,地址范围为0000H~0FFFH,与4KB片内ROM地址重叠,使用过程中要用对其进行区分。对于带片内ROM的8051单片机,当
引脚为高电平时,程序运行时将从片内ROM的0000H地址开始执行,当程序计数器(PC)的值超过0FFFH时,自动转换到片外ROM的1000H~FFFFH地址空间执行。
8051单片机片内RAM空间中,00H~7FH的128B空间是真正的RAM区,可读/写各种数据;片内RAM 80H~FFH的128B空间大部分被专门用于特殊功能寄存器(Special Function Register,SFR),8051单片机在这个空间安排了21个特殊功能寄存器(SFR)。无论是用汇编语言还是用C语言编写单片机程序,都要熟练掌握这些特殊功能寄存器。
STC15系列单片机片内数据存储器(SRAM)及其扩展空间如表1-2所示。
表1-2 STC15系列单片机片内数据存储器(SRAM)及其扩展空间
![](https://epubservercos.yuewen.com/DF9E4A/23020648309755406/epubprivate/OEBPS/Images/42553-00-19-4.jpg?sign=1739307187-6e07w8dwKgof3CJKvZqqyIF4U6yGIGbE-0-0e63d84fcdb3c0d9068d41958dda1866)
片内RAM共256B,可分为3个部分:低128B RAM(与8051单片机兼容)、高128B RAM及特殊功能寄存器区(SFR)。其中,低128B数据存储器可直接或间接寻址;高128B RAM与特殊功能寄存器区都使用地址80H~FFH,但在物理上二者是独立的,使用时通过不同的寻址方式加以区分,高128B RAM只能间接寻址,特殊功能寄存器区只可直接寻址。STC15系列单片机存储器结构如图1-11所示。
![](https://epubservercos.yuewen.com/DF9E4A/23020648309755406/epubprivate/OEBPS/Images/42553-00-20-1.jpg?sign=1739307187-FYKuP5r9q1bxflCPz2L1HkleGOkxA5lm-0-f3b223e25c4261104fe158ab41049b84)
图1-11 STC15系列单片机存储器的结构
根据表1-2可知,STC15除了集成256B片内RAM外,还集成了3840B扩展RAM,地址范围为0000H~0EFFH,访问扩展片内RAM的方法和8051单片机访问扩展片外RAM的方法相同,但是不影响P0(数据总线和低8位地址总线)、P2(高8位地址总线)、WR/P4.2、RD/P4.4和ALE/P4.5。
对于扩展的片内RAM,是否允许被访问受辅助寄存器AUXR(地址为8EH)中的EXTRAM位控制。EXTRAM位默认为0,表示扩展的片内RAM可以被存取。以STC15W4K32S4单片机为例,访问00H~0EFFH单元(3840B)要使用MOVX @DPTR指令;0F00H及以上单元均指片外RAM,而MOVX @Ri指令只能访问0F00H~0FFFH单元。将EXTRAM位置1时,禁止访问扩展的片内RAM,此时MOVX @DPTR/MOVX @Ri指令的使用与普通8052单片机相同,且访问的均为扩展的片外RAM。STC15W4K32S4单片机扩展片外RAM的应用电路如图1-12所示。
![](https://epubservercos.yuewen.com/DF9E4A/23020648309755406/epubprivate/OEBPS/Images/42553-00-20-2.jpg?sign=1739307187-kH6LaefizzjJRtXA10VAz6F3Q79jRgJs-0-92037876c1b70e2a36b63d43ae8428be)
图1-12 STC15W4K32S4单片机扩展片外RAM的应用电路