《MCS-51单片机存储器的扩展幻灯片》由会员分享,可在线阅读,更多相关《MCS-51单片机存储器的扩展幻灯片(42页珍藏版)》请在金锄头文库上搜索。
1、第六章,MCS-51单片机存储器的扩展,6.1 单片机扩展及系统结构 6.2 程序存储器EPROM的扩展6.3 外部数据存储器的扩展 6.4 E2PROM扩展电路,教学目的和要求,教学目的和要求 本章主要介绍MCS-51单片机系统存储器扩展,主要有程序存储器(ROM)扩展、数据存储器(RAM)扩展等。重点掌握EPROM、E2PROM及RAM与MCS-51系列单片机接口电路的设计。,单片机扩展及系统结构,单片机扩展及系统结构,单片机扩展通常采用总线结构形式 ,整个扩展系统以单片机为核心,通过总线把各扩展部件连接起来,其形式有如各扩展部件“挂”在总线上一样。扩展内容可包括程序存储器ROM、数据存储
2、器RAM和I/O接口等。因为扩展是在单片机之外进行的,因此通常把扩展的部件称之为外部ROM或RAM。 所谓总线,就是连接系统中各扩展部件的一组公共信号线。按其功能通常把系统总线分为三组:即地址总线、数据总线和控制总线。1. 地址总线(Address Bus) 地址总线用于传送单片机送出的地址信号,以便进行存储单元和I/O端口的选择。地址总线的数目决定着可直接访问的存储单元的数目。例如n位地址,可产生2n个连续地址编码,因此可访问2n个存储单元,即通常所说的寻址范围为2n地址单元。MCS-51单片机存储器扩展最多可达64kB,即216地址单元,因此,最多可需16位地址线。这16根地址线是由P0口
3、和P2口构建的,其中P0,单片机扩展及系统结构,口的8位口线作地址线的低8位,P2口的口线作高位地址线。需要注意的是,在进行系统扩展时,P0口还用做数据线,因此需采用分时复用技术,对地址和数据进行分离。为此在构造地址总线时要增加一个8位锁存器,先把这低8位地址送锁存器暂存。由地址锁存器给系统提供低8位地址,然后把P0口作为数据线使用。2.数据总线(Data Bus) 数据总线用于在单片机与存储器之间或单片机与I/O端口之间传送数据。单片机系统数据总线的位数与单片机处理数据的字长一致。如MCS-51单片机是8位字长,所以数据总线的位数也是8位。在系统扩展时,数据总线是由P0口构造的。3.控制总线
4、(Control Bus) 控制总线是一组控制信号线。这些信号线有的是专用信号线,有的则是第二功能信号线。其中包括地址锁存信号ALE、程序存储器的读选通信号PSEN、以及读RD和写WR信号等。,程序存储器EPROM的扩展,MCS-51的程序存储器空间、数据存储器空间是相互独立的。程序存储器寻址空间为64kB(0000H0FFFFH),其中8051、8751片内包含有4kB的ROM或EPROM,8752含有8kB的EPROM,8031片内不带ROM。当片内ROM不够使用或采用8031芯片时,需扩展程序存储器,用作程序存储器的器件是EPROM、E2PROM和闪速存储器(Flash)。外部程序存储器
5、的扩展原理及时序,程序存储器EPROM的扩展,CPU读取的指令有两种情况:一是不访问数据存储器的指令;二是访问数据存储器的指令。因此,外部程序存储器就有两种操作时序。 外部程序存储器的操作时序,程序存储器EPROM的扩展,外部程序存储器的操作时序,程序存储器EPROM的扩展,常用地址锁存器 在MCS-51单片机中的16位地址,分为高8位和低8位。高8位由P2口输出,低8位由P0口输出。而P0口同时又是数据输入/输出口,故在传送时采用分时方式,先输出低8位地址,然后再传送数据。但是,在对外部存储器进行读/写操作时,16位地址必须保持不变,这就需要选用适当的寄存器存放低8位地址,因此在进行程序存储
6、器扩展时,必须利用地址锁存器将地址信号锁存起来。 通常,地址锁存器可使用带三态缓冲输出的8D锁存器74LS373或8282,也可使用带清除端的8D锁存器74LS273,地址锁存信号为ALE。 74LS373的功能表,程序存储器EPROM的扩展,几种地址锁存器的管脚配置与8031的连接方法图:,程序存储器EPROM的扩展,74LS373和8282都是透明的带有三态门的8D锁存器,可简化成如图结构。,程序存储器EPROM的扩展,常用地址译码器 在用多片存储器芯片构成外部存储器时,除了低8位地址需要锁存之外,还要由高位地址产生片选信号。产生片选信号有线选法和译码法两种。 所谓线选法就是用某几根多余的
7、高位地址线作为存储器的片选信号,来实现外扩存储器的目的。这种方法由于剩余的高位地址不参加译码,可为任意状态,所以将有很多地址空间重叠。线选法的优点是电路简单;其缺点是不同的高位地址线控制不同芯片,使地址空间是不连续的,故只使用于外扩芯片数目较少、不太复杂的系统。 所谓译码法是由译码器组成译码电路,译码电路将地址空间划分为若干块,其输出分别选通各存储器芯片。这样,即充分利用了存储空间,又克服了空间分散的缺点。若全部地址都参加译码,称为全译码;若部分地址参加译码,称为部分译码,这时存在部分地址重叠的情况。,程序存储器EPROM的扩展,常用的地址译码器是3-8线译码器74LS138和双2-4线译码器
8、74LS139。,程序存储器EPROM的扩展,程序存储器EPROM的扩展,典型EPROM扩展电路 1常用的EPROM芯片 紫外线擦除可编程只读存储器EPROM可作为MCS-51单片机的外部程序存储器,其典型产品是Intel公司的系列芯片2716(2kB8bit)、2732(4kB8bit)、2764(8kB8bit)、27128(16kB8bit)、27256(32kB8bit)和27512(64kB8bit)等。这些芯片上均有一个玻璃窗口,在紫外光下照射10分钟左右,存储器中的各位信息均变为1,此时,可以通过编程器将工作程序固化到这些芯片中。,程序存储器EPROM的扩展,A0A15为地址线;
9、O0O7为数据输出线;CE是片选线,OE/VPP是数据输出选通编程电源线,PGM是编程脉冲输入端。,程序存储器EPROM的扩展,2.使用单片EPROM的扩展电路 在程序存储器扩展电路设计中,由于所选中的EPROM芯片及地址锁存器不同,电路的连接方式也有所不同。,程序存储器EPROM的扩展,3.扩展多片EPROM的扩展电路 与单片EPROM扩展电路相比,多片EPROM的扩展除片选线CE外,其它均与单片扩展电路相同。图中给出了利用27128扩展64k字节EPROM程序存储器的方法。片选信号由译码选通法产生。,程序存储器EPROM的扩展,扩展多片程序存储器时,也可采用线选法产生片选信号。,外部数据存
10、储器的扩展,8031单片机内部有128字节RAM存储器。CPU对内部的RAM具有丰富的操作指令。但是用于实时数据采集和处理时,仅靠片内提供的128个字节的数据存储器是远远不够的。在这种情况下,可利用MCS-51的扩展功能扩展外部数据存储器。常用的数据存储器有静态RAM和动态RAM两种。动态RAM与静态RAM相比,具有成本低、功耗小的优点,但它需要刷新电路,以保持数据信息不丢失,其接口电路较复杂。故在单片机系统中没有得到广泛的应用。随着存储器技术的不断发展,近年来出现了一种新型的动态随机存储器集成动态随机存储器iRAM。它将一个完整的动态RAM系统(包括动态刷新硬件逻辑)集成到一个芯片之内,从而
11、兼有静态RAM、动态RAM的优点。 与动态RAM相比,静态RAM无须考虑为保持数据而设置的刷新电路,故扩展电路较简单。但它的功耗及价格较动态RAM高。尽管如此,目前在单片机系统中最常用的RAM还是静态RAM,故本节主要讨论静态RAM与MCS-51的接口。,外部数据存储器的扩展,外部数据存储器的操作时序 MCS-51单片机设置了专门指令MOVX来访问外部数据存储器,共有4条寄存器间接寻址指令。,外部数据存储器的扩展,外部数据存储器的扩展,常用的静态RAM芯片 在8031单片机应用系统中,静态RAM是最常见的,由于这种存储器的设计无需考虑刷新问题,因而它与微处理器的接口很简单。最常用的静态RAM芯
12、片有6116(2kB8)、6264(8kB8)、62128(16kB8)、62256(32kB8)等多种,它们都用单一+5V供电,双列直插封装,6116为24引脚封装,6264、62128、62256为28引脚封装。这些SRAM的引脚功能描述如下:A0An:地址输入线;对6116,n=10;对6264,n=12;其他的类推。D0D7:双向数据线;CE:是片选输入线,低电平有效;6264的CS1为高电平,且CE为 低电平时才选中该芯片。WE:写允许信号输入线,低电平有效;OE:读选通信号输入线,低电平有效;VCC:工作电源+5V。GND:电源地。,外部数据存储器的扩展,外部数据存储器的扩展,静态
13、RAM通常有读出、写入和未选中三种工作方式。 SRAM的工作方式选择表,外部数据存储器的扩展,64kB字节以内SRAM的扩展 扩展数据存储器空间地址同外扩程序存储器一样,由P2口提供高8位地址,P0口分时提供低8位地址和8位双向数据总线。片外SRAM的读和写由8031的RD(P3.1)和WR(P3.6)信号控制,片选端(CE)由地址译码器的译码输出控制。因此,SRAM在与单片机连接时,主要解决地址分配、数据线和控制信号线的连接。三片6264对应的存储空间表,外部数据存储器的扩展,外部数据存储器的扩展,外部数据存储器的扩展,各62128地址分配表,外部数据存储器的扩展,超过64K字节SRAM的扩
14、展 MCS-51系列单片机64K字节外部RAM空间是由P0口和P2口提供的16根地址线决定的,要想扩大RAM空间,可用增加地址线的办法来解决。每增加一根地址线,空间扩大一倍。增加地址线的方法有以下两种:一种是利用P1口增加地址线,另一种是利用扩展I/O口的方法增加地址线。 所谓利用P1口增加地址线的方法就是利用P1口作地址线,这样扩展存储器的地址线可增加到24根。P1口的8根地址线可直接接到存储器响应的地址线上,也可作为译码器的输入信号线,用来选择芯片。具体用法同前面介绍的高8位地址线的用法一样。比如,当选用64K的存储器芯片(62512)时,可用P1口作为每一个64K的片选信号。即可把64K
15、看成一页,而页的选择由P1口控制。利用P1口可选择256个64K的页。利用P1口增加地址线的方法简单,但要占用单片机的I/O资源。,外部数据存储器的扩展,利用扩展I/O口的方法增加地址线需要一个锁存器,并将此锁存器作为外扩RAM的一个单元,分配一个地址,利用MOVX指令往锁存器写一个数,则锁存器的输出可作为新增加的地址线。这样,它就可和MCS-51单片机的16根地址线及控制线配合选中不同的64K字节区。 扩展既可读又可写的程序存储器 在单片机中,程序存储器和数据存储器是严格分开的,它们使用不同的读选通控制信号,通过不同的读指令进行读操作。读程序存储器时产生PSEN控制信号,而访问数据存储器时产生的是RD信号。由于程序存放在EPROM中,这就给程序调试带来了困难,因为放在程序存储器中的程序只能运行却不能修改,而在数据存储器中的内容虽然可以修改,但不能运行程序。为解决这一矛盾,可把数据存储器芯片经过特殊的连接,充作程序存储器使用,使之既可以运行程序,又可以修改程序。这时的数据存储器可称为仿真的程序存储器。,外部数据存储器的扩展,从前面的介绍中我们知道,程序存储器使用PSEN作选通信号,而数据存储器使用RD作选通信号。如果把这两个信号经过与门综合后,再作为RAM存储芯片的读选通信号,即可达到扩展可读写程序存储器的目的。,E2PROM扩展电路,