欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    单片机的存储器扩展.ppt

    • 资源ID:6449690       资源大小:1.68MB        全文页数:89页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机的存储器扩展.ppt

    第6章 单片机的存储器扩展,6.1 概述 单片机内资源少,容量小,在进行较复杂过程的控制时,它自身的功能远远不能满足需要。为此,应扩展其功能。MCS-51系统扩展主要有:程序存储器(ROM)的扩展、数据存储器(RAM)的扩展、I/O口的扩展、中断系统扩展以及其它特殊功能接口的扩展等。对于单片微机系统扩展的方法有并行扩展法和串行扩展法两种。并行扩展法是指利用单片微机本身具备的三组总线(AB、DB、CB)进行的系统扩展,一般构成单片微机应用系统的扩展方法基本上都是并行的三总线扩展。近几年,由于集成电路设计、工艺和结构的发展,串行扩展法得到了很快发展,它利用SPI三线总线和I2C双线总线进行串行系统扩展。有的单片微机应用系统可能同时采用并行扩展法和串行扩展法。,系统扩展结构如下图:,MCS-51单片机外部存储器结构:哈佛结构。MCS-96单片机的存储器结构:普林斯顿结构。MCS-51数据存储器和程序存储器的最大扩展空间各64KB。系统扩展是通过系统总线进行的,故首先要构造系统总线。,89C51的最小系统,8031单片机片内无ROM,若要正常工作,必需外配ROM。外接ROM后,P3口、P2口、P0口均被占用只剩下P1口作I/O口用,其它功能不变。,8031单片机最小应用系统,6.2 系统总线及总线构造6.2.1 系统总线 所谓总线,就是连接计算机CPU与各部件的一组公共信号线。MCS-51使用的是并行总线结构,按其功能通常把系统总线分为三组:1.地址总线(Adress Bus,简写AB)地址总线用于传输单片机发出的地址信号,以便进行存储单元和I/O端口的选择。地址总线是单向的,只能由单片机向外送出。2.数据总线(Data Bus,简写DB)数据总线用于单片机与存储器之间或与I/O之间传送数据。单片机的数据总线与单片机处理数据的字长一致。数据总线是双向的,可以进行2个方向的传输。3.控制总线(Control Bus,简写CB)控制总线实际实际上是一组控制信号线,包括单片机发出的和其他部件发送给单片机的。单根控制信号线是单向的,而控制总线是双向的。,数据传送:由数据总线DB(D0D7)完成;D0D7由P0口提供 单元寻址:由地址总线AB(A0A15)完成;低8位地址线A0A7由P0口提供 高8位地址线A8A15由P2口提供。交互握手:由控制总线CB完成。控制线有PSEN、WR、RD、ALE、EA,WR:输出,用于写外RAM选通,执行MOVX写指令时,WR会自动有效,与外RAM写允许端WE连接。,ALE:输出,用于锁存P0口输出的低8位地址信号,与地址锁存器门控端G连接。,PSEN:输出,用于外ROM(扩展程序存贮器的)读选通控制,与外ROM输出允许端OE连接。,EA:输入,用于选择读内/外ROM。EA=1,读内ROM;EA=0,读外ROM。一般情况下,有并且使用内ROM时,EA接Vcc;无内ROM或仅使用外ROM时,EA接地。,RD:输出,用于读外RAM选通,执行MOVX读指令时,RD会自动有效,与外RAM读允许端OE连接。,P2.X:并行扩展外RAM和I/O时,通常需要片选控制,一般由P2口高位地址线担任。,80C51控制总线解析:,6.2.2 构造系统总线 系统扩展的首要问题:构造系统总线,然后再往系统总线上“挂”存储器芯片或I/O接口芯片,“挂”存储器芯片就是存储器扩展,“挂”I/O接口芯片就是I/O扩展。MCS-51由于受引脚数目的限制,数据线和低8位地址线复用。为了将它们分离出来,需要外加地址锁存器,从而构成与一般CPU相类似的片外三总线,见下图。地址锁存器一般采用八D透明锁存器74LS373,74LS373的锁存允许信号G是电平锁存。当G从高电平转为低电平时,将其输入端的数据锁存在输出端。当ALE为高电平时,八D锁存器74LS373的输入和输出是透明的。当ALE出现下降沿后,八D锁存器74LS373的输出即为A0A7,这时P0口上出现的是数据,实现了地址低8位和数据线的分离。,采用74LS373的地址总线的扩展电路如下图。,5V,下图为AT89C52单片机通过三总线的扩展系统结构图,1.以P0口作为低8位地址/数据总线,以P2口的口线作高位地址线。地址总线由单片微机P0口提供低8位地址A0-A7,P2口提供高8位地址A8-A15。P0口是地址总线低8位和8位数据总线分时复用口,用作地址线。故P0口输出的低8位地址A0A7必须用锁存器锁存。锁存器的锁存控制信号为单片微机ALE引脚输出的控制信号。在ALE的下降沿将P0口输出的地址A0A7锁存。P0、P2口在系统扩展中用做地址线后便不能作为一般I/O口使用。由于地址总线宽度为16位,故可寻址范围为64KB。数据总线由P0口提供,用D0D7表示。P0口为三态双向口为三态双向口,是应用系统中使用最为频繁的通道。所有单片微机与外部交换的数据、指令、信息,除少数可直接通过P1口外,全部通过P0口传送。数据总线是并连到多个连接的外围芯片的数据线上,而在同一时间里只能够有一个是有效的数据传送通道。哪个芯片的数据通道有效,则由地址线控制各个芯片的片选线来选择。,2.控制信号线。控制总线包括片外系统扩展用控制线和片外信号对单片微机的控制线。*ALE-低8位地址的锁存控制信号。*PSEN*-扩展程序存储器的读选通信号。*EA*-内外程序存储器的选择控制信号。*由RD*和WR*信号作为扩展数据存储器和I/O口的读选通、写选通信号。尽管MCS-51有4个并行I/O口,共32条口线,但由于系统扩展需要,真正作为数据I/O使用的,就剩下P1口和P3口的部分口线。,6.2.3 单片机系统的串行扩展技术 优点:串行接口器件体积小,与单片机接口时需要的I/O口线很少(仅需3-4根),提高可靠性。串行扩展可以减少芯片的封装引脚,降低成本,简化了系统结构,增加了系统扩展的灵活性。为实现串行扩展,一些公司(例如PHILIPS和ATMEL公司等)已经推出了非总线型单片机芯片,并且具有SPI(Serial Periperal Interface)三线总线和I2C公用双总线的两种串行总线形式。与此相配套,也推出了相应的串行外围接口芯片。缺点:串行接口器件速度较慢 在大多数应用的场合,还是并行扩展占主导地位。,6.3 读写控制、地址空间分配和外部地址锁存器6.3.1 存储器扩展的读写控制 存贮器的扩展一般有以下几方面的内容:外部程序存储器的扩展。外部数据存储器的扩展。RAM芯片:读写控制引脚,记为OE*和WE*,与MCS-51的RD*和WR*相连。EPROM芯片:只能读出,故只有读出引脚,记为OE*,该引脚与MCS-51的PSEN*相连。6.3.2 存储器地址空间分配 存储器的地址分配问题,实际上就是通过地址线,与存储器芯片的地址引脚适当连接,最终达到一个存储单元对应一个地址的要求。MCS-51发出的地址是用来选择某个存储器单元进行读写,要完成这种功能,必须进行两种选择:“片选”和“单元选择”。,一是必须先找到该存储单元或I/O端口所在的芯片,一般称为“片选”,二是通过对芯片本身所具有的地址线进行译码,然后确定唯一的存储单元或I/O端口,称为“单元选择”。片选一般使用高位地址线,而单元选择使用低位地址线。存储器空间分配除考虑地址线连接外,还讨论各存储器芯片在整个存储空间中所占据的地址范围。常用的存储器地址分配的方法有两种:线性选择法(简称线选法)地址译码法(简称译码法)。1.线选法 直接利用系统的高位地址线作为存储器芯片(或I/O接口芯片)的片选信号。线选法用低位地址线对片内的存储单元进行寻址,所需的地址线由片内地址线决定,用余下的高位地址线分别接至芯片的片选端,以区分各芯片的地址范围。优点:电路简单,不需要译码器硬件,体积小,成本低。缺点:可寻址的器件数目受到限制,地址空间不连续,地址不唯一。,例 某一系统,需要外扩8KB的EPROM(2片2732),4KB的RAM(2片6116),这些芯片与MCS-51单片机地址分配有关的地址线连线,电路如下图。,2732:4KB程序存储器,有12根地址线A0A11,分别与单片机的P0口及P2.0P2.3口相连。2732(1)的片选端接A15(P2.7),2732(2)的片选端接A14(P2.6)。当要选中某个芯片时,单片机P2口对应的片选信号引脚应为低电平,其它引脚一定要为高电平。6116:2KB数据存储器,需要11根地址线作为单元的选择,而剩下的P2口线(P2.4P2.7)作为片选线。两片程序存储器的地址范围:2732(1)的地址范围:7000H7FFFH;2732(2)的地址范围:B000HBFFFH;6116(1)的地址范围:E800HEFFFH;6116(2)的地址范围:D800HDFFFH。线选法特点:简单明了,不需另外增加硬件电路。只适于外扩芯片不多,规模不大的单片机系统。,(1)全译码:所谓全译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线全部参加译码。这种译码方法存储器芯片的地址空间是唯一确定的,但译码电路相对复杂。这两种译码方法在单片机扩展系统中都有应用。在扩展存储器(包括I/O口)容量不大的情况下,选择部分译码,译码电路简单,可降低成本。(2)部分译码:所谓部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。参加译码的地址线对于选中某一存储器芯片有一个确定的状态,而与不参加译码的地址线无关。也可以说,只要参加译码的地址线处于对某一存储器芯片的选中状态,不参加译码的地址线的任意状态都可以选中该芯片。正因如此,部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。,2.译码法,译码法与线选法比较,硬件电路稍复杂,需要使用译码器,但可充分利用存储空间,全译码时还可避免地址重叠现象,局部译码因还有部分高位地址线未参与译码,因此仍存在地址重叠现象。译码法的另一个优点是若译码器输出端留有剩余端线未用时,便于继续扩展存储器或I/O口接口电路。,译码法和线选法不仅适用于扩展存储器(包括外RAM和外ROM),还适用于扩展I/O口(包括各种外围设备和接口芯片)。,最常用的译码器芯片:74LS138(3-8译码器)74LS139(双2-4译码器)74LS154(4-16译码器)。可根据设计任务的要求,产生片选信号。(1)74LS138(38译码器)引脚如下图,译码功能如后表所示。当译码器的输入为某一个固定编码时,其输出只有某一个固定的引脚输出为低电平,其余的为高电平。,74LS138译码器真值表 输 入 输 出 G1 G2A*G2B*C B A Y7*Y6*Y5*Y4*Y3*Y2*Y1*Y0*,(2)74LS139(双2-4译码器)引脚如下图。下面以74LS138为例,介绍如何进行地址分配。例 要扩8片8KB的RAM 6264,如何通过74LS138把64KB空间分配给各个芯片?,采用的是全地址译码方式,单片机发地址码时,每次只能选中一个存储单元。同类存储器间不会产生地址重叠的问题。如果用74LS138把64K空间全部划分为每块4KB,如何划分呢?见下图。,6.3.3 外部地址锁存器地址锁存器芯片:74LS373、8282、74LS573等。1.锁存器74LS373带有三态门的8D锁存器,其引脚其内部结构如下图。,D7D0:8位数据输入线;Q7Q0:8位数据输出线;G:数据输入锁存选通信号;OE*:数据输出允许信号。,2.锁存器8282 功能及内部结构与74LS373完全一样,只是其引脚的排列与74LS373不同,8282的引脚如下图。引脚的排列为绘制印刷电路板时的布线提供了方便。,3锁存器74LS573 输入的D端和输出的Q端也是依次排在芯片的两侧,与锁存器8282一样,为绘制印刷电路板时的布线提供了方便。74LS573的功能和74LS373完全相同,可以用来代替74LS373。,6.4 程序存储器EPROM的扩展 程序存储器一般采用只读存储器,非易失性。根据编程方式的不同,ROM可以分为以下几种:(1)掩膜ROM 在制造过程中以掩膜工艺编程。成本较高,因此只适合于大批量生产。(2)可编程ROM(PROM)用独立的编程器写入。但PROM只能写入一次,且不能再修改。(3)EPROM 电信号编程,紫外线擦除的只读存储器芯片。(4)E2PROM(EEPROM)电信号编程,电信号擦除的ROM芯片。读写操作与RAM几乎没有什么差别,只是写入的速度慢一些。但断电后能够保存信息。,(5)Flash ROM 又称闪烁存储器,简称闪存。Flash ROM是在EPROM和E2PROM基础上发展起来的一种非易失性、电擦除型只读存储器。其特点是可以快速在线修改其存储单元的数据,成本低于E2PROM。Flash ROM大有取代E2PROM的趋势。外部存储器的扩展性能1数据存储器与程序存储器的片外64KB扩展地址空间完全重叠(0000HFFFFH),它们并联挂接在外部系统总线上。至于是那类存储器的选通操作,则由控制信号和片选信号确定。外部程序存储器的读信号为PSEN,它由MOVC指令产生。外部数据存储器的读写信号为RD和WR,它由MOVX指令产生。2扩展的外部程序存储器的地址指针为程序计数器PC和数据指针DPTR。外部数据存储器的地址指针为DPTR寄存器和Ri寄存器。3扩展的外部程序存储器多使用EPROM型。,下图是扩展程序存储器典型电路。当ROM容量小于64KB时,用单片机的A15直接ROM的端,如图(a)所示;当ROM容量等于64KB时,用单片机的 接ROM的 和 端,如图(b)所示。,目前ROM芯片单片容量已达到或超过64KB,外部扩展程序存储器时,单片即可满足需要,一般都采用线选法或用 直接选中。,6.4.1 常用EPROM芯片介绍 典型芯片是27系列产品,例如,2764(8KB8)、27128(16KB8)、27256(32KB8)、27512(64KB8)。“27”后面的数字表示其位存储容量。,扩展程序存储器时,应尽量用大容量的芯片。1.常用的EPROM芯片 参数见表8-4(P123)。引脚如下图。引脚功能如下:A0A15:地址线引脚。数目决定存储容量来定,用 来进行单元选择。D7D0:数据线引脚CE*:片选输入端OE*:输出允许控制端PGM*:编程时,加编程脉冲的输入端Vpp:编程时,编程电压(+12V或+25V)输入端Vcc:+5V,芯片的工作电压。GND:数字地。NC:无用端,2.EPROM芯片的工作方式(1)读出方式 片选控制线CE*为低,同时输出允许控制线OE*为低,Vpp为+5V,指定地址单元的内容从D7D0上读出。(2)未选中方式 片选控制线CE*为高电平,数据输出为高阻状态,功耗下降75,处于低功率维持状态。(3)编程方式 Vpp端加上规定高压(+25V),CE*和OE*端加合适电平(不同的芯片要求不同),每当CE/PGM端出现脉冲时,写入一个存贮单元信息。(4)编程校验方式 VPP+25V,CE及OE为低电平,再按照读出方式操作,读出编程固化好的内容。(5)编程禁止方式 多片编程时,若要写入各片的数据不尽相同,可使某片或某几片芯片处于编程状态或编程禁止状态,当CE/PGM信号加低电平时,该芯片处于编程禁止状态,不写入数据。,6.4.2 程序存储器的操作时序 1.访问程序存储器的控制信号(1)ALE(2)PSEN*(3)EA*如果指令是从片外EPROM中读取,ALE用于低8位地址锁存,PSEN*接外扩EPROM的OE*脚。P0口:分时低8位地址总线和数据总线,P2口:高8位地址线。2.操作时序 由于MCS-51采用不同的控制信号和指令,尽管ROM与RAM的地址是重叠的,也不会发生混乱。MCS-51对片内和片外ROM的访问使用相同的指令,两者的选择是由硬件实现的。,(1)应用系统中无片外RAM(不用执行MOVX指令),(1)应用系统中无片外RAM(不用执行MOVX指令),P0:输入指令/输出程序存储器低8位地址PCL;P2:输出程序存储器高8位地址PCH。ALE:在下降沿锁存P0口输出地址PCL,每个机器周期中2次有效;PSEN*:每个机器周期中2次有效,用于选通外部程存储器。这说明在一个机器周期内,CPU两次访问片外ROM,也即在一个机器周期内可以处理两个字节的指令代码,所以在MCS-51系列单片机指令系统中有很多单周期双字节指令。,一个机器周期,送地址,取出指令,(2)应用系统中接有片外RAM(执行MOVX指令),执行MOVX指令时,程序计数器的操作时序有所变化。在指令执行前,PCH、PCL指向程序存储器;在指令输入并判定为MOVX指令后,ALE在该机器周期的S5状态锁存的P0口地址不是程序存储器的低8位地址而是数据存储器地址。在同一机器周期中将不再出现PSEN*有效取指信号,下一机器周期中的ALE有效锁存信号也不再出现;而当RD*/WR*信号有效时,P0口将读写数据存储器的数据。由以上可看出:(1)将ALE用作定时脉冲输出时,执行一次MOVX指令就会丢失一个脉冲。(2)只有在执行MOVX指令时的第二个机器周期期间,地址总线才由数据存储器使用。,6.4.3 典型的EPROM接口电路1.不用片外译码器的单片EPROM的扩展电路 2716、2732 EPROM价格贵,容量小,且难以买到。仅介绍2764、27128、27256、27512芯片的接口电路。例1 试用EPROM2764构成8031的最小系统。2764是8K8位程序存储器,芯片的地址引脚线有13条,顺次和单片机的地址线A0A12相接。由于不采用地址译码器,所以高3位地址线A13、A14、A15不接,故有23=8个重叠的8 KB地址空间。因只用一片2764,其片选信号CE可直接接地(常有效)。其连接电路如下图所示。,EPROM2764构成8031的最小系统,OE,2764A,A7,:,:,A0,A8-A12,CE,D0D7,7,4,L,S,3,7,3,OE,G,ALE,80C31,D7,:,:,D0,Q7,:,:,Q0,PSEN,EA,P0,高3位地址线A13、A14、A15不接,MCS-51外扩单片32K字节的EPROM 27256的接口。,6.4.3 典型的EPROM接口电路2.采用线选法的多片程序存储器的扩展例2 使用两片2764扩展16 KB的程序存储器,采用线选法选中芯片。扩展连接图如图所示。以P2.7作为片选,当P2.7=0时,选中2764(1);当P2.7=1时,选中2764(2)。因两根线(A13、A14分别对应P2.5、P2.6引脚)未用,故两个芯片各有22=4个重叠的地址空间。,用两片EPROM2764的扩展联接图,单片机P2.5、P2.6悬空不接,P2.7引脚片选,左片:,即0000H1FFFH;,即2000H3FFFH;,即4000H5FFFH;,即6000H7FFFH;右片:,即8000H9FFFH;,即A000HBFFFH;,即C000HDFFFH;,即E000HFFFFH。,重叠的地址空间,3.采用地址译码器的多片程序存储器的扩展例3 要求用2764芯片扩展8031的片外程序存储器,分配的地址范围为0000H3FFFH=16KB。本例要求的地址空间是唯一确定的,所以要采用全译码方法。由分配的地址范围知:扩展的容量为3FFFH-0000H+1=4000H=16 KB,2764为8 K8位,故需要两片。第1片的地址范围应为0000H1FFFH;第2片的地址范围应为2000H3FFFH。由地址范围确定译码器的连接。为此画出译码关系图如下:,全译码、两片EPROM2764的扩展联接图,全译码、两片2764 EPROM的扩展连接图,MCS-51扩展4片27128。,6.5 静态数据存储器的扩展,数据存储器扩展原理 扩展数据存储器和扩展程序存储器的方法类似,由P2口提供高8位地址,P0口分时提供低8位地址和8位数据总线。片外数据存储器的读与写由805l的RD和WR信号控制。所以,虽然片外数据存储器的地址与程序存储器的地址重叠,但不会发生总线冲突。访问片外数据存储器的指令有:MOVX A,Ri MOVX A,DPTR MOVX Ri,A MOVX DPTR,A 执行前两条指令将在单片机的RD端输出有效的低电平脉冲信号;执行后两条指令将在单片机的WR端输出有效的低电平信号。,常用的数据存储器有动态RAM和静态RAM,有并行RAM和串行RAM。对片外数据存储器读、写操作的指令有以下四条:MOVX A,Ri;片外RAM(A),读(RD)操作 MOVX Ri,A;(A)片外RAM,写(WR)操作 这组指令由于Ri只能提供8位地址,因此,仅能扩展256个字节的片外RAM。MOVX A,DPTR;片外RAM(A),读操作 MOVX DPTR,A;(A)片外RAM,写操作 这组指令由于DPTR能提供16位地址,因此,可以扩展 64 KB的片外 RAM。,6.5.1 常用的静态RAM(SRAM)芯片 典型型号有:6116、6264、62128、62256。+5V电源供电,双列直插封装,6116为24引脚封装,6264、62128、62256为28引脚封装,引脚如下图。各引脚功能如下:A0A14:地址输入线。D0D7:双向三态数据线。CE*:片选信号输入。对于6264芯片,当26脚(CS)为 高电平时,且CE*为低电平时才选中该片。OE*:读选通信号输入线。WE*:写允许信号输入线,低电平有效。Vcc:工作电源+5V GND:地 有读出、写入、维持三种工作方式,这些工作方式的操作控制如表8-6(P181)。,A0Ai:地址输入线,i=10、12、14(6116/6264/62256);D0D7:三态双向数据线;CE:片选信号输入线,低电平有效;WR:读选通信号输入线,低电平有效;RD:写选通信号输入线,低电平有效;CS:6264的片选信号输入线,高电平有效,可用于掉电保护。,6264芯片解析,6.5.2 外扩数据存储器的读写操作时序 扩展RAM和扩展ROM类似,由P2口提供高8位地址,P0口分时地作为低8位地址线和8位双向数据总线。,一个机器周期,一个机器周期,RD/WR,注意:上述红色线时序是在执行MOVX 指令情况下,1.读片外RAM操作时序 执行MOVX A,DPTR时,机器周期1为取指周期,在取指周期的S5状态时,ALE的下降沿,在P0总线上出现的是数据存储器的低8位地址,即DPL;在P2口上出现的是数据存储器的高8位地,即DPH。取指操作之后,直至机器周期2的S3状态之前,PSEN一直维持高电平。而在机器周期2的S1与S2状态之间的ALE不再出现。执行“MOVX A,DPTR”时,从机器周期2开始到S3状态,RD出现低电平。,此时允许将片外数据存储器的数据送上P0口,在RD的上升沿将数据读入累加器A,数据为输入。,2.写片外RAM操作时序 执行“MOVX DPTR,A”时,从机器周期2开始到S3状态,WR出现低电平。此时P0口上将送出累加器A的数据,在WR的上升沿将数据写入片外数据存储器中,数据为输出。总之,此时P0口为地址、数据复用总线;P2口在机器周期1的S4状态之后出现锁存的高8位地址(DPH);用控制线来调动数据总线上的数据传输方向:而RD有效时数据为输入,有效时数据为输出。,6.5.3 典型的外扩数据存储器的接口电路 常用扩展存贮器件简介,1.线选法 下图给出了用线选法扩展8031外部数据存储器的电路。,地址线为A0A12,故8031剩余地址线为三根。用线选法可扩展3片6264。3片6264对应的存储器空间如下表。,2.译码选通法扩展,如下图所示。,各片62128地址分配见下表。表8-9 各片62128地址分配 P2.6 P2.7 译码输出 选中芯片 地址范围 存储容量 0 0 YO*IC1 0000H-3FFFH 16K 0 1 Y1*IC2 4000H-7FFFH 16K 1 0 Y2*IC3 8000H-BFFFH 16K 1 1 Y3*IC4 C000H-FFFFH 16K,单片62256与8031的接口电路如图所示。地址范围为0000H7FFFH。,例题 编写程序将片外数据存储器中5000H50FFH单元全部清零。方法1:用DPTR作为数据区地址指针,同时使用字节计数器。MOV DPTR,#5000H;设置数据块指针的初值 MOV R7,#00H;设置块长度计数器初值 CLR ALOOP:MOVX DPTR,A;把某一单元清零 INC DPTR;地址指针加1 DJNZ R7,LOOP;数据块长度减1,若不为;0则继续清零HERE:SJMP HERE;执行完毕,原地踏步方法2:用DPTR作为数据区地址指针,但不使用字节计数器,而是比较特征地址。,MOV DPTR,#5000HCLR ALOOP:MOVX DPTR,AINC DPTRMOV R7,DPLCJNE R7,#0,LOOP;与末地址+1比较HERE:SJMP HERE,6.6 EPROM和RAM的综合扩展6.6.1 综合扩展的硬件接口电路例题 采用线选法扩展2片8KB的RAM和2片8KB的EPROM。RAM选6264,EPROM选2764。扩展接口电路见下图。,(1)各芯片地址空间分配(2)控制信号及片选信号 IC2和IC4占用地址空间为2000H3FFFH共8KB。同理IC1、IC3地址范围4000H5FFFH(P2.6=1、P2.5=0、P2.7=0)。线选法地址不连续,地址空间利用不充分。例题 采用译码器法扩展2片8KB EPROM,2片8KB RAM。EPROM选用2764,RAM选用6264。共扩展4片芯片。扩展接口电路见图。各存储器地址范围如下:,可见译码法进行地址分配,各芯片地址空间是连续的。,6.6.2 外扩存储器电路的工作原理及软件设计 1.单片机片外程序区读指令过程 2.单片机片外数据区读写数据过程 例如,把片外1000H单元的数送到片内RAM 50H单元,程序如下:MOV DPTR,#1000HMOVX A,DPTRMOV 50H,A 例如,把片内50H单元的数据送到片外1000H单元中,程序如下:MOV A,50HMOV DPTR,#1000HMOVX DPTR,A MCS-51单片机读写片外数据存储器中的内容,除用MOVX A,DPTR和MOVX DPTR,A外,还可使用MOVX A,Ri和MOVX Ri,A。这时通过P0口输出Ri中的内容(低8位地址),而把P2口原有的内容作为高8位地址输出。,例题 将程序存储器中以TAB为首址的32个单元的内容依次传送到外部RAM以7000H为首地址的区域去。DPTR指向标号TAB的首地址。R0既指示外部RAM的地址,又表示数据标号TAB的位移量。本程序的循环次数为32,R0的值:031,R0的值达到32就结束循环。程序如下:MOVP2,#70HMOVDPTR,#TAB MOVR0,#0 AGIN:MOVA,R0 MOVCA,A+DPTR MOVXR0,A INCR0 CJNER0,#32,AGIN HERE:SJMPHERE TAB:DB,6.7 E2PROM的扩展 保留信息长达20年,不存在EPROM在日光下信息缓慢丢失的问题。6.7.1 常用的E2PROM芯片,在芯片的引脚设计上,2KB的E2PROM 2816与相同容量的EPROM 2716和静态RAM 6116兼容,8KB的E2PROM 2864A与同容量的EPROM 2764和静态RAM 6264也是兼容的。2816、2817和2864A的读出数据时间均为250ns,写入时间10ms。E2PROM的主要性能见表8-10(P191)。,6.7.2 MCS-51扩展E2PROM的方法 1.MCS-51外扩2817A 2817A既可作为外部的数据存储器,又可作为程序存储器。通过P1.0查询2817A的RDY/BUSY*状态,来完成对2817A的写操作。片选信号由P2.7提供。,2.MCS-51外扩2864A 接口电路见图8-28。片选端与P2.7连接,P2.7=0才选中2864A,线选法决定了2864A对应多组地址空间,即:0000H1FFFH,2000H3FFFH,4000H5FFFH,6000H7FFFH。8K字节的2864A可作为数据存储器使用,但掉电后数据不丢失。对2864A装载一个页面数据(16个字节)的子程序WR2如下:被写入的数据取自源数据区,子程序入口参数为:R1=写入2864A的字节数(16个字节)R2=2864A的低位地址P2=2864A的高位地址DPTR=源数据区首地址,WR2:MOVX A,DPTR;取数据 MOV R2,A;数据暂存R2,备查询 MOVX R0,A;写入2864A INC DPTR;源地址指针加1 INC R0;目的地址指针加1 CJNE R0,#00H,NEXT;低位地址指针未满;转移 INC R2;否则高位指针加1 NEXT:DJNZ R1,WR2;页面未装载完转移 DEC R0;页面装载完后,恢复;最后写入数据的地址 LOOP:MOVX A,R0;读2864A,XRL A,R2;与写入的最后数据相异或JB ACC.7,LOOP;最高位不等,再查RET;最高位相同,1页写完 上述写入程序,完成页面装载的循环部分共8条指令,当采用12MHz晶振时,进行时间约13s,完全符合2864A的tBLW宽度要求。,6.8大容量闪速存储器Flash的扩展1、ATMEL89C51/89C55单片机的片内闪烁存储器 AT89C51/89C52/89C55是低功耗、高性能的片内含有4KB/8KB/20KB闪烁可编程/擦除只读存储器芯片上的FEPROM允许在线编程或采用通用的编程器对其重复编程。89C51的主要性能片内有4KB可在线重复编程的闪烁存储器(Flash Memory),存储器可循环写入/擦除10000次,存储器数据保存时间为10年,程序存储器具有3级加密保护。片内闪烁存储器芯片内有3个加密位,见下表。,对89C51片内的闪烁存储器编程,只需购买相应的编程器,按照编程器的说明进行操作。如想对写入的内容加密,只需按照编程器的菜单,选择加密功能选项既可。,2、外部闪速存储器Flash的扩展,以Super Flash 28SF040A存储器为例,介绍闪速存储器Flash存储器在单片机系统中的使用方法。,28SF040A是一个容量为512KB的CMOS快速闪存,可块擦除、字节编程的Flash EEPROM,引脚与EPROM、EEPROM兼容。,引脚排列及芯片特殊操作命令,对28SF040A的读操作非常简单,类似于SRAM,这里不再赘述。,28SF040A的其他特殊操作命令包括扇区擦除(Sector_Erase)、芯片擦除(Chip_Erase)、字节编程、复位、读ID号、软件数据写保护、软件数据写保护打开。,引脚排列及芯片特殊操作命令,进行块擦除操作首先要写一个特征字,然后再发送块擦除命令。特征字为20H,表明以下将擦除一块数据区中256个字节的内容。块擦除命令为20H,其操作在写信号的上升沿开始。芯片擦除操作的特征字和命令字均为30H,其操作将擦除28SF040全部内容。字节编程操作的特征字为10H。例如,对某一字节的写入,应首先判断芯片是否处于写保护打开状态(Unprotected),然后判断是否到了新的一页,如果是,先把此页全部内容擦除。然后写特征字10H,写数据DATA,之后进行两次读操作,若读出内容相同,则认为该字节已写入数据完成;若D7状态跳变,则说明写过程还未完成。,引脚排列及芯片特殊操作命令,复位命令能够安全地终止擦除或编程命令。在擦除或编程命令后执行复位命令字FFH即能安全终止擦除或编程操作,存储器的内容不会被改变。执行复位命令后,芯片返回读状态。读ID号操作的特征字为90H。地址0000H的输出厂商代码BFH,地址0001H输出芯片代码04H,任何其它有效的命令均会终止这一操作。软件数据保护是为了防止对存储器意外的写入数据或擦除数据,每一操作都包含两个命令字,一个为特征字,跟随一个执行命令字。软件数据写保护是一个整体的命令字,对芯片的整个存储阵列有效。,89C52单片机和28SF040A接口方法,28SF040A是大容量并行存储器共计512KB,地址线A0A18共19根,而89C52全部寻址空间仅为64KB,地址线A0A15共16根,因此需要增加高位地址线访问28SF040A。,(1)使用单片机的I/O口控制高位地址线,用P1口的P1.2P1.0控制28SF040A高位地址线。,(2)使用单片机的扩展I/O口控制高位地址线,许多应用系统当中,单片机的I/O口线都是非常紧张的,在没有多余的I/O口线时,页面地址就必须提前从数据总线输出并存放在锁存器中备用。具体做法是:将锁存器直接挂在数据总线上,为其安排一个I/O地址,从而构成页面寄存器,在访问存储器时,提前将页面地址作为数据写入页面寄存器即可。,(2)使用单片机的扩展I/O口控制高位地址线,将512 KB的存储器分为32页面,每页大小为16 KB。由此可得,页面地址需要5位,页内偏移量需要14位。页面地址的给出是在进行存储器访问之前完成的,具体的方法是:用一条“MOVX”命令将页面地址输出到锁存器74HC574中,再由74HC574将页面地址保持在存储器的地址引脚A14A18上。页内偏移量则直接在存储器的读写命令中给出,执行命令时,低8位地址A0A7从P0口输出到74HC373中保持;地址A8A13则由单片机的P2.0P2.5直接提供。,

    注意事项

    本文(单片机的存储器扩展.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开