《第六章MCS51单片机存储器的扩展.ppt》由会员分享,可在线阅读,更多相关《第六章MCS51单片机存储器的扩展.ppt(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口和P2口
3、构建的,其中P0,单片机扩展及系统结构,口的8位口线作地址线的低8位,P2口的口线作高位地址线。需要注意的是,在进行系统扩展时,P0口还用做数据线,因此需采用分时复用技术,对地址和数据进行分离。为此在构造地址总线时要增加一个8位锁存器,先把这低8位地址送锁存器暂存。由地址锁存器给系统提供低8位地址,然后把P0口作为数据线使用。2.数据总线(Data Bus)数据总线用于在单片机与存储器之间或单片机与I/O端口之间传送数据。单片机系统数据总线的位数与单片机处理数据的字长一致。如MCS-51单片机是8位字长,所以数据总线的位数也是8位。在系统扩展时,数据总线是由P0口构造的。3.控制总线(Cont
4、rol 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线译码器74LS139。,程序
8、存储器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为地址线;O0O7为数据输出线;
9、CE是片选线,OE/VPP是数据输出选通编程电源线,PGM是编程脉冲输入端。,程序存储器EPROM的扩展,2.使用单片EPROM的扩展电路 在程序存储器扩展电路设计中,由于所选中的EPROM芯片及地址锁存器不同,电路的连接方式也有所不同。,程序存储器EPROM的扩展,3.扩展多片EPROM的扩展电路 与单片EPROM扩展电路相比,多片EPROM的扩展除片选线CE外,其它均与单片扩展电路相同。图中给出了利用27128扩展64k字节EPROM程序存储器的方法。片选信号由译码选通法产生。,程序存储器EPROM的扩展,扩展多片程序存储器时,也可采用线选法产生片选信号。,外部数据存储器的扩展,8031单
10、片机内部有128字节RAM存储器。CPU对内部的RAM具有丰富的操作指令。但是用于实时数据采集和处理时,仅靠片内提供的128个字节的数据存储器是远远不够的。在这种情况下,可利用MCS-51的扩展功能扩展外部数据存储器。常用的数据存储器有静态RAM和动态RAM两种。动态RAM与静态RAM相比,具有成本低、功耗小的优点,但它需要刷新电路,以保持数据信息不丢失,其接口电路较复杂。故在单片机系统中没有得到广泛的应用。随着存储器技术的不断发展,近年来出现了一种新型的动态随机存储器集成动态随机存储器iRAM。它将一个完整的动态RAM系统(包括动态刷新硬件逻辑)集成到一个芯片之内,从而兼有静态RAM、动态R
11、AM的优点。与动态RAM相比,静态RAM无须考虑为保持数据而设置的刷新电路,故扩展电路较简单。但它的功耗及价格较动态RAM高。尽管如此,目前在单片机系统中最常用的RAM还是静态RAM,故本节主要讨论静态RAM与MCS-51的接口。,外部数据存储器的扩展,外部数据存储器的操作时序 MCS-51单片机设置了专门指令MOVX来访问外部数据存储器,共有4条寄存器间接寻址指令。,外部数据存储器的扩展,外部数据存储器的扩展,常用的静态RAM芯片 在8031单片机应用系统中,静态RAM是最常见的,由于这种存储器的设计无需考虑刷新问题,因而它与微处理器的接口很简单。最常用的静态RAM芯片有6116(2kB8)
12、、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:电源地。,外部数据存储器的扩展,外部数据存储器的扩展,静态RAM通常有读出、写入和
13、未选中三种工作方式。SRAM的工作方式选择表,外部数据存储器的扩展,64kB字节以内SRAM的扩展 扩展数据存储器空间地址同外扩程序存储器一样,由P2口提供高8位地址,P0口分时提供低8位地址和8位双向数据总线。片外SRAM的读和写由8031的RD(P3.1)和WR(P3.6)信号控制,片选端(CE)由地址译码器的译码输出控制。因此,SRAM在与单片机连接时,主要解决地址分配、数据线和控制信号线的连接。三片6264对应的存储空间表,外部数据存储器的扩展,外部数据存储器的扩展,外部数据存储器的扩展,各62128地址分配表,外部数据存储器的扩展,超过64K字节SRAM的扩展 MCS-51系列单片机
14、64K字节外部RAM空间是由P0口和P2口提供的16根地址线决定的,要想扩大RAM空间,可用增加地址线的办法来解决。每增加一根地址线,空间扩大一倍。增加地址线的方法有以下两种:一种是利用P1口增加地址线,另一种是利用扩展I/O口的方法增加地址线。所谓利用P1口增加地址线的方法就是利用P1口作地址线,这样扩展存储器的地址线可增加到24根。P1口的8根地址线可直接接到存储器响应的地址线上,也可作为译码器的输入信号线,用来选择芯片。具体用法同前面介绍的高8位地址线的用法一样。比如,当选用64K的存储器芯片(62512)时,可用P1口作为每一个64K的片选信号。即可把64K看成一页,而页的选择由P1口
15、控制。利用P1口可选择256个64K的页。利用P1口增加地址线的方法简单,但要占用单片机的I/O资源。,外部数据存储器的扩展,利用扩展I/O口的方法增加地址线需要一个锁存器,并将此锁存器作为外扩RAM的一个单元,分配一个地址,利用MOVX指令往锁存器写一个数,则锁存器的输出可作为新增加的地址线。这样,它就可和MCS-51单片机的16根地址线及控制线配合选中不同的64K字节区。扩展既可读又可写的程序存储器 在单片机中,程序存储器和数据存储器是严格分开的,它们使用不同的读选通控制信号,通过不同的读指令进行读操作。读程序存储器时产生PSEN控制信号,而访问数据存储器时产生的是RD信号。由于程序存放在
16、EPROM中,这就给程序调试带来了困难,因为放在程序存储器中的程序只能运行却不能修改,而在数据存储器中的内容虽然可以修改,但不能运行程序。为解决这一矛盾,可把数据存储器芯片经过特殊的连接,充作程序存储器使用,使之既可以运行程序,又可以修改程序。这时的数据存储器可称为仿真的程序存储器。,外部数据存储器的扩展,从前面的介绍中我们知道,程序存储器使用PSEN作选通信号,而数据存储器使用RD作选通信号。如果把这两个信号经过与门综合后,再作为RAM存储芯片的读选通信号,即可达到扩展可读写程序存储器的目的。,E2PROM扩展电路,电擦除可编程只读存储器E2PROM是近年来推出的新产品。其主要特点是能在计算
17、机系统中进行在线修改,并能在断电的情况下保持修改结果。它既具有RAM的随机读写特点,又具有ROM的非易失性优点。每个单元可重复进行一万次改写,保留信息的时间长达20年,不存在EPROM在日光下信息缓慢丢失的问题。因此,自从E2PROM问世以来,在智能化仪器仪表、控制装置、开发系统中得到了广泛应用。E2PROM的应用特性 对硬件电路没有特殊要求,操作十分简单。由于E2PROM片内设有编程所需要的高压脉冲产生电路,因而无需外加编程电源和编程脉冲即可完成写入工作。与RAM芯片相比,E2PROM的写操作速度慢。,E2PROM扩展电路,采用5V电擦除的E2PROM后,通常不需设置单独的擦除操作,可在写入
18、过程中自动擦抹(传统EPROM芯片的擦抹需经紫外线照射)。但它的擦除/写入次数是有限制的,不宜用在数据频繁更新的场合。将E2PROM作为程序存储器使用时,E2PROM应按程序存储器连接方法编址。如果 作为数据存储器使用,连接方式较灵活,既可按数据存储器或I/O口编址,也可以通过扩展I/O口与系统总线相连。,E2PROM扩展电路,常用的E2PROM芯片介绍常用的E2PROM芯片有2816/2816A,2817/2817A,2864A等。,E2PROM扩展电路,E2PROM扩展电路,2817A与单片机的接口电路设计 Intel2817A是2kB的电擦除可编程只读存储器,采用单一+5V供电,最大工作
19、电流为150mA,维持电流为55mA,读出时间最大为250ns,写入时间大约为16ms。片内设有编程所需的高压脉冲产生电路,无需外加编程电源和写入脉冲即可工作。2817A在写入一个字节的指令码或数据之前,自动擦除要写入的单元,因而无需进行专门的擦除操作。,E2PROM扩展电路,E2PROM扩展电路,E2PROM 2864A Intel2864A是8K8位电擦除可编程只读存储器,单一+5 V供电,最大工作电流160mA,最大维持电流60nA,典型读出时间250ns。由于芯片内部设有“页缓冲器”,因而允许对其快速写入。2864A内部可提供编程所需的全部定时,编程结束可给出查询标志。2864A管脚与
20、6264A完全兼容,为28线双列直插式封装。2864A有四种工作方式:1.维持和读出方式 2864A的维持和读出方式与普通的EPROM或SRAM完全相同。维持方式时,输出线呈高阻状态;读方式时,内部的数据缓冲器打开,数据送上总线。,E2PROM扩展电路,2.写入方式 2864A提供了两种数据写入操作方式。字节写入和页面写入。(1)字节写入 2864A的字节写入特性与前面介绍的2817A字节写入特性完全相同。(2)页面写入 为了提高写入速度,2864A片内设置了16字节的“页缓冲器”并将整个存储器阵列划分成512页,每页16字节。因此,页的区分可由地址的高9位(A4A12)确定。地址线的低四位(
21、AoA3)用以选择页缓冲器中的16个地址单元之一。把数据写入2864A的存储单元可分成两步来完成:首先,在软件控制下把数据写入页缓冲器,此过程称为“页加载”;第二步,2864A在内部定时电路控制下,在最后一个字节(即第16个字节)写入到页缓冲器后20ns自动开始,把页缓冲器的内容送到地址指定的E2PROM单元内,此过程即为“页存储”周期。,E2PROM扩展电路,3.数据查询方式 数据查询是指用软件来检测写操作中的“页存储”周期是否完成。在“页存储”期间,如对2864A执行读操作,那么读出的是最后写入的字节。若芯片的转储工作未完成,则读出数据的最高位是原来写入字节最高位的反码。据此,CPU可判断芯片的编程是否结束。如果CPU读出的数据与写入的数据相同,表示芯片已完成编程,CPU可继续向芯片加载下一页数据。2864A与单片机的接口电路与2817A的接口非常相似,只是地址线多两根。由于查询“存储是否完成”的方式有所不同,因此,2864A芯片不需要RDY/BUSY信号线。,第六章结束,
链接地址:https://www.31ppt.com/p-5667375.html