首页 理论教育 单片机控制技术及应用:程序存储器扩展

单片机控制技术及应用:程序存储器扩展

时间:2023-11-05 理论教育 版权反馈
【摘要】:图7-12 扩展连接图存储器扩展的主要内容是地址线、数据线和控制线的连接。对于控制信号,程序存储器的扩展只涉及,把该信号连接到2716的引脚,用于存储器读出选通。为了便于分析,通常假设没有用到的高位地址线A11~A14处于一种确定状态,则扩展的程序存储器芯片Intel 2716的地址范围分析见表7-3。

单片机控制技术及应用:程序存储器扩展

程序存储器采用只读存储器,因为这种存储器在电源关断后,仍能保存程序(我们称此特性为非易失性的),在系统上电后,CPU可取出这些指令重新执行。

1.锁存器

受引脚数的限制,P0口兼用作数据线和低8位地址线,为了将它们分离出来,需在单片机外部增加地址锁存器。目前,常用的地址锁存器芯片有74LS373、74LS573等。

(1)锁存器74LS373

它是一种带三态门的8D锁存器,其引脚排列如图7-7所示,内部结构如图7-8所示。MCS-51与74LS373锁存器的连接电路如图7-9所示。

978-7-111-44921-8-Chapter07-26.jpg

图7-7 锁存器74LS373的引脚排列

978-7-111-44921-8-Chapter07-27.jpg

图7-8 74LS373的内部结构

978-7-111-44921-8-Chapter07-28.jpg

图7-9 MCS-51单片机P0口与74LS373的连接电路

引脚说明:

◆D7~D0:8位数据输入线,

◆Q7~Q0:8位数据输出线。

◆G:数据输入锁存选通信号。当加到该引脚的信号为高电平时,外部数据选通到内部锁存器,负跳变时,数据锁存到锁存器中。978-7-111-44921-8-Chapter07-29.jpg:数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。

74LS373锁存器功能见表7-1。

表7-1 74LS373锁存器功能表

978-7-111-44921-8-Chapter07-30.jpg

(2)锁存器74LS573

它也是一种带有三态门的8位锁存器,功能及内部结构与74LS373完全一样,只是其引脚排列与74LS373不同。图7-10所示为74LS573的引脚排列。

如图7-10所示,与74LS373相比,74LS573的输入D端和输出Q端依次排列在芯片两侧,为绘制印制电路板提供了方便。

引脚说明:

◆D7~D0:8位数据输入线。

◆Q7~Q0:8位数据输出线。

◆G:数据输入锁存选通信号,该引脚与74LS373的G端功能相同。◆978-7-111-44921-8-Chapter07-31.jpg:数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。

2.程序存储器扩展

(1)2716芯片介绍

下面以过去常用的最简单的2716芯片为例进行原理说明。2716的引脚排列如图7-11所示。(www.xing528.com)

978-7-111-44921-8-Chapter07-32.jpg

图7-10 74LS573的引脚

978-7-111-44921-8-Chapter07-33.jpg

图7-11 2716的引脚排列

1)主要引脚功能

A10~A0:11位地址,它的数目由芯片的存储容量决定,用于进行单元选择。O7~O0:数据读出。978-7-111-44921-8-Chapter07-34.jpg/PGM:双重功能控制线,当使用时,它为片选信号978-7-111-44921-8-Chapter07-35.jpg,低电平有效;当芯片编程时,它为编程控制信号PGM,用于引入编程脉冲。978-7-111-44921-8-Chapter07-36.jpg:输出允许信号,当978-7-111-44921-8-Chapter07-37.jpg=0时,输出缓冲器打开,被寻址单元的内容可以被读出。

VPP:编程电源。当芯片编程时,该端加+25V编程电压;当使用时,该端加+5V电源。

2)2716的工作方式(见表7-2)

表7-2 2716的工作方式表

978-7-111-44921-8-Chapter07-38.jpg

①读出方式

CPU从EPROM中读取代码,为单片机应用系统的工作方式。此时978-7-111-44921-8-Chapter07-39.jpg978-7-111-44921-8-Chapter07-40.jpg均为低电平,VPP端加+5V。

②维持方式即未选中状态,此时978-7-111-44921-8-Chapter07-41.jpg为高电平,数据输出为高阻状态,功耗下降75%,处于低功率维持状态。

③编程方式把程序代码固化到EPROM中。VPP端加+25V电压,978-7-111-44921-8-Chapter07-42.jpg高电平。每当978-7-111-44921-8-Chapter07-43.jpgE/PGM端出现脉冲时,写入一个存储单元信息。

④编程校验方式即检查编程写入的信息是否正确,通常紧跟编程之后。VPP端加+25V,978-7-111-44921-8-Chapter07-44.jpg978-7-111-44921-8-Chapter07-45.jpg为低电平。

⑤编程禁止方式

2716不但可单片编程,也允许多片同时编程,好把同样信息并行写入多片2716中。多片编程时,若要写入各片的数据不尽相同,可使某片或某几片芯片处于编程状态或编程禁止状态,当978-7-111-44921-8-Chapter07-46.jpg/PGM信号加低电平时,该芯片处于编程禁止状态,不写入数据。

(2)存储器扩展的主要内容

单片程序存储器扩展是只扩展一片ROM芯片,这是最简单的程序存储器扩展。下面以扩展2716芯片为例进行说明,其扩展连接图如图7-12所示。

978-7-111-44921-8-Chapter07-47.jpg

图7-12 扩展连接图

存储器扩展的主要内容是地址线、数据线和控制线的连接。低位地址线的连接与存储芯片的容量有关。2716的存储容量为2KB,需11位地址(A10~A0)进行存储单元编址。为此先把芯片的A7~A0引脚与地址锁存器的8位地址输出对应连接,再把A10~A8引脚与P2口的P2.2~P2.0相连。这样,2716芯片内存储单元的寻址问题就解决了。由于这是一个小规模存储器扩展系统,采用线选法进行片选,只需在剩下的高位地址线中取一位P2.7与2716的978-7-111-44921-8-Chapter07-48.jpg端相连即可。数据线的连接比较简单,只要把存储芯片的数据输出引脚与单片机P0口对应连接就可以了。对于控制信号,程序存储器的扩展只涉及978-7-111-44921-8-Chapter07-49.jpg(外部程序存储器读选通),把该信号连接到2716的978-7-111-44921-8-Chapter07-50.jpg引脚,用于存储器读出选通。

存储器单元地址分析:

上述三总线的连接过程中,地址总线只需11根(A0~A10),占据了P0口的8根口线(P0.0~0.7)和P2口的3根口线(P2.0~2.2),片选线占据了P2口的1根口线(P2.7)。因此,P2口还剩4根口线(P2.3~2.6)没有用,一般来说其状态是任意的。为了便于分析,通常假设没有用到的高位地址线A11~A14(P2.3~2.6)处于一种确定状态(如全部为“0”状态),则扩展的程序存储器芯片Intel 2716的地址范围分析见表7-3。

表7-3 存储器单元地址表

978-7-111-44921-8-Chapter07-51.jpg

由于P2.6~P2.3的状态与2716芯片的寻址无关,所以在该芯片被寻址,P2.6~P2.3可以为任意状态,即从0000~1111共有16种状态组合。表明2716芯片对应着16个地址区间,即8000H~87FFH、8800H~8FFFH、9000H~97FFH、9800H~9FFFH、A000H~A7FFH、A800H~AFFFH…。在这些地址区间内都能访问到2716,这就是线选法存在的地址区间重叠问题。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