首页 理论教育8051单片机存储器系统特点及使用方法

8051单片机存储器系统特点及使用方法

【摘要】:经过外扩展,构成了完整的单片机存储器系统。下面对单片机存储器系统的特点和使用方法进行介绍。2.8051单片机存储器的使用为了正确地使用8051存储器,首先要注意如何区分4个不同的存储空间,其次在编程时还要注意内、外程序存储器的衔接问题。总结上述内容可知,在8051单片机系统中,虽然存储器交叠增强了单片机的寻址能力,但同时也给学习和使用增加了一些困难。

经过外扩展,构成了完整的单片机存储器系统。下面对单片机存储器系统的特点和使用方法进行介绍。

1.单片机存储器系统的特点

(1)程序存储器与数据存储器并存

单片机的存储器系统中程序存储器与数据存储器并存,其中程序存储器是保存程序的需要,而数据存储器则是运行程序的需要。在系统中两种存储器是截然分开的,它们有各自的地址空间、操作指令和控制信号。

其实任何计算机都存在程序的保存问题。例如,微型机用磁盘(硬盘与软盘)来保存程序,每次开机或每当需要时启动磁盘,即可把程序调入内存运行。而单片机一般不配备磁盘等外存储设备,故只能使用ROM构成的程序存储器来解决。有了程序存储器之后还得靠数据存储器来运行程序,从而就有了单片机系统中程序存储器和数据存储器并存的结构。

(2)内、外存储器并存

图8-18 8051单片机存储器的4个物理 存储空间和3个逻辑存储空间

单片机的存储器有内、外之分,即片内存储器和片外存储器。片内存储器是芯片固有的,它使用方便、存取快捷,但容量有限,难以满足系统的需要;而片外存储器是系统扩展的,从而形成了单片机系统既有内部存储器又有外部存储器的结构。内部存储器有ROM和RAM之分,外部存储器也有ROM和RAM之分。换一种说法,即程序存储器有内、外之分,数据存储器也有内、外之分这样一种复杂的结构。这种存储器的交叠配置在任何其他计算机中都不曾出现过。因此,在8051单片机系统中形成了存储器的4个物理存储空间和3个逻辑存储空间,如图8-18所示。

4个物理存储空间分别是片内程序存储空间、片外程序存储空间、片内数据存储空间及片外数据存储空间。

(3)程序存储器地址具有连续性要求

在编程使用时,内、外程序存储器空间的地址必须是连续的。而对应的数据存储器则没有这个要求,内、外数据存储空间是各自编址的,地址都是从00H(0000H)开始。所以从软件的角度看,8051单片机系统有3个逻辑存储空间,即片内、外统一编址的64KB程序存储空间,256B的片内数据存储空间以及64KB的片外数据存储空间。

2.8051单片机存储器的使用

为了正确地使用8051存储器,首先要注意如何区分4个不同的存储空间,其次在编程时还要注意内、外程序存储器的衔接问题。

在8051单片机中,为了区分不同的存储空间,采用了硬件和软件相结合的措施。所谓硬件措施,就是对不同的存储空间使用不同的控制信号,而软件措施则是访问不同的存储空间使用不同的指令。

(1)内部程序存储器与数据存储器的区分(www.chuimin.cn)

芯片内部的ROM与RAM是通过指令来相互区分的。读ROM时使用MOVC指令,而读RAM时则使用MOV指令。

(2)外部程序存储器与数据存储器的区分

对外部扩展ROM与RAM,同样使用指令来加以区分。读外部ROM使用MOVC指令,而读/写外部RAM则使用MOVX指令。此外,在电路连接上提供了两个不同的选通信号,为外部ROM的读选通信号作为外部RAM的读/写选通信号。

(3)内、外数据存储器的区分

内部RAM和外部RAM是分开编址的,这就造成了外部RAM前256个单元的地址重叠。但由于有不同的指令加以区分,访问内部RAM使用MOV指令,访问外部RAM使用MOVX指令,所以不会发生操作混乱。

(4)内、外程序存储器的衔接

出于连续执行程序的需要,内、外程序存储器必须统一连续编址(内部占低位,外部占高位),并使用相同的读指令MOVC,所以内、外ROM面临的不是地址区分问题而是地址衔接问题。再考虑到8051单片机系列芯片中,有些芯片有内部ROM,有些芯片没有内部ROM,为此,8051单片机特别配置了(访问、内外程序存储器控制)信号。

对于8051这样有内部ROM的单片机,应使=1(接高电平)。此时,当地址为0000H~0FFFH时,在内部ROM寻址;等于或超过1000H时,自动到外部ROM中寻址,从而形成了如图8-19所示的内、外ROM的衔接形式,使内、外程序存储器成为一个地址连续的存储空间。

图8-19 内、外程序存储器衔接示意图

从图8-19中可以看出,由于0000H~0FFFH存储空间已被内部ROM占据,所以外部ROM就不能再使用这部分存储空间了,相当于外部ROM损失了4KB的存储空间。

对于8051这样没有内部ROM的单片机,应使=0(接地)。这样,只需对外部ROM进行寻址,寻址范围为0000H~FFFFH,是一个完整的64KB ROM空间。

总结上述内容可知,在8051单片机系统中,虽然存储器交叠增强了单片机的寻址能力,但同时也给学习和使用增加了一些困难。例如,增加了指令的类型和控制信号的数目,给程序设计和电路连接增加了麻烦,使程序设计容易出错,且出错后又不易查找,从而加大了程序调试的难度。

单片机存储 器扩展小结