收藏 分享(赏)

第五章存储器扩展技术.ppt

上传人:天天快乐 文档编号:1206803 上传时间:2018-06-18 格式:PPT 页数:32 大小:3.36MB
下载 相关 举报
第五章存储器扩展技术.ppt_第1页
第1页 / 共32页
第五章存储器扩展技术.ppt_第2页
第2页 / 共32页
第五章存储器扩展技术.ppt_第3页
第3页 / 共32页
第五章存储器扩展技术.ppt_第4页
第4页 / 共32页
第五章存储器扩展技术.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、第5章 单片机系统存储器扩展技术,MCS51单片机外部总线的扩展存储器扩展技术本章小结习题,本章内容,单片机本身的I/O口可以实现简单的I/O操作,但其功能十分有限。因为在单片机本身的I/O口电路中,只有数据锁存和缓冲功能,而没有状态寄存和命令寄存功能,难以满足复杂的I/O操作要求。因此,往往需要外部存储器及接口芯片的扩展。本章主要介绍MCS51单片机外部总线的扩展、存储器扩展。,5.1 MCS51单片机外部总线的扩展,一、单片机的三总线结构,为了使单片机能方便地与各种扩展芯片连接,常将单片机的外部总线连接为一般的微型计算机三总线结构形式。对于MCS51系列单片机,三总线由下列通道口的引线组成

2、。 (1) 地址总线 由P2口提供高8位地址线 ,低8位地址线由P0口与地址锁存器提供。 (2) 数据总线 由P0口提供。 (3) 控制总线 扩展系统时常用的控制信号如下所述。 ALE地址锁存信号,用以实现对低8位地址的锁存。高电平有效。 片外程序存储器读选通信号。 片外数据存储器读信号。 片外数据存储器写信号。,图5.1为单片机扩展成三总线结构的示意图。扩展芯片与单片机的连接方法与一般三总线结构的微机完全一样了。,MCS51单片机外部总线的扩展,图5.1 MCS51单片机扩展成三总线结构示意图,P0口是一个复用口,地址锁存信号ALE高电平时P0口的信息为地址信号,地址锁存信号ALE低电平时,

3、P0口的信息为数据信号。即地址信号在ALE上升后有效,在ALE下降后消失。因此,为了锁存地址信息,可以用ALE的负跳变将地址信息存入地址锁存器。图5.2为采用74LS373、INTEL8282、74LS273芯片作为地址锁存器的MCS51系统扩展低8位地址总线的电路。74LS373与INTEL8282是同类芯片,区别是具体引脚不同。,MCS51单片机外部总线的扩展,(a) 74LS373 (b) Intel8282 (c) 74LS273 图5.2 常用的实现低8位地址锁存电路,二、典型的低8位地址总线的扩展电路,MCS51系列单片机的数据存储器与程序存储器的地址空间是互相独立的,其片外数据存

4、储器的空间可达64 KB,而片内的数据存储器空间只有128B。当片内的数据存储器不够用时,则需进行数据存储器的扩展。MCS51系列单片机具有64 KB的外部程序存储器空间,其中8051、8751型单片机含有4 KB 的片内程序存储器,而8031型单片机则无片内程序存储器。当采用8051、8751型单片机的用户程序超过4 KB、或采用8031型单片机时,就需要进行程序存储器的扩展。本节将介绍这两种存储器的扩展技术。,5.2 存储器扩展技术,扩展地址译码的方法通常有3种方法:线选法、译码法和片外体选法。,一、单片机的地址译码方法,所谓线选法,就是直接利用系统的地址线作为存储器芯片的片选信号。译码时

5、只需将用到的地址线与存储器芯片的片选端直接相连即可。其特点是译码电路简单。但系统中有多片需要扩展时,地址会有不连续的情况,使用时需特别注意。在多片程序存储器系统中尽量不用这种方法。,1. 线选法,2. 译码法,存储器扩展技术,所谓译码法就是使用地址译码器对系统的片外地址进行译码,以译码输出作为存储器芯片的片选信号。常用的译码器有74LS138、74LS139、74LS154等。译码法又分为完全译码和部分译码两种。(1) 完全译码。地址译码器使用了全部地址线,地址与存储单元一一对应,也就是1个存储单元只占用1个唯一的地址。(2) 部分译码。地址译码器仅使用了部分地址线,地址与存储单元不是一一对应

