- 单片机C语言程序设计实训100例
- 彭伟编著
- 533字
- 2025-02-19 23:22:25
1.2 数据与程序内存
8051单片机存储器组织结构如图1-2所示,存储器分为以下4部分:
(1)片内程序存储器(ROM)4KB;
(2)片外程序存储器(ROM)64KB(含内部4KB);
(3)片内数据存储器(RAM)256B;
(4)片外数据存储器(RAM)64KB。
这4部分中的前2部分是程序ROM,片内程序ROM用于存放8051控制程序,本书各案例中8051单片机绑定的都是由C语言程序编译链接生成的HEX程序文件,这相当在硬件环境下向4KB的8051单片机内部程序ROM烧写HEX程序,要从片内ROM的4KB存储器取指令时,需要将EA接高平。8051外部程序ROM可扩展到64KB,地址范围为0000H~0FFFH的4KB内外ROM地址是重叠的,使用过程中要用EA的取值来区分,对于有内部ROM空间的8051单片机,EA可接高电平,单片机运行时会从内部程序ROM的0000H地址开始执行,当程序计数器(PC)的值超过0FFFH时,自动转换到片外程序ROM的1000H~FFFH地址空间执行。对于没有内部程序ROM的8051单片机,程序存放在外部ROM中,其EA引脚固定接低电平。
8051的数据RAM空间虽然很小,但它起着非常重要的作用,256B(字节)被分为两个区,00H-7FH的128B空间是真正的RAM区,可读/写各种数据;80H~FFH的128B空间大部分专门用于特殊功能寄存器(SFR:Special Function Register),8051在这个空间安排了21个特殊功能寄存器,不论是用汇编语言还是用C语言编写单片机程序,这些特殊功能寄存器都要重点掌握。

图1-2 8051单片机存储器结构