存储器与存储器扩展
1. 数据存储器RAM的扩展
片内资源 8031片内RAM的容量:128B 片外最大可扩展64K RAM。
认识芯片
可用来扩展的存储器芯片:SRAM 6116,6264,62256等 也要用到锁存器芯片:例74LS373。
2. 举一反三——RAM的扩展
6264RAM的地址范围可与2764ROM的相同
PSEN
RD
因为不同的指令访问——将产生不同的控制信号 WR PSEN RD ROM:MOVC指令及取指令操作—— 有效, 、 无效
RD
WR
RAM:MOVX——
无效, WR /
有效 低电平信号 低电平信号
MOVX A,@DPTR; 读操作,产生 MOVX @DPTR , A; 写操作,产生
3. 读/写外部数据存储器时序
GND +5V 24 12 18 21 Vc cGND CE A1 1 19 A1 0 22 A9 23 A8 1 2 3 4 5 6 7 8 A7 A6 A5 A4 A3 2 73 2 A2 4K X 8 A1 A0
8 03 1
7 4L S37 3
AL E 3 0 PSE N 2 9
17 O7 16 O6 15 O5 14 O4 13 O3 11 O2 10 O1 9 O0 20 OE /Vp p
可用来扩展的存储器芯片: EPROM:2716(2K*8),2732,2764,27256等 EEPROM:2816 (2K*8) ,2864,28128等
在选择程序存储器芯片时,首先必须满足程序容量, 其次在价格合理情况下尽量选用容量大的芯片。芯片少, 接线简单,芯片存储容量大,程序调整余量大。如估计 程序总长3KB左右,最好扩展一片4KB的EPROM 2732,而 不选用2片2716(2KB)。
还要用到锁存器芯片:例74LS373。
3. EPROM扩展实例 ----在8031单片机上扩展4KB EPROM
P2.3 A11 P2.0 P0.7 D7 Q7
``` `````` ```源自A8 A712根地址线
373
D0 G Q0
8031
P0.0
A0
2732
O7 . . . O0
ALE
8根数据线
MCS-51单片机有一个引脚 EA跟程序存储器的扩展有 关。如果接高电平,那么片内存储器地址范围是0000H— 0FFFH(4K字节),片外程序存储器地址范围是1000H— FFFFH(60K字节)。如果接低电平,不使用片内程序存储 器,片外程序存储器地址范围为0000H—FFFFH(64K字 节)。
一个机器周期 一个机器周期
ALE
PSEN RD/WR 访问ROM,取 出MOVX指令 送地址
访问RAM 读/写数据
4. RAM扩展实例 ----在8051单片机上扩展2K RAM
P2.2 P2.0 P0.7 A10 A8
D7
Q7
A7
373
8051
P0.0 D0 G Q0 . . O0 ALE RD WR A0
读外部程序存储器时序
一个机器周期 ALE PSEN 送地址 取出指令
注意:上述时序是在取指令过程中自动产生
地址范围的确定
取决于CE(片选)和地址线的接法,本例 中CE接地。请确定地址范围(教材P141)
5. 程序存储器与单片机的连线分为三类:① 数据线,通常有8位数据线,由P0口提供;② 地址 线,地址线的条数决定了程序存储器的容量。低8 位地址线由P0口提供,高8位由P2口提供,具体使 用多少条地址线视扩展容量而定;③ 控制线,存 储器的读允许信号 OE与单片机的取指信号 P SEN相 连;存储器片选线 CE 的接法决定了程序存储器的 地址范围,当只采用一片程序存储器芯片时 CE 可 以直接接地,当采用多片时要使用译码器来选 中 CE 。
第
章 单 片 机 系 统 扩 展
程序存储器ROM的扩展 数据存储器RAM的扩展
1. 问题的提出
在单片机应用 系统的设计中, 往往出现RAM, ROM或者I/O口 不够的情况, 怎么办?
ROM的扩展 RAM的扩展
2. 程序存储器ROM的扩展
片内资源
8051有片内ROM的容量:4K
片外最大可扩展64K ROM。 有关引脚: EA
6. 用译码法扩展一片2764 单片机扩展8K外部程序存储器一般选用2764 EPROM芯 片,硬件电路如图6.8所示。
2764的片选端 CE 没有接地,而是通过74LS138译码 器的输出端 Y 0 来提供的,这种方法称为译码法。当同 时扩展多片ROM时,常常采用译码法来分别选中芯片。 显然,在图6.8中,只有当译码器的输出 Y 0 =0时,才能 够选中该片2764,所以这片2764的地址范围 0000H~ 1FFFH
O7
6116
RD
WR CE
P2.7
PSEN
OE CE
控制线
GND 31 EA 24 P2. 3 23 P2. 2 22 P2. 1 21 P2. 0 P0. 7 P0. 6 P0. 5 P0. 4 P0. 3 P0. 2 P0. 1 P0. 0 32 33 34 35 36 37 38 39 18 D7 17 D6 14 D5 13 D4 8 D3 7 D2 4 D1 3 D0 G OE 11 1 19 Q7 16 Q6 15 Q5 12 Q4 9 Q3 6 Q2 5 Q1 2 Q0 GND