第7章 C51的存储结构

C51语言是面向51系列单片机及其硬件控制系统的开发语言,因此C51语言和单片机的硬件资源有非常密切的联系。C51的程序经过编译后将在单片机上运行,C51的程序代码和数据都是按照一定的存储类型,存放在单片机的特定存储区域中,否则该数据无意义。存储结构是单片机C51语言很重要的一部分内容,也是其特有的内容。C51的存储结构包括存储器结构、存储类型、存储模式以及存储器指针等知识点。下面分别介绍这几部分内容。

7.1 单片机的存储器结构

单片机的存储器结构是指单片机内部存储器的硬件组织形式。不同型号单片机的存储器结构会有所不同,但是原理是相似的。本章以最常用的51系列单片机为例,介绍其存储器结构。

51系列单片机采用哈佛结构,将程序代码存储器(ROM)和数据存储器(RAM)分开,各部分遵循各自的寻址机构和寻址方式。下面概述一下51系列单片机存储器的硬件构成。

7.1.1 51系列单片机的存储区域

51系列单片机的存储器被划分成几个不同的区域。为了C51的程序运行时可以方便地调取数据和程序代码,C51程序中的数据和程序代码被分类存放在单片机的不同存储区域内。51系列单片机及其兼容的单片机在物理上,可划分为以下4个不同的存储区。

❑片内数据存储区(片内RAM)。

❑片外数据存储区(片外RAM)。

❑片内程序存储区(片内ROM)。

❑片外程序存储区(片外ROM)。

所谓片内和片外的区别,是指单片机内部储存区域和单片机外部储存区域。C51的程序中的数据和程序代码,被分别存放在单片机内部或外部中的数据和程序储存区域内。

相比早期推出的单片机的片内存储器都比较小,新推出的51内核单片机在存储器方面有了很大的扩展。不同型号的51单片机的各个存储区的大小和用法也略有差异,实际使用时可以参阅不同型号单片机的具体说明。熟练掌握一种单片机的存储结构,有助于理解其他不同单片机的存储结构。