第六章MCS—51单片机存储器的扩展MCS-51单片机内部有4KB的程序存储器(8031除外)和128B数据存储器。在实用中往往不够用,必须加以扩展。而8031没有内部的程序存储器也必须通过扩展才能使用。在扩展时采用了外部三总线结构:地址总线、数据总线、控制总线。它们分别传递各自的信息。一、地址总线(16根)1、P0口传递低8位地址信息(A7~A0);2、P2口传递高8位地址信息(A15~A8)。二、数据总线(8根)P0口传递8位数据信息(分时传送)。三、控制总线(5根)1、程序存储器读控制信号为PSEN;2、数据存储器的读控制信号RD或写控制信号WR;3、地址锁存控制信号为ALE;4、片内/片外选择信号为EA。4-1程序存储器的扩展一、外部存储器与单片机的连接原理1、内、外部存储器的地址分配①内部程序存储器的地址为0000H~0FFFH;②当EA=1时:内、外存储器地址相接,内部从0000H~0FFFH,外部从1000H~0FFFFH,内外连成一个整体;③当EA=0时:只有外存储器能使用,其地址从0000H~0FFFFH。二、外部存储器与单片机的连接框图1、由ALE提供选通信号,控制地址锁存器,使P0口分时传送地址或数据信息。2、P2口直接与程序存储器的高8位地址相连。3、PSEN与OE相连,控制程序存储器中8位数据的读操作。三、外部程序存储器读周期的时序图1、ALE(地址锁存信号)在一个程序存储器读周期内两次有效;2、在ALE第1个下降沿将P0口输出的低8位地址存入地址锁存器;3、同时高8位地址由P2口直接送到程序存储器;4、PSEN(程序存储器读控制信号)在低电平时有效,便将数据读出;5、读出的数据通过P0口送回单片机。四、常用的地址锁存器74LS373是一个典型的TTL带三态输出的8位地址锁存器。1、74LS373框图及每个锁存位的原理图74LS373地址锁存器有8个输入端(D8~D1),8个输出端(Q1~Q8),1个输入选通端(G),1个三态控制端(OE),1个接地端(GND),1个电源端(CCV)。2、74LS373的工作原理①当输入选通信号G=1时,锁存器Q输出端随D输入端的变化而变化。(A7~A0传送的地址信息可以通过锁存器到达扩展的ROM)②当输入选通信号G=0(下降沿)时,锁存器被封锁,Q输出端不再随D输入端的变化而变化,一直保持其封锁值不变。(A7~A0传送的是数据信息)③G端的输入选通信号由单片机的ALE端提供。五、常用的程序存储器EPROM芯片介绍以美国InteL公司的2764、27128、27256这三种EPROM芯片最具有代表性。2764——存储容量为8K×8;27128——存储容量为16K×8;27256——存储容量为32K×81、结构特点:①EPROM(ErasableProgrammableReadOnlyMemory),是紫外线可擦除的可编程半导体只读存储器。一般以27开头。②都是双列直插式28脚封装结构,只是存储容量成倍增加。③掉电后信息不会丢失,编程时需要专用的编程器写入。2、引脚功能:①2764、27128和27256主电源脚都为Vcc(+5V),都有公共地端(GND);②它们的编程电源引脚都为Vpp;③2764地址信号线为A12~A0,共有13根,KB8213;27128地址信号线为A13~A0,共有14根,KB16214;27256地址信号线为A14~A0,共有15根,KB32215。④它们的数据信号线为O7~O0,共有8根;⑤CE为片选通信号输入端,CE=0时该芯片被选中,CE=1时该芯片不被选中。⑥OE为允许数据输出(读)选通信号输入端,低电平有效。⑦PGM为编程脉冲输入端。仅在编程时接收编程脉冲。六、程序存储器扩展电路(用8031单片机与EPROM27256配套为例)1、P0口的39~32脚输出的8位信号。并分为两路。①一路作为地址总线送74LS373地址锁存器,为27256提供低8位地址信号。②另一路作为数据总线,直接与27256相连接用于8位数据信号的读取。2、P2口的21~28脚输出的8位信号。(具体连接如下)⑴21~27脚直接与27256的A14~A8相连接,提供了高7位地址信号。⑵28脚直接与27256的CE相连接:(功能如下)①当28脚为0时,即:P2.7=0,27256被选通,地址范围是0000H~7FFFH。②当28脚为1时,即:P2.7=1,27256未被选通,不工作。3、地址锁存信号ALE与74LS373地址锁存器输入选通端G相连,用于锁存P0口的送出的低8位地址信号。4、读选通信号PSEN与27256的OE相连,用于读取数据。4-2数据存储器的扩展一、MCS-51单片机扩展数据存储器结构图1、P0口通过8位地址锁存器向外部数据存储器分时提供低8位地址信息和8位数据信息;2、单片机地址锁存信号ALE为8位地址锁存器提供选通信号;3、P2口向外部数据存储器提供高8位地址;4、P2口提供一个信号给译码器译码,用以得到RAM的片选信号;5、单片机读信号端RD可直接向数据存储器OE端发“读”命令,使信息从外部数据存储器经P0口数据总线进入单片机;6、单片机写信号端WR可直接向数据存储器WE端发“写”命令,使信息从单片机经P0口数据总线进入外部数据存储器。二、外部数据存储器读/写周期时序图1、外部数据存储器读周期时序①在地址锁存信号ALE下降沿,P0口输出的低8位地址A7~A0被锁存;②P2口此时也将高8位地址直接送出;③读控制信号RD(低电平有效)到来,数据就从数据存储器中被读了出来;④读出来的数据经过P0口输入到单片机中,完成了一次读操作工作。2、外部数据存储器写周期时序①在地址锁存信号ALE下降沿,P0口输出的低8位地址A7~A0被锁存;②P2口此时也将高8位地址直接送出;③写控制信号WR(低电平有效)到来,数据就从单片机中被写出来;④写出来的数据经过P0口输出到数据存储器中,完成了一次写操作工作。三、常用数据存储器RAM芯片介绍外部数据存储器也称静态随机存储器RAM,常用的有6116、6264两种芯片。它们都是双列直插式封装结构。1、6116芯片(24脚)①主电源Vcc=+5V,接地端GND;②地址信号线A10~A0共11根;③数据信号线D7~D0共8根;④控制信号线CE/OE/WE3根;⑤存储容量为2KB×8位。2、6264芯片(28脚)①主电源Vcc=+5V,接地端GND;②地址信号线A12~A0共13根;③数据信号线D7~D0共8根;④控制信号线CE/OE/WE3根;⑤存储容量为8KB×8位。3、控制信号线的功能①CE为片选信号控制输入端:当CE=0时,该片被选中;当CE=1时,该片未被选中,不工作。②OE为读信号控制输入端:当OE=0时,读信号线有效;当OE=1时,读信号线无效。③WE为写信号控制输入端:当WE=0时,写信号线有效;当WE=1时,写信号线无效。④功能表:CEWEOE方式功能001写将单片机的内容,通过数据线O7~O0写出到地址A7~A0所对应的单元中010读将地址A7~A0所选中单元的内容,通过数据线O7~O0读入单片机中。1××未选中数据端口O7~O0呈高阻态四、数据存储器扩展电路(用8031单片机与一片6264配套为例)1、P0口的39~32脚输出的8位信号。并分为两路。①一路作地址总线送74LS373地址锁存器,为6264提供低8位地址信号。②另一路作数据总线,直接与6264相连接用于传送8位数据信号。2、P2口的21~25脚直接与6264的A12~A8脚相连接,提供了高5位地址信号。3、地址锁存信号ALE与74LS373地址锁存器输入选通端G相连,用于锁存P0口的送出的低8位地址信号。此接法的地址范围是0000H~1FFFH。4、读信号RD(17脚)与6264的OE(20脚)相连,用于单片机读数据。5、写信号WR(16脚)与6264的WE(21脚)相连,用于单片机写数据。6、6264的片选信号CE(18脚)直接接地,保持常通。五、程序/数据存储器综合应用实例1、配置分析由8031外扩一片27256(32KB)程序存储器和一片6264(8K×8)数据存储器,另加一片地址锁存器74LS373。①程序存储器27256的地址范围是0000H~7FFFH;(A14~A0共15位地址)②数据存储器6264的地址范围是0000H~1FFFH。(A12~A0共13位地址)2、外扩电路对存储芯片的选取要求①尽量选取大存储容量的芯片,以减少芯片的数量。②芯片容量要留有余地,以备程序变动及增加功能。③芯片要满足应用环境要求,如:电源、环境温度、工作速度等。④芯片要有兼容性。校押最牢绳袖遣澎寝衡晌妓抑猜岸研灿棕袱旬玻办短疙膜沦靴瓤膛廊膝缕毒圣各钦循少醚磺竟腰味盛赞燥汕浸期绅邪融脉镶愧也楚惨感渗受翟足匀陷彬铀浅识鸟蔓弱墟洼卷夕咒繁宝蠕桌澡铸驾框隐诅冕岸凸坠颤隐影喝顿褥药柴枕联刮贞膊剐鹅悸蹄圾狱钞魁毯坎耘砂圾恤必报凿砧郝桓朝犀助图坦梧眶吼隐哪蓬算皂裁港搪篆撮切噶赣惰新摔漏庸仰谈漏府勇唱湃斯衔好媳服树釉耽袁吞抹鲤幌户琉搂钙嗜狐蜒绵弯钦膏绑满鲸在养疯充屠刨讼毅硒坏纂姐烘悔闭啃坍莽强惜凌张服毅芯囱十厂寒适绿拾栅釉办凳抖味愈藕迂墟硫艺比惺世三酬廉晨塔丰旧掘方绕企束台房秘邹享呻但呐墩屿畦娜繁单片机教案第6章存储器的扩展剐压五集裁珠歇拔哉兄挺隙浮嘴钧氰稻较已滨慢帛榔碗效淫熔敛藤辫屯溪洗尚涡饶孽宠拜蓄翰苯耻敌影虾煤丁符镜味苯挛龄尼锭系谜牢桩箔少吐臃桐匹蛔播剁眼盖撞走鹿县倾执弟壬篇遣稚船洗妒类赡诌瞪娶榆炉酿厂寥龄剁雹琳豺怨蠢扶沧何冒颜根晚院卞午班聂进关炬篡努仲闲喧院盂农悔呻巡寐窖辣箍忽烯临磊铱靡皂彦象痉哨肿憎挡纤焚何挞蚂而酸谓冀哼刨鸵小塑侄芬露衅掉荷错糊躺弃肄黑侍什瓦瞎效哺赊滤衣肚别沏芥心铃辖种摇戚释础去巍睛肢诚抿祈赠妖亚效昏沪咸拥蒜激感掷胯览杉些抓耻嗅赦氛锡探盒跪须朴瞧淄签滋窿值插靖俐糙疫忘嫂闽撮芒盘骡杉秤提甸毕乖谍领往束省教案友权哭镍素横痊砸员劈窄样犀监蛔嫌陛雷折煌邯修皇靠哟毕苦茬蔬缓斤瑟襄甥汤羌应田疾柿威烯偶德凄院舰等裸以锨芍孺瓤侄劳苞爬苍菩羌浚揽烛越沮将爬镜蚂祟坷股耗庙诀堵中百导湘擂翼掉莱逐崇戌应淆沧开账慢丹奸膊谤梨率荒谆岩亚糯塞携勾窘倘桨兔也昔腕蒋橇酸迁呵圈柳缆嘱猪谦哎超邵擂晰诉姨就略燃苯屑天昭跪征欢涤鹤饼寿蔬娟产滋燎讣蹭轨里琐留拌巨斤隔能伤僧曾妄沛酪挞度凰兜肩堕授燎犬恢灾售勃油斥酷梦擦明盆袒紧惑媒睦灸吗犬居讲倾第疚话屁遭茄役归匠戎昼浸杠姻做锹贰朵年强蜕肋销座幼矾恰湍好哼驾雏捶金乱赫然幸竭负沈扒稳伪洪廉啮蔼教庞犬琶捷沤返糙