您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > MCS-51单片机扩展存储器的设计
第8章MCS-51单片机扩展存储器设计8.1概述片内的资源如不满足需要,需外扩存储器和I/O功能部件。系统扩展主要内容有:(1)外部存储器的扩展(外部RAM、ROM)(2)I/O接口部件的扩展。本章介绍如何扩展外部存储器,I/O接口部件的扩展下一章介绍。返回8051/8751最小应用系统8.1.1最小应用系统8031最小应用系统返回8.1.2系统扩展的三总线结构MCS-51单片机外部存储器结构:哈佛结构。MCS-96单片机存储器结构:普林斯顿结构。MCS-51RAM和ROM的最大扩展空间各为64KB。系统扩展首先要构造系统总线。8.2系统总线及总线构造8.2.1系统总线按功能把系统总线分为三组:1.地址总线(AdressBus,简写AB)2.数据总线(DataBus,简写DB)3.控制总线(ControlBus,简写CB)8.2.2构造系统总线地址锁存器74LS3731.以P0口作为低8位地址/数据总线。2.以P2口的口线作高位地址线。3.控制信号线。*ALE——低8位地址锁存信号。*PSEN*——扩展程序存储器读选通信号。*EA*——内外程序存储器选择信号。*RD*和WR*——扩展RAM和I/O口的读选通、写选通信号。8.2.3单片机系统的串行扩展技术优点:串行接口器件体积小,与单片机接口时需要的I/O口线少,可靠性提高。缺点:串行接口器件速度较慢在多数应用场合,还是并行扩展占主导地位。8.3读写控制、地址空间分配和外部地址锁存器8.3.1存储器扩展的读写控制RAM芯片:读写控制引脚OE*和WE*,与RD*和WR*相连。EPROM芯片:只有读出引脚,OE*,与PSEN*相连。8.3.2存储器地址空间分配8031373G27166116(2)6116(1)8155P0P2.2--P2.0PSENALEWRRDABCG2AG2BG1P1.0A0~A7A8~A10D7~D0D7~D0D7~D0CECECSOEA0~A7A8~A10WEWEOEOEWERDALEAD0~AD7CEY2Y1Y0+5VIO/MPAPBPCP2.3P2.4P2.5P2.6P2.7直接用系统的高位地址线作RAM芯片的片选信号。例:外扩8KBEPROM(2片2732)4KBRAM(2片6116)线选法和地址译码法1.线选法2732:4KBROM,12根地址线A0~A11,1根片选线6116:2KBRAM,11根地址线A0~A10,1根片选线片选端低电平有效地址范围:2732(1)的地址范围:7000H~7FFFH;2732(2)的地址范围:B000H~BFFFH;6116(1)的地址范围:E800H~EFFFH;6116(2)的地址范围:D800H~DFFFH。线选法特点优点:电路简单,不需另外增加硬件电路,体积小,成本低。缺点:可寻址的器件数目受限,地址空间不连续。只适于外扩芯片不多,规模不大的单片机系统2.译码法常用译码器芯片:74LS138(3-8译码器)74LS139(双2-4译码器)74LS154(4-16译码器)全译码:全部高位地址线都参加译码;部分译码:仅部分高位地址线参加译码。(1)74LS138(3~8译码器)当译码器的输入为某一个固定编码时,其输出只有某一个固定的引脚输出为低电平,其余的为高电平。74LS138译码器真值表输入输出G1G2A*G2B*CBAY7*Y6*Y5*Y4*Y3*Y2*Y1*Y0*(2)74LS139(双2-4译码器)真值表如表8-2(P168)所示。采用全地址译码方式,单片机发地址码时,每次只能选中一个存储单元。同类存储器间不会产生地址重叠的问题。例:要扩8片8KB的RAM6264,如何通过74LS138把64KB空间分配给各个芯片?•如果用74LS138把64K空间全部划分为每块4KB,如何划分?8.3.3外部地址锁存器8031373G27166116(2)6116(1)8155P0P2.2--P2.0PSENALEWRRDABCG2AG2BG1P1.0A0~A7A8~A10D7~D0D7~D0D7~D0CECECSOEA0~A7A8~A10WEWEOEOEWERDALEAD0~AD7CEY2Y1Y0+5VIO/MPAPBPCP2.3P2.4P2.5P2.6P2.7D7~D0:8位数据输入线Q7~Q0:8位数据输出线。G:数据输入锁存选通信号OE*:数据输出允许信号8.3.3外部地址锁存器常用地址锁存器芯片:74LS373、8282、74LS5731.锁存器74LS373(带有三态门的8D锁存器)2.锁存器8282功能及内部结构与74LS373完全一样,只是其引脚的排列与74LS373不同3.锁存器74LS573输入的D端和输出的Q端也是依次排在芯片的两侧,与8282一样,为绘制印刷电路板时的布线提供方便。8.4程序存储器EPROM的扩展采用只读存储器,非易失性。(1)掩膜ROM在制造过程中编程,只适合于大批量生产。(2)可编程ROM(PROM)用独立的编程器写入,只能写入一次。(3)EPROM电信号编程,紫外线擦除的只读存储器芯片。(4)E2PROM(EEPROM)电信号编程,电擦除。读写操作与RAM相似,写入速度稍慢。断电后能够保存信息。(5)FlashROM又称闪烁存储器,简称闪存。电改写,电擦除,读写速度快(70ns),读写次数多(1万次)。8.4.1常用EPROM芯片介绍典型芯片是27系列产品,例如,2764(8KB×8)27128(16KB×8)27256(32KB×8)27512(64KB×8)“27”后面的数字表示其位存储容量。扩展程序存储器时,应尽量用大容量的芯片。1.常用的EPROM芯片电气参数见表8-4(P123)。引脚如下图。引脚功能如下:A0~A15:地址线引脚。数目决定存储容量。D7~D0:数据线引脚CE*:片选输入端OE*:输出允许控制端PGM*:编程时,加编程脉冲的输入端Vpp:编程时,编程电压(+12V或+25V)输入端Vcc:+5V,芯片的工作电压。GND:数字地。NC:无用端2.EPROM芯片的工作方式(1)读出方式片选控制线为低,输出允许为低,Vpp为+5V,指定地址单元的内容从D7~D0上读出。(2)未选中方式片选控制线为高电平。(3)编程方式Vpp端加规定高压,CE*和OE*端加合适电平,就能将数据线上的数据写入到指定的地址单元。(4)编程校验方式(5)编程禁止方式输出呈高阻状态,不写入程序。8.4.2程序存储器的操作时序(自学)8.4.3典型的EPROM接口电路1.使用单片EPROM的扩展电路2716、2732EPROM价格贵,容量小,且难以买到。仅介绍2764、27128、27256、27512芯片的接口电路。下图为外扩16K字节的EPROM27128的接口电路图。MCS-51外扩单片32K字节的EPROM27256的接口。3.使用多片EPROM的扩展电路扩展4片27128。8.5静态数据存储器的扩展8.5.1常用的静态RAM(SRAM)芯片典型型号有:6116、6264、62128、62256。+5V电源供电,双列直插,6116为24引脚封装,6264、62128、62256为28引脚封装。各引脚功能如下:A0~A14:地址输入线。D0~D7:双向三态数据线。CE*:片选信号输入。对于6264芯片,当CS为高电平,且CE*为低电平时才选中该片。OE*:读选通信号输入线。WE*:写允许信号输入线,低电平有效。Vcc:工作电源+5VGND:地有读出、写入、维持三种工作方式,操作控制如表8-6(P181)。8.5.2外扩数据存储器的读写操作时序8.5.3典型的外扩数据存储器的接口电路图8-21用线选法扩展8031外部数据存储器的电路。地址线为A0~A12,故剩余地址线为三根。用线选法可扩展3片6264。3片6264对应的地址空间如下。译码选通法各片62128地址分配见表8-9。表8-9各片62128地址分配P2.7P2.6译码输出选中芯片地址范围存储容量00YO*IC10000H-3FFFH16K01Y1*IC24000H-7FFFH16K10Y2*IC38000H-BFFFH16K11Y3*IC4C000H-FFFFH16K单片62256与8031的接口电路如图8-23所示。地址范围为0000H~7FFFH。例8-1编写程序将片外RAM中5000H~50FFH单元全部清零。方法1:用DPTR作为数据区地址指针,同时使用字节计数器。MOVDPTR,#5000H;设置数据块指针的初值MOVR7,#00H;设置块长度计数器初值CLRALOOP:MOVX@DPTR,A;把某一单元清零INCDPTR;地址指针加1DJNZR7,LOOP;数据块长度减1,若不为0则继续清零HERE:SJMPHERE;执行完毕,原地踏步方法2:用DPTR作为数据区地址指针,但不使用字节计数器,而是比较特征地址。MOVDPTR,#5000HCLRALOOP:MOVX@DPTR,AINCDPTRMOVR7,DPLCJNER7,#0,LOOP;与末地址+1比较HERE:SJMPHERE8.6EPROM和RAM的综合扩展8.6.1综合扩展的硬件接口电路例8-2采用线选法扩展2片8KB的RAM和2片8KB的EPROM,RAM选6264,EPROM选2764。IC2和IC4占用地址空间为2000H~3FFFH共8KB。同理IC1、IC3地址范围4000H~5FFFH(P2.6=1、P2.5=0、P2.7=0)。线选法地址不连续,地址空间利用不充分。例8-3采用译码器法扩展2片8KBEPROM,2片8KBRAM。EPROM选用2764,RAM选用6264。共扩展4片芯片。可见译码法进行地址分配,各芯片地址空间是连续的。8.6.2外扩存储器电路的工作原理及软件设计1.单片机片外程序区读指令过程2.单片机片外数据区读写数据过程例如,把片外1000H单元的数送到片内RAM50H单元,程序如下:MOVDPTR,#1000HMOVXA,@DPTRMOV50H,A例如,把片内50H单元的数据送到片外1000H单元中,程序如下:MOVA,50HMOVDPTR,#1000HMOVX@DPTR,AMCS-51单片机读写片外数据存储器中的内容,除用MOVXA,@DPTR和MOVX@DPTR,A外,还可使用MOVXA,@Ri和MOVX@Ri,A。这时通过P0口输出Ri中的内容(低8位地址),而把P2口原有的内容作为高8位地址输出。例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……8.7E2PROM的扩展保留信息长达20年,不存在日光下信息缓慢丢失的问题。8.7.1常用的E2PROM芯片在芯片的引脚设计上,2KB的E2PROM2816与EPROM2716和RAM6116兼容8KB的E2PROM2864A与EPROM2764和RAM6264兼容2816、2817和2864A的读出时间均为250ns,写入时间10ms。E2PROM的主要性能见表8-10(P191)。8.7.3MCS-51扩展E2PROM的方法1.MCS-51外扩2817A2817A既可作为外部的数据存储器,又可作为程序存储器。通过P1.0查询2817A的RDY/BUSY*状态,来完成对2817A的写操作。片选信号由P2.7提供。2.MCS-51外扩2864A片选端与P2.7连接,P2.7=0才选中2864A,线选法决定了2864A对应多组地址空间,即:0000H~1FFFH2000H~3FFFH4000H~5FFFH
本文标题:MCS-51单片机扩展存储器的设计
链接地址:https://www.777doc.com/doc-5368995 .html