单片机教案第6章存储器的扩展
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章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个电源端(
CC
V)。
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×8
1、结构特点:
① EPROM(Erasable Programmable Read Only Memory),是紫外线可擦除的可
编程半导体只读存储器。
一般以27开头。
②都是双列直插式28脚封装结构,只是存储容量成倍增加。
③掉电后信息不会丢失,编程时需要专用的编程器写入。
2、引脚功能:
① 2764、27128和27256主电源脚都为Vcc(+5V),都有公共地端(GND); ② 它们的编程电源引脚都为Vpp ;
③ 2764地址信号线为A12~A0,共有13根,KB 8213=;
27128地址信号线为A13~A0,共有14根,KB 16214=;
27256地址信号线为A14~A0,共有15根,KB 32215=。
④ 它们的数据信号线为O 7~O 0,共有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时,写信号线无效。
④功能表:
CE WE OE方式功能
0 0 1 写将单片机的内容,通过数据线O7~O0 写出到地址A7~A0所对应的单元中
0 1 0 读
将地址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、外扩电路对存储芯片的选取要求
①尽量选取大存储容量的芯片,以减少芯片的数量。
②芯片容量要留有余地,以备程序变动及增加功能。
③芯片要满足应用环境要求,如:电源、环境温度、工作速度等。
④芯片要有兼容性。