MCS51单片机原理课件(第7章)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第7章MCS-51扩展存储器的设计7.1MCS-51单片机系统扩展的基本概念7.2MCS-51的系统总线及总线构造7.3读写控制、地址空间和地址锁存器7.4程序存储器扩展技术7.5数据存储器扩展7.1MCS-51单片机系统扩展的基本概念7.1.1MCS-51单片机最小应用系统1.8051/8751最小应用系统(如图1所示)。由于集成度的限制,这种最小应用系统只能用作一些小型的控制单元。其应用特点是:(1)全部I/O口线均可供用户使用。(2)内部程序存储器容量有限(只有4KB地址空间)。(3)应用系统开发具有特殊性。图18051/8751最小应用系统2.8031最小应用系统8031是片内无程序存储器的单片机芯片,因此,其最小应用系统应在片外扩展EPROM。图2为用8031外接程序存储器构成的最小系统。图28031最小应用系统返回本节有时根据功能需求,这样的最小应用系统的资源还不能满足需要,这就需要在单片机外部扩展存储器(包括ROM和RAM)和I/O功能部件。MCS-51系统扩展的主要内容包括对外部存储器的扩展(外部ROM和外部RAM),以及I/O功能部件的扩展,本章主要介绍外部存储器的扩展。MCS-51系统扩展的基本结构见书P99页图7.1。7.2MCS-51的系统总线及总线构造1.MCS-51单片机的片外总线结构MCS-51系列单片机片外引脚可以构成如图3所示的三总线结构:地址总线(AB)数据总线(DB)控制总线(CB)所有外部芯片都通过这三组总线进行扩展。(1)地址总线(AB)MCS-51系列单片机地址总线宽为16位,所以可寻址范围为216=64KB。16位地址总线由P0口提供低8位A0-A7,P2口提供高8位A8-A15。由于P0口还要作数据总线,只能分时用作低8位地址线,所以P0输出的低8位地址必须用锁存器锁存。锁存器的锁存控制信号为ALE输出信号。P2口具有输出锁存功能,所以不需外加锁存器。(2)数据总线(DB)数据总线由P0口提供,其宽度为8位,用于单片机与外部存储器和I/O设备之间传送数据。P0口为三态双向口,可以进行两个方向的数据传送。(3)控制总线(CB)由P3口提供。实际上是一组控制信号线,包括单片机发出给外部部件的,以及外部部件发送给单片机的。对于一条具体的控制信号线来说,其传送方向是单向的。图38031单片机总线引脚结构2.系统总线的构造MCS-51单片机受引脚数目的限制,数据线和低8位地址线是分时复用的,即P0口线兼用,为了将他们分离开来,需要在单片机外部增加地址锁存器,从而构成与一般CPU相类似的三总线结构,如图3所示。地址锁存器一般采用74LS373,采用74LS373的地址总线扩展电路如图4所示图4MCS-51地址总线扩展电路(4KROM)总线的具体构造方法:(1)数据线的连接P0口的八位线承担此任,此时不用外接上拉电阻。(2)地址线的连接P0口承担地址低八位线,A0~A7;P2口承担地址高八位线。A8~A15。P0口线地址/数据分时复用,用地址锁存器74LS373锁存地址。(3)控制线的连接对存储器来讲控制线无非是:芯片的选通控制、读写控制。单片机与外部器件数据交换要遵循两个重要原则:一是,地址唯一性,一个单元一个地址。二是,同一时刻,CPU只能访问一个地址,即只能与一个单元交换数据。不交换时,外部器件处于锁闭状态,对总线呈浮空状态。对于存储器的扩展,主要用到的控制信号线有:ALE作为低8位地址的锁存控制信号PSEN作为扩展程序存储器的读选通信号EA作为内外程序存储器的选择控制信号RD作为外部扩展数据存储器的读选通信号WR作为外部扩展数据存储器的写选通信号由上述可见,由于系统存储器扩展的需要,真正作为I/O使用的,就剩P1和P3的部分口线了。3.MCS-51单片机的系统扩展能力当系统要大量配置外围设备以及要扩展较多的I/O口时,将占去大量的RAM地址。当应用系统存储扩展容量或扩展I/O口地址超过单片机地址总线范围时,可采用换体法解决。如图4所示。图4用I/O线来控制片外存储器换体返回本节7.3读写控制、地址空间和地址锁存器7.3.1存储器扩展的读写控制及选通外扩的RAM芯片既要能输入又能写出,所以都有读写控制引脚,一般记为OE和WE。这两个引脚应该分别和MCS-51的RD和WR相连。外扩的EPROM一般在正常使用时只作输出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,一般记为OE,该引脚应该与MCS-51的PSEN引脚相连。选通:CPU与器件交换数据或信息,需先发出选通信号/CE或/CS,以便选中芯片。7.3.2存储器地址空间分配一个实际的单片机系统中,往往既扩展了多片ROM又扩展了多片RAM,为避免发生数据冲突,需要对存储器的地址空间进行分配,达到一个存储单元只对应一个地址的要求。MCS-51通过地址总线发出的地址是用来仅选择某一片芯片上的一个存储器单元,所以MCS-51必须进行两中选择:(1)首先应该选中该芯片,称为片选,需要发出片选信号CS(2)选择出该芯片上对应的一个具体的存储器单元。例用1K×4位存储器芯片组成4K×8位存储器系统。所以为保证并联数据线上没有信号冲突,必须用片选信号区别不同芯片的地址空间。片选方法有:1.线选法微型机剩余高位地址总线直接连接各存储器片选线。其缺点是可寻址的器件数目受到限制,用于不太复杂的系统中。例书P102页2.译码片选法微型机剩余高位地址总线通过地址译码器输出片选信号。多片存储器芯片组成大容量存储器连接常用片选方法。常用译码芯片线选法举例锁存器P0.7P0.0A7A0P2.0P2.1P2.2A8A9A1061162K*8CS61162K*8CS61162K*8CS61162K*8CSP2.3P2.4P2.5P2.6A0—A10A0—A10A0—A10A0—A106116是2K*8位的RAM芯片,当需要用它扩展如图所示8K空间的RAM时,这时需要4块6116,对每块6116来说,它的地址范围都是(211=2K):00000000000B—11111111111B(0000H—07FFH)用到的地址线为(4块都一样):A0—A7由P0.0—P0.7提供,A8,A9,A10由P2.0,P2.1,P2.2提供为了区分这4块芯片,使它们的地址范围不重叠,还需要用P2.3—P2.6为这4块芯片提供一个片选信号,这样他们就可以被系统区分开了。译码片选法举例锁存器P0.7P0.0A7A0P2.0P2.1P2.2A8A9A1061162K*8CS61162K*8CS61162K*8CS61162K*8CSP2.3P2.4P2.5A0—A10A0—A10A0—A10A0—A1061162K*8CS61162K*8CS61162K*8CS61162K*8CSA0—A10A0—A10A0—A10A0—A10CBA74LS138当我们要用6116扩展16K的RAM时,这时将需要8片的6116,由于P2口的P2.0—P2.2被用作地址线,还剩下5位,所以如果仍然使用线选法将不能满足需要于是我们用P2.3—P2.5这3位,由于这3位的组合将有8种状态,用译码器对这3位译码,可得到这8种状态,再将译码器的8个状态的输出作为片选信号连接到8块6116的芯片的片选端。这样就可以让系统将这8块6116区分开来。当RAM和ROM的地址重叠时,系统能不能把它们区分开来呢?会不会出问题呢?不会出问题,因为除了地址和选通信号外,还有读/写控制信号起作用。所以系统是能把它们区分开的。RAM——/WE/WR单/OE/RD片ROM——/OE/PSEN机可用来区分二器件7.3.3外部地址锁存器P0口线分时复用作低8位地址/8位数据线,为了将它们分离出来,需要在单片机外部增加地址锁存器,当单片机输出地址时,把地址锁存到地址锁存器中,常用的锁存器芯片有:74LS373,8282,74LS573等。74LS373的功能表如下表:D为输入,Q为输出,应将芯片的G端与单片机的ALE引脚相连。一般OE端接地OE0001GDQ1111000不变高阻×××7.4程序存储器的扩展程序存储器一般采用只读存储器ROM,因为这种存储器在关断电源后,仍能保存程序(非易失性)。ROM按编程方式分以下几种:1.掩膜ROM,在制造过程中编程,编程以掩膜工艺实现。2.可编程ROM(PROM)芯片出厂无任何信息,由用户用编程器写入,但仅能写入一次。3.EPROM用电信号编程,用紫外线擦除的只读存储器芯片。可多次写入、擦除。4.E2PROM用电信号编程,也用电信号擦除。5.FLASHROM又称闪烁存储器。是一种非易失性,电擦除型存储器。改写次数可达1W次。成本却比E2PROM低EPROM芯片介绍常用EPROM芯片有:Intel2716(2KB×8位)、2732(4KB×8)、2764(8KB×8)、27128(16KB)、27256(32KB×8)、27512(64KB×8)。EPROM共有5种工作方式(见书P111页)1.读出方式2.未选中方式3.编程方式4.程序校验方式5.编程禁止方式28引脚EPROM芯片管脚配置典型EPROM接口电路8031扩展2KBEPROMIntel27168031上图的简化图:占用的地址空间:0000H—07FFH2764AEPROM扩展电路上图2764所占用的地址空间:地址线:A12-----A0(共13根)0000000000000—1111111111111(0000H—1FFFH)共8K27128AEPROM扩展电路返回本节上图27128所占用的地址空间:地址线:A13-----A0(共14根)00000000000000—11111111111111(0000H—3FFFH)共16K使用多片EPROM的扩展电路EAALEP2.6P2.7D0—D7BA74LS139A0--A7OECEA8—A1327128A0--A7OECEA8—A1327128A0--A7OECEA8—A1327128A0--A7OECEA8—A1327128D0—D7D0—D7D0—D7(1)(2)(3)(4)GD0|D7Q0|Q7P2.0—P2.5PSENP0.0—P0.774LS373Y0Y1Y3Y2G886886868686上图用4片27128将系统的程序存储器扩展至64K多片EPROM的扩展除了片选线CE外,其他线的连接均与单片的相同。4块EPROM的片选信号由P2.6和P2.7输出信号经译码器74LS139译码后给出。74LS139的真值表如下:GBA000Y0输出0,其余口线输出1001Y1输出0,其余口线输出1010Y2输出0,其余口线输出1011Y3输出0,其余口线输出1P2.7P2.6由此可算出上图中4片27128所占用的地址空间:地址线:A13-----A0(共14根)**00000000000000—**11111111111111对(1)号芯片,其片选信号端接的是Y0,对应的P2.7和P2.6脚状态为00,所以其地址范围应该是:0000000000000000–0011111111111111即0000H—3FFFH(2)号芯片,对应的P2.7和P2.6脚状态为01,所以其地址范围应该是:0100000000000000–0111111111111111即4000H—7FFFH(3)号芯片,对应的P2.7和P2.6脚状态为10,所以其地址范围应该是:1000000000000000–1011111111111111即8000H—BFFFH(4)号芯片,对应的P2.7和P2.6脚状态为11,所以其地址范围应该是:1100000000000000–1111111111111111即C000H—FFFFH7.5数据存储器扩展常用的数据存储器有静态存储器SRAM和动态存储器DRAM,在单片机应用系统中,一般采用静态数据存储器。片外数据存储器的读写由8031的

1 / 55
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功