LJY_第8章MCS-51单片机扩展存储器的设计.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

44/1第8章MCS-51单片机扩展存储器的设计8.1概述片内的资源如不满足需要,需外扩存储器和I/O功能部件:系统扩展问题,内容主要有:(1)外部存储器的扩展(外部存储器又分为外部程序存储器和外部数据存储器)(2)I/O接口部件的扩展。本章介绍MCS–51单片机如何扩展外部存储器,I/O接口部件的扩展下一章介绍。44/2•系统扩展结构如下图:MCS-51单片机外部存储器结构:哈佛结构。MCS-51数据存储器和程序存储器的最大扩展空间各为64KB。系统扩展首先要构造系统总线。44/38.2系统总线及总线构造8.2.1系统总线按其功能通常把系统总线分为三组:1.地址总线(AdressBus,简写AB)2.数据总线(DataBus,简写DB)3.控制总线(ControlBus,简写CB)8.2.2构造系统总线系统扩展的首要问题:构造系统总线,然后再往系统总线上“挂”存储器芯片或I/O接口芯片,“挂”存储器芯片就是存储器扩展,“挂”I/O接口芯片就是I/O扩展。44/4MCS-51由于引脚数目限制,数据线和低8位地址线复用。为了将它们分离出来,需要外加地址锁存器,从而构成与一般CPU相类似的片外三总线。44/5•地址锁存器一般采用74LS373,采用74LS373的地址总线的扩展电路如下图(图8-3)。1.以P0口作为低8位地址/数据总线。2.以P2口的口线作高位地址线。3.控制信号线。ALE,PSEN*,EA*,RD*和WR*尽管MCS-51有4个并行I/O口,共32条口线,但由于系统扩展需要,真正作为数据I/O使用的,就剩下P1口和P3口的部分口线。44/6•8.2.3单片机系统的串行扩展技术•优点:串行接口器件体积小,与单片机接口时需要的I/O口线很少(仅需3-4根),提高可靠性。SPI(SerialPeriperalInterface)I2C公用双总线•缺点:串行接口器件速度较慢(现也很快)在大多数应用的场合,还是并行扩展占主导地位。(仪表行业串行占主要)44/78.3读写控制、地址空间分配和外部地址锁存器8.3.1存储器扩展的读写控制RAM芯片:读写控制引脚,记为/OE和/WE,与MCS-51的/RD和/WR相连。EPROM芯片:只能读出,故只有读出引脚,记为/OE,该引脚与MCS-51的/PSEN相连。44/88.3读写控制、地址空间分配和外部地址锁存器8.3.2存储器地址空间分配MCS-51发出的地址:用来选择某个存储器单元进行读写,要完成这种功能,必须进行两种选择:①“片选”和②“单元选择”。存储器空间分配①考虑地址线连接,②各存储器芯片在整个存储空间中所占据的地址范围。常用的存储器地址分配的方法有两种:线性选择法(简称线选法)地址译码法(简称译码法)。44/91.线选法直接利用系统的高位地址线作为存储器芯片(或I/O接口芯片)的片选信号。例某一系统,需要外扩8KB的EPROM(2片2732),4KB的RAM(2片6116),这些芯片与MCS-51单片机地址分配有关的地址线连线,电路如下图。地址映射表(高位):2732(1):0111xxxxB2732(2):1011xxxxB6116(1):1101xxxxB6116(2):1110xxxxB44/102.译码法常用的译码器芯片:74LS138(3-8译码器)74LS139(双2-4译码器)74LS154(4-16译码器)。全译码:全部高位地址线都参加译码;部分译码:仅部分高位地址线参加译码。(1)74LS138(3~8译码器)44/11(2)74LS139(双2-4译码器)引脚如下图。真值表如表8-2(P168)所示。44/12全地址译码方式,每次只能选中一个存储单元。同类存储器间不会产生地址重叠的问题。例要扩8片8KB的RAM6264,如何通过74LS138把64KB(地址)空间分配给各个芯片?44/13如果用74LS138把64K空间全部划分为每块4KB,如何划分?44/148.3.3外部地址锁存器常用的地址锁存器芯片有:74LS373、8282、74LS573等。44/153.锁存器74LS573输入的D端和输出的Q端也是依次排在芯片的两侧,与锁存器8282一样,为绘制印刷电路板时的布线提供了方便。44/168.4程序存储器EPROM的扩展只读存储器,非易失性。(1)掩膜ROM:在制造过程中编程。成本较高,因此只适合于大批量生产。(2)可编程ROM(PROM):OTP(onetimeprogrammable)ROM用独立的编程器写入。但PROM只能写入一次,且不能再修改。(3)EPROM:电信号编程,紫外线擦除。(4)E2PROM(EEPROM):电信号编程,电信号擦除的ROM芯片。读写操作与RAM几乎没有什么差别,只是写入的速度慢一些。但断电后能够保存信息。(5)FlashROM:又称闪烁存储器,简称闪存。大有取代E2PROM的趋势。44/178.4.1常用EPROM芯片介绍典型芯片是27系列产品,“27”后面的数字表示其位存储容量。2764(8KB×8)27128(16KB×8)27256(32KB×8)27512(64KB×8)CE*:片选输入端/GOE*:输出允许控制端/EPGM*:编程时,加编程脉冲的输入端Vpp:编程时,编程电压(+12V或+25V)输入端扩展程序存储器时,应尽量用大容量的芯片。(余地)44/182.EPROM芯片的工作方式(1)读出方式片选CE*(G):低输出允许控制OE*(E):低,Vpp:+5V。(2)编程方式Vpp端加上规定高压,CE*和OE*端加合适电平(不同的芯片要求不同),就能将数据线上的数据写入到指定的地址单元。(3)未选中方式片选控制线为高电平。(4)编程校验方式(5)编程禁止方式/OE为高输出呈高阻状态。44/198.4.2程序存储器的操作时序访问程序存储器的控制信号:(1)ALE(2)PSEN*(3)EA*1:片内0:片外如果指令是从片外EPROM中读取,ALE用于低8位地址锁存,PSEN*接外扩EPROM的OE*脚。P0口:分时低8位地址总线和数据总线,P2口:高8位地址线。44/202.操作时序(1)应用系统中无片外RAM与P0、P2相关,从ROM读取指令44/21(2)应用系统中接有片外RAM与P0、P2相关,1)从ROM读取指令2)外部RAM地址、数据44/228.4.3典型的EPROM接口电路1.使用单片EPROM的扩展电路2716、2732EPROM价格贵,容量小,且难以买到。介绍2764、27128、27256、27512芯片的接口电路。44/23外扩16K字节的EPROM27128的接口电路图44/24MCS-51外扩单片32K字节的EPROM27256的接口。44/253.使用多片EPROM的扩展电路MCS-51扩展4片27128各片62128地址分配表P2.6P2.7译码输出选中芯片地址范围存储容量00YO*IC10000H-3FFFH16K01Y1*IC24000H-7FFFH16K10Y2*IC38000H-BFFFH16K11Y3*IC4C000H-FFFFH16K44/268.5静态数据存储器的扩展8.5.1常用的静态RAM(SRAM)芯片典型型号有:6116、6264、62128、62256。+5V电源供电,双列直插封装,6116为24引脚封装,6264、62128、62256为28引脚封装。各引脚功能如下:A0~A14:地址输入线。D0~D7:双向三态数据线。/CS1、CS2:片选信号输入。对于6264芯片,当26脚(CS2)为高电平时,且/CS1为低电平时才选中。OE*:读选通信号输入线。WE*:写允许信号输入线,低电平有效。44/27626444/28Vcc:工作电源+5VGND:地有读出、写入、维持三种工作方式,这些工作方式的操作控制。44/298.5.2外扩数据存储器的读写操作时序1.读片外RAM操作时序44/302.写片外RAM操作时序写是CPU主动把数据送上P0口总线。故在时序上,CPU先向P0口总线上送完8位地址后,在S3状态就将数据送到P0口总线。44/318.5.3典型的外扩数据存储器的接口电路•图8-21给出了用线选法扩展8031外部数据存储器的电路。44/32地址线为A0~A12,故8031剩余地址线为三根。用线选法可扩展3片6264。3片6264对应的存储器空间如下表。44/33•各片62128地址分配表P2.6P2.7译码输出选中芯片地址范围存储容量00YO*IC10000H-3FFFH16K01Y1*IC24000H-7FFFH16K10Y2*IC38000H-BFFFH16K11Y3*IC4C000H-FFFFH16K译码选通法扩展。44/34单片62256与8031的接口电路如图8-23所示。地址范围为0000H~7FFFH。44/35•例8-1编写程序将片外数据存储器中5000H~50FFH单元全部清零。方法1:用DPTR作为数据区地址指针,同时使用字节计数器。MOVDPTR,#5000H;设置数据块指针的初值MOVR7,#00H;设置块长度计数器初值CLRALOOP:MOVX@DPTR,A;把某一单元清零INCDPTR;地址指针加1DJNZR7,LOOP;数据块长度减1,若不为0则继续清零HERE:SJMPHERE;执行完毕,原地踏步44/36•例8-1编写程序将片外数据存储器中5000H~50FFH单元全部清零。方法2:用DPTR作为数据区地址指针,但不使用字节计数器,而是比较特征地址。MOVDPTR,#5000HCLRALOOP:MOVX@DPTR,AINCDPTRMOVR7,DPLCJNER7,#0,LOOP;与末地址+1比较HERE:SJMPHERE44/378.6EPROM和RAM的综合扩展8.6.1综合扩展的硬件接口电路例8-2采用线选法扩展2片8KB的RAM和2片8KB的EPROM。RAM选6264,EPROM选2764。(1)各芯片地址空间分配、片选信号(2)控制信号IC2和IC4地址:2000H~3FFFH(P2.6=0、P2.5=1)IC1、IC3地址:4000H~5FFFH(P2.6=1、P2.5=0)。线选法地址不连续,地址空间利用不充分。44/38例8-3采用译码器法扩展2片8KBEPROM,2片8KBRAM。EPROM选用2764,RAM选用6264。共扩展4片芯片。扩展接口电路见图8-25。各存储器的地址范围如下:44/398.6.2外扩存储器电路的工作原理及软件设计1.单片机片外程序区读指令过程2.单片机片外数据区读写数据过程例如,把片外1000H单元的数送到片内RAM50H单元,程序如下:MOVDPTR,#1000HMOVXA,@DPTRMOV50H,A例如,把片内50H单元的数据送到片外1000H单元中,程序如下:MOVA,50HMOVDPTR,#1000HMOVX@DPTR,A44/408.6.2外扩存储器电路的工作原理及软件设计MCS-51单片机读写片外数据存储器中的内容,除用MOVXA,@DPTR和MOVX@DPTR,A外,还可使用MOVXA,@Ri和MOVX@Ri,A。这时通过P0口输出Ri中的内容(低8位地址),而把P2口原有的内容作为高8位地址输出。44/41例8-4将程序存储器中以TAB为首址的32个单元的内容依次传送到外部RAM以7000H为首地址的区域去。DPTR指向标号TAB的首地址。R0既指示外部RAM的地址,又表示数据标号TAB的位移量。本程序的循环次数为32,R0的值:0~31,R0的值达到32就结束循环。程序如下:MOVP2,#70hMOVDPTR,#TABMOVR0,#0AGIN:MOVA,R0MOVCA,@A+DPTRMOVX@R0,AINCR0CJNER0,#32,AGINHERE:SJMPHERETAB:DB……44/428.7E2PROM的扩展保留信息长达20年,不存在EPROM在日光下信息缓慢丢失的问题。8.7.1常用的E2PROM芯片在芯片的引脚设

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功