扩展程序存储器

三、扩展程序存储器

MCS-51系列单片机的8051/8751片内有4K字节的ROM或EPROM,而8031片内无ROM。当片内ROM容量不够或选用8031时,需要扩展程序存储器。无论是片内还是片外的程序存储器,都是统一编址的,采用同一个指令MOVC对其进行访问。当MCS-51单片机访问片外程序存储器时,密切相关的控制信号有ALE、引脚。

1.程序存储器扩展芯片的选择

单片机扩展用程序存储器有紫外光可擦除型(EPROM)、电擦除型(EEPROM)和闪速(FLASH)存储器等。

在进行程序存储器扩展时,首先应根据应用系统的要求,选择使用何种类型的芯片作程序存储器芯片;其次,在存储器容量选择时,应尽量选择大容量的芯片,即使用一片存储器芯片能够满足要求的,尽量不使用多片,从而减少芯片的组合数量。当必须选用多芯片时,也应选择容量相同的芯片,以便简化系统的应用电路。

2.程序存储器扩展实例

用EPROM 2764和EPROM 27128构成外部程序存储器的硬件连接如图6-2所示,两块2764和一块27128构成32K字节外部程序存储器。2764有8K字节的存储容量,故每个2764芯片有13条地址线,分别占用单片机的A12~A0地址线。27128有16K字节的存储容量,故27128芯片有14条地址线,占用单片机的A13~A0地址线。因为2764和27128的数据线都接在8位数据总线DB上,如果同时被选中,则会出现争占DB的现象。这时,需要考虑片选问题。图6-2采用了部分译码法进行EPROM扩展。高位地址A15(P2.7)和A14(P2.6)经过74LS139译码后产生四个输出信号,利用其中的作为片选信号,分别与两片2764和一片27128的片选端相连。由图6-2可以得出3片存储器所占的地址空间如下:

2764(0):0000H~1FFFH或2000H~3FFFH

2764(1):4000 H~5FFFH或6000 H~7FFFH

27128:8000H~BFFFH