第5章单片机存储器扩展第5章单片机存储器扩展5.1存储器扩展基础知识5.2存储器的扩展思考题第5章单片机存储器扩展5.1存储器扩展基础知识5.1.1最小应用系统5.1.2系统扩展的内容与方法5.1.3常用的扩展器件简介第5章单片机存储器扩展单片机系统的扩展是以基本的最小系统为基础的,故应首先熟悉最小应用系统的结构。实际上,内部带有程序存储器的8051或8751单片机本身就是一个最简单的最小应用系统,许多实际应用系统就是用这种成本低和体积小的单片结构实现了高性能的控制。对于目前国内较多采用的内部无程序存储器的芯片8031来说,则要用外接程序存储器的方法才能构成一个最小应用系统。5.1.1最小应用系统第5章单片机存储器扩展片内带程序存储器的8051、8751本身即可构成一片最小系统,只要将单片机接上时钟电路和复位电路即可,同时接高电平,ALE、信号不用,系统就可以工作。如图5-1(a)所示,该系统的特点如下:PSENEA1.片内带ROM的最小应用系统(1)系统有大量的I/O线可供用户使用:P0、P1、P2、P3四个口都可以作为I/O口使用。(2)内部存储器的容量有限,只有128B的RAM和4KB的程序存储器。第5章单片机存储器扩展片内无ROM的芯片(如8031)构成最小应用系统时,必须在片外扩展ROM。由于一般用作程序存储器的EPROM芯片不能锁存地址,故扩展时还应加1个锁存器,构成一个3片最小系统,如图5-1(b)所示。该图中74LS373为地址锁存器,用于锁存低8位地址。2.片内无ROM的最小应用系统此时单片机的CE引脚应接低电平。第5章单片机存储器扩展图5-1MCS-51系列最小化系统return第5章单片机存储器扩展1.单片机的三总线结构5.1.2系统扩展的内容与方法当单片机最小系统不能满足系统功能的要求时,就需要进行扩展。对于MCS-51系列单片机,其3总线由下列通道口的引线组成:地址总线:由P2口提供高8位地址线,此口具有输出锁存的功能,能保留地址信息。由P0口提供低8位地址线。数据总线:由P0口提供。此口是双向、输入三态控制的8位通道口。第5章单片机存储器扩展控制总线:扩展系统时常用的控制信号为,ALE——地址锁存信号,用以实现对低8位地址的锁存。——片外程序存储器ROM选通信号。——片外数据存储器RAM读信号。—片外数据存储器RAM写信号。PSENRDWR图5-2为单片机扩展成3总线结构的示意图。这样一来,扩展芯片与主机的连接方法同一般3总线结构的微型计算机就完全一样了。对于MCS-51系列单片机而言,Intel公司专门为它们配套生产了一些专用外围芯片,使用起来就更加方便。第5章单片机存储器扩展图5-2单片机的3总线结构形式第5章单片机存储器扩展2.系统扩展的内容(1)外部ROM的扩展;(2)外部RAM的扩展;(3)输入/输出接口的扩展;(4)管理功能器件的扩展(如定时/计数器、键盘/显示器、中断优先编码器等)。第5章单片机存储器扩展5.1.3常用的扩展器件简介(1)8D锁存器74LS37374LS373是一种带输出三态门的8D锁存器,其结构示意图如图5-3所示。其中:1D~8D为8个输入端;1Q~8Q为8个输出端。G为数据打入端:当G为“1”时,锁存器输出状态(1Q~8Q)同输入状态(1D~8D);当G由“1”变“0”时,数据打入锁存器中。第5章单片机存储器扩展图5-374LS373的结构示意图第5章单片机存储器扩展EPROM2764双列直插式28引脚的标准芯片,容量为8K×8位,其管脚如下图所示。(2)EPROM27642图5-42764的管脚图2第5章单片机存储器扩展(3)3—8译码器74LS1383-8译码器74LS138为一种常用的地址译码器芯片,其管脚图如图5-7所示。图5-774LS138管脚图第5章单片机存储器扩展表5-174LS138的译码关系第5章单片机存储器扩展(4)总线驱动器74LS244、74LS245总线驱动器74LS244和74LS245经常用作三态数据缓冲器,74LS244为单向三态数据缓冲器,而74LS245为双向三态数据缓冲器。单向的内部有8个三态驱动器,分成两组,分别由控制端和2G控制;双向的有16个三态驱动器,每个方向8个。在控制端有效时(为低电平),由DIR端控制驱动方向:DIR为“1”时方向从左到右(输出允许),DIR为“0”时方向从右到左(输入允许)。74LS244和74LS245的引脚图如图5-5所示。1G2GGG第5章单片机存储器扩展图5-5总线驱动器芯片管脚图(a)单向驱动器74LS244;(b)双向驱动器74LS245第5章单片机存储器扩展图5-6总线驱动器的连接图(a)P2口外接74LS244;(b)P0口外接74LS245第5章单片机存储器扩展5.2存储器的扩展5.2.1存储器扩展概述5.2.2程序存储器的扩展5.2.3数据存储器的扩展5.2.4同时扩展ROM和RAM第5章单片机存储器扩展MCS-51系列单片机具有64KB的程序存储器空间,其中8051、8751型单片机含有4KB的片内程序存储器,而8031型单片机则无片内程序存储器。当采用8051、8751型单片机而程序超过4KB,或采用8031型单片机时,就需要进行程序存储器的扩展。5.2.1存储器扩展概述存储器扩展的核心问题是存储器的编址问题。所谓编址就是给存储单元分配地址。第5章单片机存储器扩展存储器芯片的选择有两种方法:线选法和译码法。1.线选法所谓线选法,就是直接以系统的地址线作为存储器芯片的片选信号,为此只需把用到的地址线与存储器芯片的片选端直接相连即可。2.译码法所谓译码法就是使用地址译码器(例如3-8译码器)对系统的片外地址进行译码,以其译码输出作为存储器芯片的片选信号。第5章单片机存储器扩展译码法又分为完全译码和部分译码两种:(1)完全译码地址译码器使用了全部地址线,地址与存储单元一一对应,也就是1个存储单元只占用1个唯一的地址。(2)部分译码地址译码器仅使用了部分地址线,地址与存储单元不是一一对应,而是1个存储单元占用了几个地址。1根地址线不接,一个单元占用2(21)个地址;2根地址线不接,一个单元占用4(22)个地址;3根地址线不接,则占用8(23)个地址,依此类推。第5章单片机存储器扩展5.2.2程序存储器的扩展程序存储器的特点是掉电后数据不丢失,常用来存放程序和一些原始数据。按其制作原理可分为:(1)掩膜ROM;(2)可编程ROM(PROM);(3)可擦除ROM(EPROM或EPROM)。2程序存储器扩展时要用到控制线PSEN,通常是直接连接到扩展存储器芯片的OE端。下面用线选法和译码法分别介绍单片机程序存储器的扩展方法。第5章单片机存储器扩展1)8031和2764的连接图5-88031扩展一片2764(线选法)EPROM线选法EAPESNVss~~CE~~P2.0P2.7A8A12ALEA0A7~74LS373P0.0P0.7D0D7OE80312764(8KB)第5章单片机存储器扩展说明:(1)8031片内没有ROM,故必须扩展片外的ROM,2764是EPROM,容量为8KB。(3)由于2764容量为8KB,故需要13根地址线与之相连,即可选中该ROM的所有存储单元。这13根地址线来自8031的P0.0~P0.7,P2.0~P2.4,接到2764的A0~A12。(2)图4-8采用的是线选法,8031的P2.5连接到2764的CE端口,当8031的P2.5引脚为低电平时,即选中了2764芯片。第5章单片机存储器扩展(4)从8031的P0.0~P0.7端口输出的低8位地址,先送到74LS373(地址琐存器),然后P0.0~P0.7端口再用来输出数据,接到2764的D0~D7端口,高5位地址由P2.0~P2.4端口输出。(5)图4-8中有地址重叠现象,只要保证P2.5引脚为低电平,即可选中2764,故地址范围可以是0000H~1FFFH、或者4000H~5FFFH、或者8000H~9FFFH、或者C000H~DFFFH。一般以0000H~1FFFH为基本地址范围。第5章单片机存储器扩展2)8031和2817的连接图5-118031和2817的连接8031片内无ROM,必须在片外扩展ROM,于是EA必须接低电平2EPROMP1.0WRRDPSENP2.7P2.2P2.1P2.0ALEP0.7P0.08031EA~RDY/BUSYWEOECEA10A9A8A7A0I/O7I/O0~~VccGND2817(2KB)+5V74LS373+5V88第5章单片机存储器扩展说明:(1)2817是EPROM,存储容量为2KB,图5-2中采用的是线选法译码方式(即P2.7直接与2817的CE端相连),只要P2.7为低电平,就可以选中2817的2KB存储空间。(2)基本地址范围是0000H~07FFH,只要保持P2.7为0,P0.0~P0.7以及P2.0~P2.2可以从00000000000~11111111111,P2.3~P2.6可以从0000~1111,因此地址范围总共有16组。(3)P1.0口接2817的RDY/BUSY,是用来查询2817的写入操作是否完成。2第5章单片机存储器扩展5.2.3数据存储器的扩展数据存储器的扩展与程序存储器的扩展相类似,不同之处主要在于控制信号的接法不一样,不用信号,而用和信号,且直接与数据存储器的端和端相连即可。PSENRDWROEWE数据存储器RAM即随机存取存储器(RandomAccessMemory),用于存放可随时修改的数据信息。它与ROM不同,对RAM可以进行读、写两种操作。RAM为易失性存储器,断电后所存信息立即消失。按其工作方式,RAM又分为静态(SRAM)和动态(DRAM)两种。第5章单片机存储器扩展图5-128031和2186的连接上拉电阻:作用是保证P2.7引脚电平的稳定。P2.7RESETALEWRP2.4P2.0P0.7P0.0RDEA++RDY/RESETCEWEA12A8A7A0D7D0OEVssVcc+5V80312186(8KB)~~~~~RESET+5VRAM1)8031和2186的连接2186片内有地址锁存器,因而不需要74LS373885第5章单片机存储器扩展说明:(1)2186是RAM,在片内集成了地址琐存器,容量为8KB。因此,需要13根地址线与之相连,分别来自8031的P0口和P2.0~P2.4。(3)由于2186片内集成了地址琐存器,故在该扩展系统中不需要74LS373,低8位地址在ALE的下降沿时通过2186的地址线A0~A7送到它的片内地址琐存器当中,然后低8位地址线再用来传送数据,接到2186的D0~D7端口。(2)8031的ALE、P2.7、RESET三个引脚通过或门共同来选通2186(CE引脚)。当三者的“或值”为低电平时,即选通了2186芯片。第5章单片机存储器扩展图5-138031同时扩展一片2764、一片6264P2.5P2.4-P2.0ALEP0.7-P0.08031PSENRDWR74LS373A0~A12CED0~D7WEOEA0~A12CED0~D7PGMOE62642764RAMROM5.2.4同时扩展ROM和RAM第5章单片机存储器扩展说明:6264是RAM,2764是ROM。它们的容量都是8KB,地址线都接在8031的P0口和P2.0~P2.4。8031的P2.5口输出同时作为6264和2764的片选信号,接到它们的CE引脚。问题:当80C51同时扩展了程序存储器和数据存储器,并且这两种扩展芯片都共用16位地址线和8位数据线,为什么两个存储器空间不会发生冲突?答:程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于程序存储器由读选通信号PSEN控制,而数据存储器的读和写分别由RD和WR信号控制,故两者虽然共处同一地址空间,但由于控制信号不同,所以不会发生总线冲突。第5章单片机存储器扩展图5-14单片机外存储器最大扩展电路第5章单片机存储器扩展思考题1.请用线选法