6、,1个存储单元占用了几个地址。,存储器扩展技术,3. 片外体选扩展方式,对于MCS51单片机的数据存储器的直接扩展范围为64KB。如果需要扩展大于64K的存储空间,可将待扩展的存储体划分成可直接扩展的多个存储体。利用输出端口控制选择具体的每个存储体。采用这种方法可使MCS51单片机根据需要扩展大于64KB的存储体。,二、程序存储器的扩展,半导体存储器分为随机存取存储器(Random Access Memory,RAM)和只读存储器 (Read Only Memory,ROM)两大类,前者主要用于存放暂存数据及调试程序,后者主要用于存放常数及固定程序。,存储器扩展技术,只读存储器是由MOS管阵列

7、构成的,以MOS管的接通或断开来存储二进制信息。按照程序要求确定ROM存储阵列中各MOS管状态的过程叫做ROM编程。根据编程方式的不同,ROM可分为以下4种: 1) 掩膜ROM掩膜ROM简称为ROM,其编程是由半导体制造厂家完成的,即在生产过程中进行编程。一般在产品定型后使用,可以降低成本。 2) 可编程ROM ( PROM ) PROM芯片出厂时并没有任何程序信息,应用程序可由用户一次性编程写入。但只能编程一次。与掩膜ROM相比,有了一定的灵活性。,1. 只读存储器,3) 可擦除ROM ( EPROM 或 EEPROM ) 可擦除ROM芯片的内容可以由用户编程写入,并允许反复擦除重新编程写入

8、。 EPROM为紫外线可擦除ROM。EEPROM为电可擦除ROM。EEPROM芯片每个字节可改写万次以上,信息的保存期大于10年。这种芯片给计算机应用系统带来很大的方便,不仅可以修改参数,而且断电后能保存数据。如EPROM2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)和EEPROM2864(8KB)。 4) Flash ROM Flash ROM又称快闪存储器,或称快可擦写ROM。Flash ROM是在EPROM、EEPROM的基础上发展起来的一种只读存储器。是一种非易失性、电可擦除型存储器。其特点是可快速在线修改其存储单元中的数据,标准改写次数可达

9、1万次,而成本却比普通EEPROM低得多,因而可替代EEPROM。与EPROM相比,EEPROM的写入的速度较慢,而 Flash ROM的读写速度都很快,存取时间可达70ns。由于其性能比EEPROM要好,所以目前大有取代EEPROM的趋势。 目前,许多公司生产的以MCS51为内核的单片机,在芯片内部集成了数量不等的Flash ROM。例如,美国ATMEL公司生产的89C51片内有4KB的Flash ROM;89C55片内部有20KB的Flash ROM。这些类型的单片机与8051单片机完全兼容,目前已广泛的应用。,存储器扩展技术,EPROM2764是一种典型的紫外线可擦除ROM。该芯片为双列

10、直插式28引脚的标准芯片,容量为8KB8位。在MCS51单片机中常用于扩展程序存储器。EPROM2764的引脚如图5.3所示。其引脚功能如下: A12A013位地址线,地址线的引脚数目由芯片的存储容量来定; Q7Q08位数据引脚; 片选信号,低电平有效; 输出允许信号,当有效时,输出缓冲器打开,被寻址单元的内容才能被读出; 编程允许信号,低电平有效; 编程电源。当芯片编程时,该端加上编程电压(+25V或+12V);正常使用时,该端加+5V电源。,存储器扩展技术,图5.3 EPROM2764的引脚,2. EPROM2764简介,1) 访问程序存储器的控制信号 MCS51单片机访问程序存储器时所用

11、的控制信号如下所述: ALE用于低8位地址锁存控制信号。 片外程序存储器选通控制信号。常直接连EPROM的引脚。 片内、片外程序存储器访问的控制信号。 =1时,访问片内程序存储器;当 =0时,访问片外程序存储器。 如果指令是从片外EPROM中读取时,除了ALE用于低8位地址锁存信号外,需用于控制EPROM的数据输出允许信号。此外,还要用P0口分时用作低8位地址总线和数据总线。P2口作高8位地址总线。,3. 程序存储器的操作时序,2) 操作时序 图4.4为MCS51程序存储器操作时序图。在S1状态周期的P1状态开始,控制信号ALE上升为高电平后,P0口输出低8位地址,P2口输出高8位地址。在S2

12、状态周期P1状态,ALE的下降沿将P0口的输出的低8位地址锁存到外部地址锁存器中。在S2状态周期的P2状态开始,P0口由输出方式变为输入方式。等待从程序存储器读出指令。而此时P2口输出的高8位地址信息不变。在锁存器输出的地址对应单元指令字节传送到P0口上供CPU读取。从图5.4中还可以看出,MCS51的CPU在访问外部程序存储器的一个机器周期内,ALE信号出现两个正脉冲,信号出现两个负脉冲,说明在一个机器周期内CPU两次访问外部程序存储器。,存储器扩展技术,图5.4 MCS51程序存储器操作时序图,存储器扩展的核心问题是存储器的编址问题。所谓编址就是给存储单元分配地址。由于存储体通常由多片芯片

