第八章MCS-51扩展存储器的设计_第1页
第八章MCS-51扩展存储器的设计_第2页
第八章MCS-51扩展存储器的设计_第3页
第八章MCS-51扩展存储器的设计_第4页
第八章MCS-51扩展存储器的设计_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,第八章MCS-51扩展存储器的设计,.,8.1MCS-51单片机系统总线,1.单片机系统的扩展结构单片机系统扩展通常采用总线结构形式,图8.1是典型的MCS-51单片机系统扩展结构。整个扩展系统以单片机为核心器件,通过系总线把各个扩展部件联系起来,扩展内容主要包括EPROM、RAM、I/O接口电路和其他数据转换接口电路等。因为各个部件的扩展是在单片机芯片之外进行的,因此通常把扩展的程序存储器称为外部程序存储器;而把扩展的数据存储器称为外部数据存储器。,.,图8.1MCS-51单片机系统扩展结构,.,2.单片机系统扩展总线的产生单片机系统采用三总线结构。按其功能通常把系统总线分为三类,即地址总线、数据总线和控制总线。单片机系统三总线结构如图8.2所示,.,图8.2单片机系统三总线结构,.,(1)地址总线(AddressBus缩写为AB)地址总线主要用于单片机送出的地址信号,以便对外部的存储器单元或I/O端口进行操作。地址总线是单向传送的,只能由单片机向外发送。在MCS-51单片机系统中,地址总线通常由P0口和P2口构成。地址总线的数量取决于外部要访问的存储器的容量,例如,对于n根地址线就可以实现对2n个单元进行连续编码,即可以对2n个存储单元进行访问,MCS-51单片机的地址线最多为16根,因此外部存储器最多可以扩展64KB个单元。,(2)数据总线(DataBus,缩写为DB)数据总线是用于在单片机与外部存储器之间或单片机与I/O端口之间传送数据的通道。单片机系统数据总线通常由P0口来构成,总线的宽度与单片机的字长是一致的:例如MCS-51单片机是8位字长,所以它的数据总线的位数也是8位的。数据总线是双向的,即它可以进行两个方向数据的传送。,.,(3)控制总线(ControlBus,缩写为CB)控制总线实际上是一组控制信号线,它包括单片机发出的,以及外部设备送给单片机的信号线。对某一条控制信号线而言,它是单方向传送的,但是由不同方向的控制信号线组合成的控制总线则表现为双向传送性。系统扩展用的控制线有ALE、。ALE:用于锁存P0口输出的低8位地址的锁存控制。通常,ALE接在锁存器的控制端,在P0口输出地址期间控制锁存器来锁存地址数据;ALE端输出的脉冲信号也可以作为单片机系统中其它芯片的时钟源。:用于选择片内或片外程序存储器。当0时,单片机只能对外部程序存储器进行访问,当1时,单片机既能访问片内程序存储器,也能访问片外程序存储器:单片机依据程序地址来确定是对片内程序存储器进行访问,还是对片外程序存储器进行访问。因此,对片内无程序存储器的单片机,必须使接低电平。,.,:用于外部程序存储器的读选通控制。:用于外部数据存储器的读选通控制。:用于外部数据存储器的写选通控制。由于单片机系统采用了总线结构形式,因此大大减少了单片机系统中传输线的数目,从而提高了系统的可靠性,同时也增加了系统的灵活性。此外,总线结构的使用,也使得单片机系统的扩展易于实现。各种功能部件只要符合总线规范就可以很方便地接入单片机系统,实现单片机应用系统功能的扩展。,.,3.地址锁存器MCS-51单片机的P0口是地址线/数据线分时复用的,实现这一功能需要引入地址锁存器。常用的地址锁存器的芯片一般有两类:一类是8D触发器,如74LS273、7474LS377等,另一类是位锁存器,如74LS373、8282等。图8.3和表8.1、8.2分别给出了74LS273、74LS373的引脚和它们的逻辑功能状态。,.,图8.3常用的地址锁存器,.,表8.174LS273功能表,注:表示无关;表示脉冲上升沿起作用,.,表8.274LS373功能表,注:表示无关,.,74LS273内部由8个边沿触发的D触发器组成,在时钟信号的正跳变完成对输入信号的锁存。但MCS-51单片机中的ALE是高电平有效,而在ALE的后沿应完成地址锁存,因此应将ALE通过反向器后再加到锁存器的时钟端。注意74LS273是带清除端的,用作地址锁存时,应将清除端CLR接高电平。,74LS373是高电平触发选通,当使能端有效时,输出直接跟随输入变化,当使能端由高变低时,才将输入状态锁存直到下一次使能信号变高为止。因此在选用74LS373作单片机地址锁存时,可直接将单片机的ALE信号加到它们的使能端。,.,8.2外部存储器的操作时序,1.程序存储器的读操作时序图8.4为单片机访问外部程序存储器的操作时序图,分析该图知:单片机的ALE是以固定的周期输出脉冲,在每个机器周期的S1P2S2P1及S4P2S5P1(S1P2是指状态周期S1的P2拍,S2P1是指状态周期S2的P1拍)时各输出一个脉冲,它可作为地址锁存器的锁存选通信号,每个机器周期输出2个ALE脉冲在每个机器周期的第一个ALE脉冲有效期间(高电平期间),CPU将把P0口输出的低8位地址锁进地址锁存器中(ALE为地址锁存器的锁存选通信号),在此期间P2口输出的高8位地址始终保持有效。,.,当0(有效)时系统将由P2口和P0口指定的外部程序存储器单元中的指令经P0口读入单片机中。若为双字节指令则将开始下一个指令字节的读取。其读取过程除CPU会自动修改P0口的地址使之指向下一个存储单元外,其余过程与读取第一字节的过程是相似的。若为单字节指令则第一个机器周期中的第二个ALE无效。系统将在下一个机器周期再开始下一条指令字节的读取操作。在整个读取指令期间,、均处于无效状态。,.,图8.4程序存储器的读操作时序,.,2.数据存储器的读操作时序图8.5为单片机访问外部数据存储器的操作时序图,分析该图可知:第一个机器周期为单片机的取指令周期,其操作过程与前面所讲的对程序存储器的操作过程是完全相同的。第二个机器周期为单片机访问外部数据存储器的周期,此时ALE也是以固定的周期输出脉冲,在第二个机器周期的S1P2S2P1ALE脉冲有效期间,CPU将从P0口输出的外部数据存储器的低8位地址锁进地址锁存器中(ALE作为地址锁存器的锁存选通信号),在此期间P2口输出的高8位地址始终保持有效。当0时系统将由P2口和P0口指定的外部数据存储器单元中的数据经P0口读入单片机中。只要将改为,上述过程就是数据存储器的写操作时序。在对外部数据存储器操作期间,一直处于无效状态。,.,图8.5数据存储器的读操作时序,.,8.3单片机对存储器片选的实现,MCS-51单片机实现片选的常用方法有两种:线选法和译码法。,1.线选法线选法是直接利用单片机的I/O口线来实现的,通常是利用P2口中没有作为高位地址线使用的口线来实现,将某根P2口线连接至待片选芯片的端即可。这种方法的优点是易于实现,不需增添新的器件。缺点是因为I/O口的线的使用效率较低,单片机的一根I/O口线最多只能对两片外围芯片实现片选,另外还有可能使外部存储器地址出现重叠或不连续现象。2.译码法译码法是利用单片机多余的I/O口线外加译码器来实现的。这种方法的优点是I/O口线的利用率较高。当采用3-8译码器时,利用3根I/O口线可以对8片外围芯片实现片选,而且地址通常是连续的,不会出现地址重叠现象,其主要缺点是需要增添译码器。,.,常用的译码器有:74LS138为3-8译码器、74LS139为双2-4译码器。74LS138有3个数据输入端,经过译码后在输出端产生8选1的片选信号,可以实现对8片外围芯片实现片选。74LS138的引脚如图8.6(a)所示,其逻辑功能见表8.3。,.,(a)74LS138(b)74LS139图8.6常用译码器,.,74LS139为双2-4译码器,其中含有两个完全独立的译码器,每个译码器有2个输入端,经过译码后在输出端产生4选1的片选信号,两个译码器一起作用时也可以实现对8片外围芯片实现片选。74LS139的引脚如图8.6(b)所示,其逻辑功能见表8.4。,.,表8.474LS139功能表,.,程序存储器又称为只读存储器ROM(ReadOnlyMemory),它表示信息一旦写入芯片就不能随意更改,在程序运行时只能读出不能写入,即使掉电存储器芯片中的信息也不会丢失。程序存储器常见的类型有:1.掩膜ROM其编程工作是由ROM制造厂家来完成的,即它是在ROM芯片生产厂家通过掩膜工艺来实现编程的。在大批量生产单片机应用系统的情况下,采用ROM芯片有利于降低成本。2.一次性可编程PROM这种芯片的编程可由用户借助仿真机来进行,但只能进行次写入操作,一旦写入错误,芯片是不能再修改的。因此这种芯片使用起来很不方便。,8.4程序存储器概述,.,3.可重复擦写的EPROM这种芯片的编程可由用户多次重复进行,克服了只能进行一次写操作的缺点,因此是目前应用较广泛的一种芯片。它的缺点是相对不同的EPROM型号要求给出不同的写入电压,另外要由紫外线才能对它进行擦除,在芯片的中央有一个小窗口,通过对这个窗口照射紫外线可以擦除原有信息,所以程序写好后要用不透明的标签贴封这个窗口,以避免因阳光中的紫外线的照射而破坏芯片中的程序。因此使用起来也显得还是不能尽如人意。4.电擦除可读、写E2PROM这种芯片在5V工作电压下即可实现对芯片内程序的写入或擦除,故它既可作为程序存储器使用,又可作为数据存储器使用,所以愈来愈受到人们的关注。它的主要缺点是价格较贵、写入速度较慢。,.,8.5常用程序存储器,1.EPROM(1)EPROM的型号及引脚常用EPROM芯片的型号有:2716(2KB)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。在读方式时它们都采用单一的+5V电源供电,双列直插式封装。图8.7给出常用EPROM芯片27128(16KB)和27512(64KB)的引脚图。,.,图8.7两种常用EPROM的引脚图,.,各引脚的功能是:A0Ai:地址输入线(i=1015,i10对应2716,i15对应27512)。D0D7:三态数据输出端。:片选端,低电平有效。:输出允许端。:编程脉冲输入端。VPP:编程电压输入端,不同型号的EPROM所加电压值不同。VCC:电源端。GND:接地端。,.,(2)EPROM的工作方式27128共有五种工作方式,各种工作方式的基本情况见表8.5。表中VIL为TTL低电平,VIH为高电平,Vcc为+5V,Vpp*为EPROM编程电压,DOUT为数据输出,DIN为数据输入。读方式。一般系统中的EPROM都工作在这种工作方式下,进入这种工作方式的条件是使片选控制线和输出允许控制均处于有效状态。维持方式。当片选控制信号高电平(无效状态)时,芯片进入维持方式,这时输出处于高阻抗的悬浮状态,不占用系统数据线。编程方式。此时需在编程电压输入端VPP加上符合规定的电压,在端输入编程脉冲,于是就可将程序写入到EPROM中。,.,编程校核方式。在编程电压输入端VPP加上符合规定的电压,再从芯片中读出已编程固化好的内容,并将其与刚才写入的内容进行比较,用来判断写入的内容是否正确。编程禁止方式。此时芯片的片选及输出允许端均处于无效状态,输出呈现高阻态。,.,表8.527128的工作方式选择,.,2.E2PROME2PROM是电可擦除、可编程的半导体存储器。在+5V电压下就可进行读写操作,对编程脉冲宽度一般也没有特殊的要求,也不需要专门的擦除器(如紫外线灯)。所以E2PROM实际上是一种特殊的可读可写的存储器,它既可作程序存储器使用,也可作数据存储器使用。把程序存储器E2PROM连在单片机系统总线上就可以进行在线改写。即使突然掉电E2PROM中的内容也不会丢失。(1)E2PROM芯片的型号及引脚常用E2PROM芯片的型号有:2817A(2KB)、2864A(8KB)。它们都采用单一的5V电源供电,双列直插式封装。E2PROM2817A、2864A的引脚如图8.8所示。,.,各引脚功能是:A0Ai:地址输入线,i=10(对2817A)、i12(对2864A)。D0D7:双向三态数据输入输出线。:写选通信号输入端,低电平有效。:片选端,低电平有效。:读选通信号输入端,低电平有效。:擦、写完毕联络信号,在擦、写操作期间,脚为低电平,当擦、写完毕时,脚为高电平。Vcc:电源端。GND:接地端。,.,图8.8两种常用的E2PROM引脚图,.,(2)E2PROM的工作方式2817A共有三种工作方式,各种工作方式的基本情况见表8.6。,.,读方式。一般系统中的E2PROM都工作在这种工作方式下,进入这种工作方式的条件是使片选控制端和读选通信号输入端均处于有效状态,内部数据缓冲器被打开,此时可对E2PROM进行读操作。写方式。当2817A接收到从CPU发来的地址、数据和写控制信号后,便启动内部电路对该地址单元进行写操作,此时RDY/输出低电平。大约16ms后写操作完成,即一个字节写操作完成,此时RDY/输出高电平。2817A在写入一个字节之前会自动地擦除该单元的内容。维持方式。当片选控制端为高电平(无效状态)时,2817A进入低功耗的维持方式,这时输出端处于高阻抗的悬浮状态,E2PROM芯片电流从140mA降至维持电流60mA。,.,8.6程序存储器的扩展举例,1.单片程序存储器扩展当单片机片内无程序存储器或片内程序存储器的容量不够用时要进行程序存储器的扩展。在进行系统扩展时主要依据系统程序的容量来选择存储器容量,当然还要留有一定的余量。事实上2716、2732等小容量的程序存储器已经很少有人使用了,人们更愿意使用27128(16KB)、27256(32KB)、27512(64KB)等容量较大的程序存储器,因为容量的大小对存储器价格的影响较小,却给使用者日后系统的修改、扩充带来了很大的便利。例8.18031与27128的接口电路。扩展电路如图8.9所示。,.,图8.98031与27128的接口电路,.,由于系统中只有一片外围芯片,故片选端CE直接接地;27128的输出允许端OE接单片机的PSEN;对8031而言,其EA端必须接地;8031的ALE作为74LS373的锁存选通信号;P0.0P0.7经地址锁存器74LS373为27128提供低8位的地址线;P0.0P0.7还与27128的D0D7相连,为27128提供8位数据通道;P2.0P2.5为27128提供高6位的地址线。当P0.0P0.7和P2.0P2.5的值由全0变化至全1时,27128的地址线A0A13也跟着作相应的变化,即:最低地址:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0=00000000000000)。最高地址:(A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0=11111111111111)。,.,由于P2.7、P2.6的状态与该芯片的寻址无关,所以P2.7、P2.6可任意状态“”。于是就可得到相应的地址范围:0000H3FFFH或4000H7FFFH或8000H0BFFFH或0C000H0FFFFH这四个地址范围指向的是程序存储器的同一个地址空间,之所以会出现四个地址范围是因为8031单片机的P2.6、P2.7未使用而引起的,这就是所谓的地址重叠现象。,.,例8.28031与27512的接口电路。扩展电路如图8.10所示。该电路接线与图8.9的区别有两点:其一是再增加2根地址线,即它共使用了16根地址线;其二是采用了74LS273作为地址锁存器,该锁存器的工作情况与74LS373的区别是采用低电平作为地址锁存器的选通信号。由电路接线可知,P0.0P0.7及P2.0P2.7全部16根地址线都用上了,可寻址的范围达21664KB,其地址范围是:0000H0FFFFH。从而用一片程序存储器实现了64KB的扩展,且没有地址重叠现象。,.,图8.108031与27512的接口电路,.,例8.38031与2864A的接口电路。由于E2PROM具有电擦除、编程的特性,因而得到了广泛地应用。图8.11是2864A的扩展电路。由图8.11可见,其接线情况与EPROM的接线完全类似,虽然系统中只有一片外围芯片,片选端可直接接地,但考虑到一般情况,这里还是将片选端接P2.7,由P2.7来完成对2864A的片选;2864A的输出允许端接;对8031而言,其端必须接地;ALE作为74LS373的锁存选通信号;P0.0P0.7经地址锁存器74LS373为2864A提供低8位的地址;P0.0P0.7还与2864A的D0D7相连,为2864A提供8位数据通道;P2.0P2.4为2864A提供高5位的地址。,.,由电路接线可知,2864A的地址范围是:0000H1FFFH或2000H3FFFH或4000H5FFFH或6000H7FFFH造成地址重叠现象的原因是因为当前系统中P2.5、P2.6未使用而引起的。,.,图8.118031与2864A的接口电路,.,2.多片程序存储器的扩展电路例如使用四片27128芯片扩展程序存储器系统,扩展电路如图8.12所示。,由于系统中有四片EPROM芯片,故各片的片选信号可由2-4译码器74LS139的输出信号Y0Y1Y2Y3分别提供;8031的喷PSEN同时接在四片27128的输出允许OE端,但由于译码器的作用使得任何时候都只有一片EPROM被选中,故任一时刻PSEN只对其中一片EPROM起作用。对8031而言,其EA端必须接地;ALE则作为74LS273的锁存选通信号;P0.0P0.7经地址锁存器74LS373同时为四片27128提供低8位的地址、P0.0P0.7还同时与四片27128的D0D7相连,为27128提供8位数据通道;P2.0P2.5同时为四片27128提供高6位的地址;P2.6和P2.7作为2-4译码器74LS139的输入信号。,.,图8.128031扩展多片EPROM的接口电路,.,由电路接线可知:当P2.6、P2.700H时选中了27128,此时P0.0P0.7、P2.0P2.5从全0变化至全1时可得27128的地址范围是0000H3FFFH;当P2.6、P2.701H时选中了27128,当P0.0P0.7、P2.0P2.5从全0变化至全1时,可得27128的地址范围是4000H7FFFH;同理可知当P2.6、P2.710H时选中了27128,其相应的地址范围是为8000H0BFFFH;当P2.6、P2.711H时选中了27128,相应的地址范围是:为0C000H0FFFFH。这里用四片27128实现了外扩64KB的外部程序存储器。,.,存储器是单片机系统中使用最多的外扩芯片,对MCS-51单片机而言,由于程序存储器与数据存储器在物理空间上的各自独立性,使得两者的扩展方法略有不同。,8.7数据存储器概述,数据存储器又称为随机存储器(RandomAccessMemory)简称RAM,它用于存放可随机读、写的数据,与程序存储器最大的区别是掉电后其中的信息将立即消失。按半导体制作工艺,RAM可分为MOS型和双极型两种,MOS型的RAM集成度高、功耗低、价格也较便宜,但工作速度较慢。而双极型的特点则正好与MOS型的相反。在单片机应用系统中大多数是MOS型数据存储器,它们的输入输出信号能与TTL电路兼容,这给系统扩展中信号线的连接带来了很大的便利。8031单片机内部有128B的用户RAM区,CPU对内部RAM有丰富的操作指令。但是在用于实时数据采集和处理中,仅靠片内提供的128B的数据存储器往往不够用,必须扩展外部数据存储器。常用的有静态数据存储器SRAM和动态数据存储器DRAM。这里主要讨论静态RAM与MCS-51单片机的接口情况。,.,8.8常用数据存储器,1.RAM芯片的型号及引脚常用RAM芯片的型号有:6116(2KB)、6264(8KB)、62128(16KB)、62256(32KB)。它们都采用单一的+5V电源供电,双列直插式封装。这里给出常用的RAM芯片6264、62256的引脚图,如图8.13所示,各引脚功能如下:A0Ai:地址输入端(i=1014)。D0D7:双向三态数据端。:片选信号输入端,低电平有效。:读选通信号输入线,低电平有效。:写允许信号输入线,低电平有效。VCC:电源端。GND:接地端。,.,图8.13数据存储器引脚图,.,2.RAM的工作方式6264共有四种工作方式,分别为读、写、禁止输出和选中工作方式,见表8.7。,.,表8.76264的工作方式选择,.,6264芯片还具有掉电保护功能。这是由于6264芯片设有一个CS引脚,通常情况下接+5V电源,当掉电时,电压下降到小于或等于2V过程中,CS引脚立刻变为低电平使RAM中的数据保持,因此在Vcc2V时,6264芯片就进入数据保护状态。根据这一特点,在电源掉电检测和切换电路的控制下,当检测到电源电压下降到小于芯片最低工作电压时,将6264切换到由锂电池提供电源的状态,从而实现了掉电时的数据保护功能。,.,8.9数据存储器扩展举例,在编程时要注意到,单片机是利用MOV类指令来访问单片机片内数据存储器;利用MOVX类指令实现对外部数据储器的访问操作。单片机访问外部数据存储器的指令有以下四条:,MOVXA,Ri;(i=0、1)MOVXRi,A;(i=0、1)MOVXA,DPTRMOVXDPTR,A其中前两条指令是以单片机P2口的内容为外部数据存储器隐含地提供高8位地址,而Ri则为外部数据存储器提供低8位地址。1.采用线选法扩展三片6264的电路数据存储器的扩展电路如图8.14所示。,.,图8.14采用线选法扩展3片6264的电路,.,由于系统中有三片6264RAM芯片,这里采用线选法对各片数据存储器进行片选,各片的片选信号分别由8031单片机的P2.5、P2.6和P2.7提供;,8031的同时接在三片6264读选通输入线端;8031的同时接在三片6264写允许输入线端;8031的P0.0P0.7经地址锁存器74LS373同时为三片6264提供低8位的地址、P0.0P0.7还同时与三片6264的D0D7相连,为6264提供8位数据通道;P2.0P2.4同时为三片6264提供高5位的地址。,根据电路接线图,当8031单片机的I/O引脚P2.5、P2.6和P2.7按表8.8给出的数值变化时,将分别选中三片数据存储器,各片数据存储器的地址范围见表8.8,.,表8.86264的地址分配表,.,2.译码法扩展四片62128的电路用译码法扩展数据存储器的电路如图8.15所示,.,图8.15用译码法扩展四片62128的电路,.,系统中四片62128RAM芯片的片选信号由2-4译码器74LS139的输出信号提供。8031单片机的P2.6和P2.7为74LS139提供译码输入信号;8031的分别同时接在四片62128读选通端,8031的分别同时接在四片62128写允许端;8031的P0.0P0.7经地址锁存器74LS373同时为四片62128提供低8位的地址、P0.0P0.7还同时与四片62128的D0D7相连,为62128提供8位数据通道;P2.0P2.5同时为四片62128提供高6位的地址。单片机为系统提供了14根地址线,可直接寻址的地址范围是21416KB。四片数据存储器共可提供416KB64KB的空间。当8031单片机的I/O引脚P2.6和P2.7从00H变化至11H时,2-4译码器,74LS139的输出端Y0Y3将依次输出0(低电平信号),从而分别选中四片数据存储器。各片数据存储器62128的地址分配表见表8.9。,.,表8.962128的地址分配表,.,因为E2PROM既可作程序存储器使用,又可作数据存储器使用,故可以用一块E2PROM同时完成程序和数据存储器的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论