MCS96系列单片机是一种16位字长,比MCS51系列单片机功用更全、功能更高的单片机,在仪器仪表、进程操控等范畴运用极为广泛。在选用MCS96系列单片机的运用开发中,咱们碰到一个难题:当需求大容量的数据存储时,数据存储器的扩展如选用与MCS51系列单片机相同的办法则无法作业。因为其内存体系结构选用程序存储器与数据存储器一致编址的普林斯顿结构,程序存储器的地址与数据存储器的地址不能相同;而MCS51系列单片机选用程序存储器与数据存储器分开编址的哈佛结构,程序存储器的地址与数据存储器的地址不抵触,能够相同,因此其数据存储器扩展简略,并且整个数据存储器地址空间接连。MCS96系列单片机的普林斯顿内存体系结构决议了不能简略选用与MCS51系列单片机相同的数据存储器扩展技能。本文针对MCS96系列单片机的内存体系结构特色给出一种段式办理的大容量的数据存储器扩展技能。
1 段式办理的大容量数据存储器扩展技能
规划思维概述:针对MCS96系列单片机的存储结构特色,可看出扩展的数据存储器的低16位地址不能与程序存储器的地址相同,因此,有必要从MCS96系列单片机的内存体系结构中找出一个专门的区域。本文将此区域界说为段,对其进行扩展,经过各段的高地址来区别不同段。因为各段的实践物理地址是不相连的,从用户视点看,直接运用物理地址编程很费事,因此规划一个逻辑段表来办理,并且规划一个简略的子程序来完结逻辑地址与物理地址的转化,然后便于用户编程。详细进程如下。
1.1 段的设置区域
1.2 段的存储空间的最佳设置
因为段的空间的设置区域在4000H~0FFFFH的48KB的存储地址空间,因此有三种段的存储地址空间巨细的设置计划。
①每段设为开始地址相同的32KB;
②每段都设为48KB;
③一些段设为48KB;一些段设为32KB。
因为计划2与3选用32KB的存储区间与16KB的存储区间组成段,因此在硬件规划方面使地址译码器与存储器的衔接杂乱,更不便于对各段存取办理,特别关于数据存储器选用单个大容量的EEPROM或FLASH RAM时,硬件规划更是困难;而计划1则只选用32KB的芯片组成段,并且开始地址相同,关于数据存储器选用多个32KB的RAM芯片,或许数据存储器选用单个大容量的EEPROM或FLASH RAM芯片中(可在其内部划分为多个32KB段),在硬件规划方面十分简略,也便于用逻辑段表进行存取办理。因此要用计划1,即段的存储空间巨细的最佳设置为32KB。