13、组成,为此存储器的编址分为两个部分来考虑:即存储器芯片的选择和存储器芯片内部存储单元的选择。实际应用时往往需根据具体情况采用不同的扩展方法。下面就介绍一下MCS51单片机应用系统中常用的3种扩展方法。 1) 不采用片外译码的单片程序存储器的扩展 由于8051单片机无片内程序存储器,因此必须外接程序存储器以构成最小系统。图5.5为8051单片机与EPROM 2764的连接图,图中经74LS 373输出的是EPROM 2764所需的低8位地址,EPROM 2764的高5位地址由8051的P2.0P2.4实现。EPROM 2764的地址范围是0000H1FFFH。这种方法常常用于系统中只有一片程序存

14、储器扩展的情况。,存储器扩展技术,4. 典型程序存储器的扩展方法,存储器扩展技术,图5.5 程序存储器与8051单片机的连接,2) 采用线选法的多片程序存储器的扩展 图5.6为采用线选法存储器扩展电路。扩展电路使用3片EPROM 2764扩展24KB的外部程序存储器。图中采用P2.7(A15)、P2.6(A14)、P2.5(A13)三根地址线分别连接3#、2#、1# EPROM 2764芯片的片选信号端。采用线选法选中3个芯片。当P2.7(A15)、P2.6(A14)、P2.5(A13)分别为低电平时,选中各自对应芯片。该扩展电路的各存储器地址分别为: (1) 1#:C000HDFFFH。 (

15、2) 2#:A000HBFFFH。 (3) 3#:6000H7FFFH。 这种方法常常用于系统中有多片程序存储器扩展,且要求译码电路简单或尽量不用地址译码器的情况。缺点是存储器的地址不连续。需在编程中用跳转指令实现跨区运行程序。,存储器扩展技术,存储器扩展技术,图5.6 线选法存储器扩展,3) 采用地址译码器的多片程序存储器的扩展 图5.7 所示为译码法存储器扩展电路。扩展电路采用74LS138译码器实现地址译码。该程序存储器的地址为16位。P0口确定低8位地址,P2口确定高8位地址。根据138译码器的控制端可知地址线与各片2764芯片的对应的关系如下表5-1所示。,存储器扩展技术,图5.7

16、译码法存储器扩展,存储器扩展技术,由此可知,这个扩展电路的两片2764存储器的地址分别为: (1) 1#芯片的地址译码的范围是0000H1FFFH。 (2) 2#芯片的地址译码的范围是2000H3FFFH。 这种方法的特点是存储体地址连续。在系统及成本允许的条件下,建议使用这种程序存储器扩展方式。,表5-1 地址线与各片2764芯片的对应的关系,三、数据存储器的扩展,存储器扩展技术,MCS51系列单片机内有128字节的RAM数据存储器,它们可以作为工作寄存器、堆栈、软件标志和数据缓冲器使用,MCS51单片机对内部RAM具有丰富的操作指令。对大多数控制性应用场合,内部RAM已能满足系统对数据存储

17、器的要求。对需要大容量数据缓存器的应用系统,如语音录入回放系统中采样数据容量很大,就需要在单片机外部扩展大容量的数据存储器才能满足应用要求。数据存储器用于存储现场采集的原始数据、运算结果等,所以外部数据存储器的内容需要能够随机读出或写入,通常采用半导体静态随机存取存储器RAM电路。,目前,单片机系统常用的RAM电路有6116(2KB)、6264(8KB)、62128(16KB)。 图5.8所示为常用数据存储器的引脚图,引脚符号功能如下:,1. 常用静态数据存储器芯片,存储器扩展技术,图5.8 常用数据存储器的引脚图,引脚功能:AiA0地址线,i=10(6116),i=12(6264);I/O7

18、I/O08位数据线;,片选信号,低电平有效; 数据输出允许信号,当有效时,输出缓冲器打开,被寻址单元的内容才能被读出; 写信号,低电平有效。,MCS51单片机访问数据存储器扩展的常用控制信号如下所述:ALE地址锁存信号,用以实现对低8位地址的锁存;,存储器扩展技术,MCS51单片机扩展的外部数据存储器读/写数据时,主要考虑如何将所用的控制信号ALE、信号及地址线与数据存储器的连接问题。在扩展一片外RAM时,应将引脚与RAM芯片的引脚连接,引脚与芯片引脚连接。ALE信号的作用与外扩程序存储器的作用相同,即锁存低8位地址。图5.9所示为用RAM 6116芯片扩展2KB数据存储器电路。图中RAM 6

