1.2.3 存储器
单片机内部包含随机存取存储器(RAM)和程序存储器(ROM),RAM用于保存单片机运行的中间数据;单片机的ROM不只是用来装载程序,增强51系列也可以在单片机运行过程中利用程序把数据存储在ROM(EEPROM)的部分空间内。
MCS-51系列单片机在系统结构上采用哈佛结构,即程序存储器和数据存储器的寻址空间是分开管理的。它共有4个物理上独立的存储器空间,即内部和外部程序存储器及内部和外部数据存储器。从用户的角度来看,单片机的存储器逻辑上分为3个存储空间,如图1-9所示,即统一编址的64KB的程序存储器地址空间(包括片内ROM和外部扩展ROM),地址为0000H~FFFFH;256B的片内数据存储地址空间(包括128B的片内RAM和特殊功能寄存器的地址空间);64KB的外部扩展数据存储器地址空间。图中是单片机的程序扩展控制引脚。
图1-9 51系列单片机的存储器空间分布
1.单片机的RAM
8051单片机芯片中共有256B的RAM单元,其中128B被专用寄存器占用,用户使用的只是前128B,即通常所说的片内128B数据存储器,它可以用来存放临时可读写的数据,但在单片机掉电时,RAM单元的所有数据将丢失。单片机对RAM的寻址空间可达64KB。
单片机片内128B的RAM根据功能又划分为工作寄存器区R0~R7,地址范围00H~1FH;位寻址区地址范围20H~2FH;堆栈区、数据缓冲区地址范围30H~7FH,其中位寻址区共有16字节128个位单元。
8051单片机共有21个特殊功能寄存器,它是片内RAM的一部分。特殊功能寄存器用于对片内各功能模块进行监控和管理,是一些控制寄存器和状态寄存器,与片内RAM单元统一编址。
2.内部程序存储器(内部ROM)
8051单片机共有4KB的ROM,单片机的生产商不同,内部程序存储器可以是EEPROM或EEPROM。增强型的51单片机内部ROM空间可以达到64KB,在使用时不须再扩展片外ROM。
数据存储器、程序存储器以及位地址空间的地址有一部分是重叠的,但在具体寻址时,可由不同的汇编指令格式和相应的控制信号来区分不同的地址空间,因此不会造成冲突。