




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、10.5 存储器扩展10.5.1 存储器扩展概述1. 80C51单片机的存储器扩展80C51单片机地址总线宽度为16位(P0口为低8位,P2口为高8位),片外可扩展的存储器最大容量为64KB,地址为0000HFFFFH。因为程序存储器和数据存储器是通过不同的控制信号和指令进行访问【程序存储器用单片机的引脚,数据存储器用和引脚】,允许两者的地址空间重叠(或相同)。所以片外可扩展的程序存储器与数据存储器分别都为64KB。【强调:程序存储器用单片机的引脚,数据存储器和IO接口用和引脚】【用串行通信中的情况来解释,以便相互联系地进行理解。类似于串行的SBUF,地址都为99H,一个只能读出,一个只能写入
2、;例如用74LS244和74LS273的例题,对输入和输出,也是用的相同地址】2. 存储器扩展的一般方法不论何种存储器芯片,其引脚都是用三总线结构(AB、DB、CB)和单片机连接都是三总线对接。存储器编址分两个层次:(1)存储芯片的选择(用高位地址线进行片选【线选或译码输出】);(2)芯片内部存储单元的选择(用低位地址线)。如下图,如果存储器芯片容量为2KB,则需要地址线为11根,芯片的引脚可以与地址总线的低11位A0A10相连,用于选择芯片内的具体字节存储单元。如果用地址总线的A14、A13、A12、A11四根地址线参加译码来选择芯片,A15不参与译码【例如用74LS154,4-16】,如果
3、选择这四根地址总线的状态为0010时选中该芯片。由于地址总线A15不参加译码,所以当A15A14A13A12A11=00010(或10010)时,都可以选中该存储器芯片。 当A15=0时,芯片占用的地址是:【地址不连续】0001 0000 0000 00000001 0111 1111 1111,即1000H17FFH。当A15=1时,芯片占用的地址是:1001 0000 0000 00001001 0111 1111 1111,即9000H97FFH。10.5.2 程序存储器的扩展程序存储器中的信息要用特殊方式写入(程序、常数、表格数据),断电后可保持信息不丢失。单片机系统工作时,程序存储器
4、中的信息只能读出。向程序存储器中“写入”信息称为程序存储器编程。根据编程方式不同,分为以下几种。(1)ROM。(Read Only Memory)在制造过程中编程,是以掩模工艺实现的,因此称为掩模ROM。由生产芯片的厂家固化信息。在最后一道工序用掩膜工艺写入信息,用户只能读。这种芯片存储结构简单,集成度高,但由于掩模工艺成本较高,因此只适合于大批量生产。【计算机中的BIOS芯片采用】(2)可编程ROM(PROM)。芯片出厂时没有任何程序信息,用户可进行一次编程。存储单元电路由熔丝相连,当加入写脉冲,某些存储单元熔丝熔断,信息永久写入,不能再次改写。(3)EPROM。使用专用的编程器将调试完毕的
5、程序写入。如果要改写其中的程序,必须用紫外线照射芯片外壳的中间位置的圆形窗口【大约需要几分钟时间】,清除掉其中的程序后(二进制代码),可再次写入。程序写入后,要在圆形窗口上贴上挡光贴片,以防紫外线照射。【医院的紫外线灯,太阳下照射】(4)E2PROM(EEPROM)。既可全片擦除也可字节擦除,可在线擦除信息,又能在掉电时保存信息,具备RAM、ROM的优点,但写入时间较长。对E2PROM的读写操作与RAM存储器几乎没有什么差别,只是写入的速度慢一些,但断电后仍能保存信息,对数据的保存期为10年。(5)Flash ROM。 又称闪速存储器(简称闪存),是在EPROM、E2PROM的基础上发展起来的
6、一种电擦除型只读存储器。特点是可快速在线修改其存储单元中的数据,改写次数可达1万次,其读写速度很快,存取时间可达70ns,而成本比E2PROM低得多,大有取代E2PROM的趋势。【如果空间没有利用完,可以用不同的单元进行改写,这样可延长整个芯片的寿命】目前许多公司生产的8051内核的单片机,在芯片内部大多集成了数量不等的Flash ROM。例如,美国ATMEL公司产品AT89C5x/AT89S5x,片内有不同容量的Flash ROM。在片内的Flash ROM满足要求下,扩展外部程序存储器可省去。10.5.3 常用的EPROM芯片使用较多的是并行EPROM,EPROM的典型芯片是27系列产品,
7、例如,2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。型号 “27”后面的数字表示芯片的存储容量。如果换算成字节容量,只需将该数字除以8即可。例如,“27128”中的“27”后的数字 “128”,128/8 =16KB随着大规模集成电路技术的发展,大容量存储器芯片产量剧增,售价不断下降,性价比明显增高,且由于小容量芯片停止生产,使市场某些小容量芯片价格反而比大容量芯片还贵。所以,应尽量采用大容量芯片。1常用EPROM芯片引脚27系列EPROM芯片的引脚如图10-12所示。芯片引脚功能为:A0A15:地址线引脚。用于进行单元选择。芯片的存储容
8、量决定需要利用A0A15中的多少根引脚。D7D0:8根数据线。:片选控制端。【低电平有效,由线选或译码器输出选择】:输出允许控制端。【低电平有效,和单片机的相连】:编程时,编程脉冲的输入端。图10-12 常用EPROM芯片引脚VPP:编程时,编程电压(12.5V、21V等)输入端。VCC:+5V,芯片的工作电压。GND:数字地。NC:无用端。【不用,可以不连接】表10-4为27系列EPROM芯片的技术参数,其中VCC是芯片供电电压,VPP是编程电压,Im为最大静态电流,Is为维持电流,TRM为最大读出时间。表10-4 常用EPROM芯片参数表【不用记忆】参 数型号Vcc(V)Vpp(V)Im(
9、mA)Is(mA)Trm(nS)容量TMS2732A521132322004504KB×8TMS2764521100352004508KB×8Intel2764A512.560202008KB×8Intel27C64512.5100.12008KB×8Intel27128A512.51004015020016KB×8Intel27C128512.5300.120016KB×8Intel27256512.51004022032KB×8Intel27C256512.580.125030032KB×8Intel27512
10、512.51254025064KB×82EPROM芯片的工作方式5种工作方式,由、和信号的组合确定。如表10-5所示。表10-5 EPROM的5种工作方式方式D7D0读出低低5V程序、数据读出未选中高×5V高阻编程正脉冲高21V(或12.5)程序写入程序校验低低21V(或12.5)程序读出编程禁止低高21V(或12.5)高阻(1)读出方式:工作在该方式的条件是:使片选控制线为低电平,同时让输出允许控制线为低电平,VPP为+5V,就可把指定地址单元的内容从D7D0上读出。(2)未选中方式:当片选控制线为高电平时,芯片未选中方式,数据输出为高阻抗悬浮状态,不占用数据总线【相当于
11、断开】。EPROM处于低功耗的维持状态。(3)编程方式。在VPP端加上规定好的电压,和端加上合适的电平(不同芯片要求不同),能将数据写入到指定地址单元。编程地址和编程数据分别由系统的A15A0和D7D0提供。(4)编程校验方式。VPP端保持相应的编程电压(高压),再按读出方式操作,读出固化好的内容,校验写入内容是否正确。(5)编程禁止方式。10.5.4 程序存储器的操作时序1单片机访问程序存储器的控制信号80C51单片机访问片外扩展的程序存储器时,所用的控制信号有以下4种:(1)ALE:用于锁存低8位地址,一般都接74LS373的G端(LE端)。(2):片外程序存储器“读选通”控制信号。连接外
12、扩EPROM的 引脚。【因为读EPROM时,为低电平】(3):片内、片外程序存储器访问的控制信号。 (4) 片选信号。当=1时,在单片机发出的地址小于片内程序存储器最大地址时,访问片内程序存储器;当=0时,只访问片外程序存储器。如果指令是从片外EPROM中读取的,除了ALE用于低8位地址锁存信号之外,控制信号还有接外扩EPROM的脚。此外,P0口分时用作低8位地址总线和数据总线【利用ALE信号和74LS373锁存地址低8位】,P2口用作高8位地址线。2操作时序80C51对片外程序存储器的操作时序分两种,即执行非MOVX指令的时序和执行MOVX指令的时序,如图10-12所示。(1)应用系统中无片
13、外RAM在系统无片外RAM(或I/O)时,不用执行MOVX指令。在执行非MOVX指令时,时序如图10-12(a)所示。P0口作为地址/数据复用的双向总线,用于输入指令或输出程序存储器的低8位地址PCL。P2口专门用于输出程序存储器的高8位地址PCH。P0口分时复用,所以首先要将P0口输出的低8位地址PCL锁存在锁存器中,然后P0口再作为数据口。在每个机器周期中,允许地址锁存两次有效,ALE在下降沿时,将P0口的低8位地址PCL锁存在锁存器中。图10-12 执行非MOVX指令的时序同时,也是每个机器周期中两次有效,用于选通片外程序存储器,将指令读入片内。系统无片外RAM(或I/O)时,此ALE信
14、号以振荡器频率的1/6出现在引脚上,它可用作外部时钟或定时脉冲信号。(2)应用系统中接有片外RAM由图10-12(b)可以看出:(1)将ALE用作定时脉冲输出时,执行一次MOVX指令就会丢失一个ALE脉冲;(2)只有在执行MOVX指令时的第二个机器周期中,才对数据存储器(或I/O)读/写,地址总线才由数据存储器使用。图10-12 执行MOVX指令的(读)时序10.5.5 80C51单片机与EPROM的接口电路设计由于80C51单片机片内集成不同容量的Flash ROM,可根据实际需要来决定是否外部扩展EPROM。当应用程序不大于单片机片内的Flash ROM容量时,扩展外部程序存储器的工作可省
15、略。但作为扩展外部程序存储器的基本方法,还是应该掌握。180C51与单片EPROM的硬件接口电路在设计接口电路时,由于扩展的EPROM在正常使用中只读不写,故EPROM芯片只有读出控制引脚,记为,该引脚与80C51单片机的相连,地址线、数据线分别与80C51单片机的地址线、数据线相连,片选端控制可采用线选法或译码法。【没有写入控制信号】下面介绍2764和27128芯片与80C51的接口。更大容量的27256、27512与80C51的连接,差别只是连接的地址线数目不同。由于2764与27128引脚的差别仅在26脚,2764的26脚是空脚(NC),27128的26脚是地址线A13,因此在设计外扩存
16、储器电路时,应选用27128芯片设计电路。在实际应用时,可将27128换成2764,系统仍能正常运行。图10-13所示为80C51外扩16KB的EPROM 27128的电路。由于只扩展一片EPROM,所以片选端的连接可以是:(1)可以直接接地;(2)也可接到某一高位地址线上(A15或A14;P27或P26)进行线选;(3)也可接某一地址译码器的输出端。图10-13 80C51单片机与27128的接口电路2使用多片EPROM的扩展电路图10-14所示为利用4片27128 EPROM扩展成64KB程序存储器的方法。片选信号由译码器产生。4片27128各自所占的地址空间,读者自己分析。【271281
17、6K×4,用P00P07,P20P25】【不能接地,因为有多片】图10-14 80C51与4片27128 EPROM的接口电路IC1的地址:0000 0000 0000 00000011 1111 1111 1111(00003FFF)单片机的引脚接地,只使用片外程序存储器。10.6 数据存储器扩展在单片机应用系统中,外部扩展的数据存储器都采用静态数据存储器(SRAM),不需要刷新【而动态RAM是由栅极漏电容构成,需要不断的刷新,才能保存数据】。对外部扩展的数据存储器空间访问,P2口提供高8位地址,P0口分时提供低8位地址和8位双向数据总线。数据存储器扩展与程序存储器扩展基本相同,只
18、是数据存储器的控制信号为输出允许信号和写控制信号,分别与单片机的片外数据存储器的读控制信号(P3.7)和写控制信号(P3.6)相连,其它信号线的连接与程序存储器相同。【程序存储器只能输出,数据存储器具有写入和输出两种】10.6.1 常用的静态RAM(SRAM)芯片单片机系统中常用的RAM芯片的典型型号有6116(2KB),6264(8KB),62128(16KB),62256(32KB)。6116为24脚封装,6264、62128、62256为28脚封装。这些RAM芯片的引脚如图10-15所示。图10-15 常用的RAM引脚图【6264的引脚有一些特殊,体现在还有一个CS引脚需要接高电平】各引
19、脚功能:A0A15:地址输入线。D0D7:双向三态数据线。:片选信号输入线,低电平有效。(但对6264芯片,当24脚(CS)为高电平且为低电平时才选中该片)。:读选通信号输入线,低电平有效。【从外RAM中读数据,连】:写允许信号输入线,低电平有效。【往外RAM中写数据,连】VCC: 工作电源+5V。GND: 地。RAM存储器有读出、写入和维持3种工作方式,工作方式的控制见表10-6。表 106 6116、6264、62256芯片3种工作方式的控制工作方式RAM芯片的控制信号D0D7读出001数据输出写入010数据输入维持1××高阻态10.6.2 外扩数据存储器的读写操作时序
20、对片外RAM读和写两种操作时序的基本过程相同。1读片外RAM操作时序单片机读片外RAM操作时序如图10-16所示。在第一个机器周期的S1状态,ALE信号由低变高(处),读RAM周期开始。在S2状态,CPU把低8位地址送到P0口总线上,把高8位地址送上P2口。ALE下降沿(处)用来把低8位地址信息锁存到外部锁存器74LS373。而高8位地址信息一直锁存在P2口锁存器中(处)。在S3状态,P0口总线变成高阻悬浮状态。在S4状态,执行从外部存储器读取数据指令后,使信号变有效(处),信号使被寻址的片外RAM过片刻后把数据送上P0口总线(处),当回到高电平后(处),P0总线变悬浮状态(处)。图10-16
21、单片机读片外RAM操作时序图2写片外RAM操作时序向片外RAM写数据,单片机执行往外部存储器写数据指令。指令执行后,80C51的信号为低有效,此信号使RAM的端被选通。写片外RAM的时序如图10-17所示。开始的过程与读过程类似,但写的过程是CPU主动把数据送上P0口总线,所以在时序上,CPU先向P0口总线上送完8位地址后,在S3状态就将数据送到P0口总线(处)。此间,P0总线上不会出现高阻悬浮现象。图10-17单片机写片外RAM操作时序图在S4状态,写信号有效(处),选通片外RAM,稍过片刻,P0口上的数据就写到RAM内了,然后写信号变为无效(处)。10.6.3 单片机与RAM的接口电路设计
22、外扩RAM时,应将单片机的脚与RAM芯片的脚连接,脚与RAM脚连接。片外RAM的片选端可以由线选或译码方式控制。因此设计时,主要解决地址分配、数据线和控制信号线的连接问题。在与高速单片机连接时,还要根据时序解决读/写速度匹配问题。图10-18为用线选法扩展外部数据存储器电路。图中数据存储器选用6264(8K),所以需要利用A0A12地址线,还有3条剩余的地址线。图10-18 线选法扩展外部数据存储器电路上图采用线选方法扩展了3片6264,对应的存储器地址如表10-7。表 10-7 3片6264芯片对应的存储空间表P2.7 P2.6 P2.5选中芯片地址范围存储容量 1 1 0IC1C000HD
23、FFFH8KB 1 0 1IC2A000HBFFFH8KB 0 1 1IC36000H7FFFH8KB采用译码法扩展外部数据存储器的接口电路如图10-19所示。数据存储器62128(16K),需要利用A0A13地址线,剩余两条地址线(P2.6,P2.7),若采用2-4线译码器(74LS139)可扩展4片62128。各片62128芯片地址分配如表10-8所示。图10-19 译码法扩展外部数据存储器电路图【注意:6264和62128连接时,就CS和A13不同】表 108 各62128芯片的地址空间分配2-4译码器输入P2.7 P2.62-4译码器有效输出选中芯片地址范围存储容量 0 0IC1000
24、0H3FFFH16KB 0 1IC24000H7FFFH16KB 1 0IC38000HBFFFH16KB 1 1IC4C000HFFFFH16KB【XBYTE以字节形式对xdata区寻址】#include <reg52.h>【已通过CAP10-EX7】#include <absacc.h>sbit LED = P10;void main() unsigned int i;LED = 1; / LED先熄灭for(i=0;i<200;i+) /200128648110010000xC8 XBYTE0x0000+i=i+1;for(i=0;i<200;i+)
25、XBYTEi+0x0100=XBYTE199-i;LED=0; / 完成操作后,LED变为亮while(1);【在“Proteus”中查看运行及数据传送结果:LED变为亮时,表明数据传送已经结束,可以点击中的暂停按钮,暂停程序的运行,打开“DEBUG”中的“Memory Contents”,查看6264内存中的数据】查看结果如下:【上课时,可以把CS的高电平去掉,观察结果】【例题扩展1:】电路图同上,改为先定义数组dat200,然后给数组赋值,再把数组中的数据放到外部数据存储区中。#include <reg52.h>【已通过CAP10-EX7-扩展1,62642】#include
26、<absacc.h>sbit LED = P10;void main() / 注意数据存放位置定义符xdata,要放在char和数组名之间 unsigned char xdata dat200; unsigned int i;LED = 1; / LED先熄灭for(i=0;i<200;i+) dati=i+5; / 先给数组赋值,然后再传送到6264中for(i=0;i<200;i+) XBYTEi+0x0100=dati+1; / 送到片外数据存储器6264中LED=0; / 完成操作后,LED变为亮while(1);【CAP10-EX7-扩展1的结果如下】【例题】
27、扩展2片6264数据存储器件【已通过CAP10-EX8】【U3的地址P27P26=00,U4的地址P27P26=11】#include <reg51.h>#include <absacc.h>sbit LED = P10;void main() unsigned int i;LED = 1; / LED先熄灭for(i=0;i<100;i+) /先在6264-U3芯片中存放1100(0x010x64) XBYTE0x0000+i=i+1; /P27P26=00for(i=0;i<100;i+) / 然后把1100加1,存放到6264-U3芯片的200开始的1
28、00个单元中 XBYTEi+0x0000+200=XBYTE0x0000+i+1; /200=128+64+8=11001000=0xc8,从此地址开始存放for(i=0;i<100;i+) / 再把1100加2,存放到6264-U4芯片起始(0x0000)的100个单元中 XBYTEi+0xC000=XBYTEi+2; /P27P26=11,从0000开始存放LED=0; / 完成操作后,LED变为亮while(1);/注意U4的起始地址为0xC000,1100=C10.7 EPROM和RAM的综合扩展在设计系统时,经常是既要扩展程序存储器,也要扩展数据存储器或I/O,即需要存储器的综
29、合扩展。下面介绍如何进行综合扩展。同时扩展数据存储器和程序存储器:由于程序存储器的读操作由信号控制EPROM芯片的,而数据存储器的读和写分别由(控制芯片的)和(控制芯片的)信号控制,因此,不会造成操作上的混乱。10.7.1 综合扩展的硬件接口电路【例】采用线选法扩展2片8KB的6264(RAM)和2片8KB的2764(EPROM)。硬件接口电路如图10-20所示。【注意:6264应该还有引脚CS要接高电平】图10-20 采用线选法的综合扩展电路图1. 控制信号及片选信号地址线P2.5直接连接到IC1(2764)和IC3(6264)的片选端,P2.6直接连接到IC2(2764)和IC4(6264
30、)的片选端。(1)当P2.6=0,P2.5=1时,IC2和IC4的片选端为低电平,IC1和IC3的端全为高电平。(2)当P2.6=1,P2.5=0时,IC1和IC3的端都是低电平,每次同时选中两个芯片,具体对哪个芯片进行读/写操作还要通过 、控制线来控制。当为低电平时,从片外程序存储区EPROM中读程序;当读/写信号 或为低电平时,则对片外RAM读数据或写数据。、3个信号是在执行指令时产生的,任意时刻只能执行一条指令,所以只能有一个信号有效,不可能同时有效,所以不会发生数据冲突。2. 各芯片地址空间分配硬件电路连接一旦确定,各芯片的地址范围也就确定了,编程时只要给出所选择芯片的地址,就能对该芯
31、片进行访问。结合图10-20,介绍IC1、IC2、IC3、IC4芯片地址范围的确定方法。(1)如果P2.6=0、P2.5=1,选中IC2、IC4。地址线范围为:【P2.7可以选0,也可以选1】IC2、IC4的地址空间为A000HBFFFH共8KB。【有2组地址】0010 0000 0000 00000011 1111 1111 11112000H3FFFH1010 0000 0000 00001011 1111 1111 1111A000HBFFFH【程序存储器和数据存储器地址是重叠的,但不会冲突】(2)如果P2.6=1、P2.5=0,选中IC1、IC3。地址范围为:【P2.7可以选0,也可以
32、选1】0100 0000 0000 00000101 1111 1111 11114000H5FFFH1100 0000 0000 00001101 1111 1111 1111C000HDFFFH【程序存储器和数据存储器地址是重叠的,但不会冲突】4片存储器各自所占的地址空间如表8-9所示。即使地址空间重叠,也不会发生数据冲突。表109 4片存储芯片地址空间分配芯片地址范围IC42000H3FFFH;A000HBFFFHIC34000H5FFFH;C000HDFFFHIC22000H3FFFH;A000HBFFFHIC14000H5FFFH;C000HDFFFH下面介绍采用译码器输出进行地址空间分配的例子。【例】采用译码法扩展2片8KB EPROM和2片8KB RAM。EPROM选用2764,RAM选用6264。扩展接口电路如图10-21所示。图中,74LS139的4个输出端, 分别连接4个芯片IC1、IC2、IC3、IC4的片选端。74LS139在对输入端译码时,每次只能有一位输出为“0”,其他三位全为“1”,输出为“0”的一端所连接的芯片被选中。译
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省德州市名校2025届初三9月月考英语试题含答案
- 21《我不能失信》课件【知识提要】三年级下册语文统编版
- 江西应用技术职业学院《现代汽车生产与管理》2023-2024学年第二学期期末试卷
- 四川卫生康复职业学院《卫生毒理学》2023-2024学年第一学期期末试卷
- 天水师范学院《遗民文学研究》2023-2024学年第二学期期末试卷
- 山东省庆云县重点中学2024-2025学年初三新课程教学质量监测生物试题试卷含解析
- 江苏扬州市梅岭中学2024-2025学年初三第一次质量调研卷化学试题文试卷含解析
- 内蒙古通辽市奈曼旗市级名校2025届普通高中毕业班3月质量检查生物试题含解析
- 图木舒克职业技术学院《发动机原理与构造》2023-2024学年第二学期期末试卷
- 吉林省蛟河高级中学2024-2025学年高三2月阶段性测试物理试题含解析
- 多图中华民族共同体概论课件第十三讲先锋队与中华民族独立解放(1919-1949)根据高等教育出版社教材制作
- 《调相机运行规程》
- 口才与演讲实训教程智慧树知到期末考试答案2024年
- 污水管网巡查及养护投标方案(技术标)
- web页面常用测试方法
- 打造消费天堂(百货公司与近代城市文化)
- 数字图像处理在航空航天中的应用
- 你来比划我来猜
- 2023路用热拌环氧沥青
- 建筑工程《拟投入本项目的主要施工设备表及试验检测仪器设备表》
- 2024年初级统计师《统计专业知识和实务》真题
评论
0/150
提交评论