首页 理论教育程序存储器和数据存储器综合扩展

程序存储器和数据存储器综合扩展

【摘要】:当由单片机设计的控制系统比较复杂时,单片机本身所具有的程序存储器和数据存储器都将不够用。为了满足系统的需要,很多情况下不仅需要扩展数据存储器,而且还需要扩展程序存储器。要求扩展的程序存储器地址和单片机内部程序存储器地址衔接。在该连接中IC2和IC3公用一个片选信号,由于IC2为程序存储器、IC3为数据存储器,因此它们的控制信号线不同,不会出现地址冲突的现象。

当由单片机设计的控制系统比较复杂时,单片机本身所具有的程序存储器和数据存储器都将不够用。为了满足系统的需要,很多情况下不仅需要扩展数据存储器,而且还需要扩展程序存储器。

【例8-1】采用译码法为8051单片机扩展两片2732(4KB)EPROM和两片6232(4KB)RAM。要求扩展的程序存储器地址和单片机内部程序存储器地址衔接。

【解】(1)存储器地址分析

由于单片机内部的存储器容量为4K,地址范围为0000H~0FFFH,所以2732的地址应该从1000H地址开始,从而第一片2732的地址为1000H~1FFFH,第二片2732的地址为2000H~2FFFH。

数据存储器地址不存在内外衔接的问题,所以可以根据接线的方便来确定其地址。

(2)总线连接

数据总线:由P0口提供,因此将P0口和各个芯片的8位数据口线直接连接。

控制总线:2732为程序存储器只存在读的情况,将单片机的外部程序读选通信号与2732的输出使能控制引脚连接。又为了充分利用单片机本身的资源,所以程序存储器应从内部开始然后再访问外部程序存储器,单片机的管脚接高。6232作为数据存储器存在读和写的情况,将单片机的管脚和信号连接,单片机接6232的引脚。

地址总线:低8位由P0口经过锁存器锁存得到,所以采用73LS373 8位锁存器来实现,地址锁存信号ALE作为74LS373的锁存触发脉冲。74LS373的输出为地址总线A0~A7。高位地址总线由P2口提供A8~A15。(www.chuimin.cn)

2732和6232为4K容量的存储器,本身具有地址线12根,即A0~A11。因此,单片机的低12位地址总线A0~A11直接和芯片本身的地址线连接,剩余的A12~A15这4根地址线来进行片选地址的译码。

(3)片选译码

选择2-4译码器74LS139,P 2.4和P 2.5进行译码,P 2.6和P 2.7相或作为译码器的使能控制信号。译码器输出对应的地址范围如表8-3所示。在该连接中IC2和IC3公用一个片选信号,由于IC2为程序存储器、IC3为数据存储器,因此它们的控制信号线不同,不会出现地址冲突的现象。

根据以上分析,画出系统扩展的连接图,如图8-17所示。

表8-3 译码器地址分析与片选信号的连接

图8-17 扩展两片2732和两片6232的连接电路图