19、116芯片的8位数据线接MCS51单片机的P0口,图中RAM 6116芯片的A0A10接MCS51单片机扩展的地址线A0A10。图中RAM 6116芯片 的片选信号接地。数据存储器的地址可以为0000H07FFH,也可以是0800H0FFFH等多块空间。如果系统中有多片RAM 6116芯片,则各个芯片的片选信号需接译码器的输出端。,片外数据存储器写信号;片外数据存储器读信号。,2. 访问数据存储器常用控制信号,3. 数据存储器一般的扩展方法,存储器扩展技术,图5.9 6116芯片扩展2KB数据存储器,当系统的数据存储器硬件扩展电路设计完成后,往往需要验证是否正确。常用的验证方法为将某些数据写入

20、存储单元,然后读出并与写入的数据进行比较。如果一致,则表明系统的数据存储器硬件扩展正确。具体的验证程序如下: MOV DPTR,#ADRI ;ADRI为某单元地址 MOV A,#DATA ;DATA为验证数据 MOVX DPTR ,A ;写验证数据数据 MOVX A,DPTR ;读验证数据 XRL A,#DATA ;验证数据比较 JNZ EROOR ;正确 EROOR: ;错误,存储器扩展技术,4. 数据存储器扩展的调试方法,四、存储器的综合扩展,存储器扩展技术,某些控制系统,由于实时控制的需要,系统既需要扩展程序存储器,又需要同时扩展数据存储器,此时,可采用线选法或译码法,将数据存储器与程序

21、存储器等同看待,但注意CPU对数据存储器与程序存储器的控制信号不同,所以数据存储器与程序存储器地址可以重叠。 图5.10所示为综合存储器扩展连接图,该系统既包含数据存储器6264的扩展,又包含程序存储器2764的扩展,两种芯片的控制信号不同:数据存储器6264可读可写,程序存储器2764只读不可写。RAM 6264的数据总线控制信号线为WR、RD,RAM 2764的数据总线控制信号线为PSEN。此时,如果读取ROM 2764程序存储器中的内容,必须采用MOVC A,A+PC或MOVC A,A+DPTR指令读取数据。如果读取RAM 6264数据存储器中的内容,必须采用 MOVX A,Ri或MOV

22、X A,A+DPTR指令读取数据。 图5.10中74HC 139为双24译码器,当P2.7、P2.6、P2.5的组合为000时选中Y0;组合为001时选中Y1;组合为010时选中Y2。则图5.10中4个芯片IC0IC3(由左至右)的地址分别为0000H1FFFH,2000H3FFFH,0000H1FFFH,4000H5FFFH。,1. 程序存储器与数据存储器的综合扩展,存储器扩展技术,图5.10 综合存储器扩展连接图(1),存储器扩展技术,图5.11所示也是可以实现上述功能的存储器扩展。与图5.10不同的是IC0 2764的控制信号线为RD。此时,如果读取IC0 2764中的内容,必须采用MO

23、VX A,A+DPTR指令读取数据。此种情况通常是将2764中存入数据表格等常数。图5.11中4个芯片IC0IC3(由左至右)的地址分别为0000H1FFFH,4000H5FFFH,2000H3FFFH,6000H7FFFH。,图5.11 综合存储器扩展连接图(2),628128为128KB的静态数据存储器,芯片自身的地址总线A0A16共17条,而8051单片机的地址总线共16条,此时,需要采用片外体选法。如图5.12所示,74LS373为地址锁存器,输出RAM 628128的低8位地址(A0A7),74LS273的输出充当高7位地址(A10A16),用于实现存储体选择。本设计是将128KB的

24、存储体分成了128份,每份容量为1KB。74LS 273的控制端由74LS 138译码器的输出端控制,地址为C000H。74LS 273从Q1Q7端输出的数据为00H7FH,分别对应128个存储体。由CPU的P2.0,P2.1充当RAM 628128的另外两条地址总线(A8、A9)。,存储器扩展技术,2. 采用片外体选法的数据存储器的扩展,存储器扩展技术,图5.12 片外体选扩展RAM 628128,如果想从RAM 628128的10080H单元读/写数据时,需用下列指令实现。读数据: MOV DPTR,#0C000H ; MOV A,#40H MOVXDPTR,A ;选定存储部分 MOV DPTR,#0D080H MOVXA,DPTR ;数据读写数据: MOV DPTR,#0C000H ;选定存储部分 MOV A,#40H MOVX DPTR,A MOV DPTR,#0D080H MOV A,#DATA ;DATA为待写数据 MOVXDPTR,A ;写数据,存储器扩展技术,本章小结,三总线构成选址译码方法程序存储器扩展数据存储器扩展混合扩展,作业:P98页 5-6,5-7,5-8,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报