当前位置:
文档之家› 第7章 MCS-51单片机 扩展存储器设计
第7章 MCS-51单片机 扩展存储器设计
只有1个DPTR指针,2处要用?
MOV DPTR ,#7000H MOV R0,#0
LOP: MOV A,R0 PUSH DPL PUSH DPH ;或先放R3R4中 MOV DPTR, #TAB MOVC A,@A+DPTR POP DPH POP DPL MOVX @DPTR, A INC DPTR INC R0 CJNE R0, #32, LOP HERE: SJMP HERE TAB: DB ……
程序存储器所占的地址空间?
A15A14A13~A0 0 0 0000H~3FFFH
例2. 如何外扩1片EPROM 27256?
例3. MCS-51扩展4片27128?
解:128=64K×8 64K=214 剩2根,4片 2-4译码
7.5
静态RAM(SRAM)的扩展
7.5.1 常用的SRAM芯片
若64KB全是用16块4K芯片组成,则同问题1,需2个74LS138
注意:译码方案不唯一
7.3.3 外部地址锁存器 常用的有: 74LS373、8282、74LS573等。
功能和内部结构完全一样,只是引脚排列不同
D7 … D0
Q7
… Q0
G:锁存信号,高电平有效。当G为高电平时,外部 D7~D0选通到内部锁存器,负跳变 时,数 ALE 据锁存到锁存器中。 OE*: 输出允许,低电平有效,三态门打开,锁存 器中数据输出到Q7~Q0,当信号为高电平时 , Q7~Q0为高阻态
引出问题1:
如何用74LS138把64K空间划分为每块4KB?
解:64KB=4KB×8块×2部分
4K=212 12根+译码3根,P2.7未参加译码 P2.7=0/1决定选择64KB的前32KB或后32KB
G1 74LS138
后32KB 8块4KB
前32KB 8块4KB
分析地址?
对本例:改变P2.7和G1的连接逻辑,即可改变前后32KB空间。
线选法图
P2.7 P2.6
注意各片选信号和控制信号(理解) 各芯片地址空间分配 ?
(P2.7=1,P2.6=0,P2.5随意,若取1) IC1、IC3地址范围:A000H~BFFFH共8KB IC2、IC4地址范围:6000H~7FFFH。 线选法地址不连续,地址空间利用不充分。
译码法,采用2-4译码器
LOOP: MOVX @DPTR,A INC DPTR DJNZ R2,LOOP SJMP $
7.6 EPROM和RAM的综合扩展 例1 要扩展2片RAM(8KB×8)和2片EPROM (8KB×8)。RAM选6264,EPROM选2764。扩
展接口电路?(线选法和译码法)
分析:6264, 8K=213 2764, 8K=213 皆13根,剩3根,分别2片 因为RAM 和ROM是不同控制信号的,故可以用线选法, 多1根高位线片P2.5没有用 也可以用译码法,3-8译码(全译码)或者2-4译码 (部分译码)都可以
A15A14A13A12A11~A0
2732(1): 2732(2): 6116(1): 6116(2): 0 1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 1 7000H~7FFFH B000H~BFFFH E800H~EFFFH D800H~DFFFH
地 址 不 连 续
线选法 优点: 电路简单,不需要地址译码器硬件,体积小,成本低。 缺点: 可寻址的器件数目有限,地址不连续。
第7章 MCS-51单片机扩展存储 器的设计
7.1 概述
1、MCS-51的系统扩展结构图
外部存储器的扩展(第7章) 系统扩展 I/O接口部件的扩展(第8章) 通过系统总线扩展
AB
系统总线
DB CB
任务
2 、 构造系统总线
图 MCS-51 扩展的三总线
理解: P0口是A7~A0和D7~D0的复用线,用地址锁存器实 现复用,地址锁存器一般采用74LS373 P0口送出的低8位有效地址信号是在ALE(地址锁存 允许)信号变高的同时出现,在ALE 由高变 低时,将A0~A7锁存到74LS373中。
74LS373功能表
OE* 0 0 0 1
G 1 1 0 0
D 1 0 × ×
Q 1 0 不变 高阻态
74LS373与MCS-51 P0的连接
这章之后讲ROM RAM的扩展,
以讲例子为主,硬件看懂,会算地址+软件编程
7.4
EPROM的扩展 复习:自己看。采用只读存储器,非易失性。 (1)掩膜ROM 在制造过程中编程。成本较高,因此只适合于大批量 生产。 (2)可编程ROM(PROM) 用独立的编程器写入。但PROM只能写入一次,且不能 再修改。 (3)EPROM 电信号编程,紫外线擦除的只读存储器芯片。
典型型号有:6116、6264、62128、62256。
地址线 数据线
CE 片选输入端 OE WE
输出允许 写允许
7.5.3 例子
例1:如何扩展3片6264?
线选法 8K=213 剩3根,3片 可线选法 也可译码法
IC1 IC2 IC3
A15A14A13 A12~A0 地址范围 1 1 0 全0~全1 C000H~DFFFH 1 0 1 全0~全1 A000H~BFFFH 0 1 1 全0~全1 6000H~7FFFH
(4)E2PROM( EEPROM) 电信号编程,电信号擦除的ROM芯片。读写操作与RAM 几乎没有什么差别,只是写入的速度慢一些。但断 电后能够保存信息。 (5)Flash ROM 又称闪烁存储器,简称闪存。大有取代E2PROM的趋势。 7.4.1 常用EPROM芯片介绍 典型芯片是27系列产品,例如, 2764(8KB×8)、 27128(16KB×8)、27256(32KB×8)、27512 (64KB×8)。 “27”后面的数字表示其位存储容 量。
地址线 数据线
PGM*:编程脉冲 Vpp:编程电压 (+12V或+25V) Vcc:+5V。 GND:地。
CE :片选输入端 OE 输出允许控制端
一般不用
7.4.2 例子
例1. 如何外扩1片EPROM 27128?
需解决2个问题: 如何扩展? 空间地址?
解:128=64K×8 64K=214 A0~A13
7.8 E2PROM的扩展 E2PROM:电可擦除可编程只读存储器(不挥发性 读写存储器) 即可作数据存储器用(但掉电后数据不丢失), 又可作程序存储器用。 常用E2PROM: 2816/2816A、2817/2817A(2KB)、 2864(8KB) 例1.8031外扩2817A
• 8031对2817A的写操作指令
写选通信号。
7.2 读写控制、地址空间分配和外部地址锁存器 7.2.1 读写控制
RAM芯片/I/O接口芯片
RD MCS-51
WR
OE
WE
EPROM芯片
PSEN MCS-51
OE
7.2.2
★地址空间分配
概念:
选中某一单元必: “片选”+ “单元选择”
高位 地址作片选信号
常用的地址分配的方法有2种:线选法和译码法。
1. 线选法
直接利用系统的高位地址线作为存储器芯片(或I/O接口芯 片)的片选信号。
优点: 缺点:
例: 某一系统,需要外扩8KB的EPROM(2片2732), 4KB的RAM(2片6116),这些芯片与MCS-51单片机地址 分配有关的地址线连线,电路如下图。
解:高位地址线P2.4~P2.7直接和各芯片片选信号CE*相连 分析地址:
①地址总线的构造 P0+P2=A0~A15
(A8~A15) 不固定,需要用几根就 从P2口引出几条口线
②控制总线的构造。 a. ALE-- 低8位地址的锁存控制信号。 b. PSEN -- 扩展程序存储器的读选通信号 c. EA -- 内外ROM的选择。 d. RD和WR -- 扩展数据存储器和I/O口的读选通、
2. 译码法
MCS-51的高位地址通过译码器的译码输出作为扩展芯片的 片选信号 最常用的译码器芯片:
3-8译码器:74LS138 双2-4译码器:74LS139 4-16译码器:74LS154
全译码:全部高位地址线都参加译码; 部分译码: 部分高位地址线参加译码, 存在部分地址空间相重叠的情况。
译码
– MOVX @DPTR,A – MOVX @Ri, A
• 8031对2817A的读操作指令
– MOVX A, @DPTR – MOVX A, @Ri
以RAM对待
软件设计:8031对2817A进行写操作的子程序 WR1。被写入数据取自源数据区。 WR1的入口参数为: R0=写入的字节数 R1=2817A的低8位地址 R2=2817A的高8位地址 R3=源数据区的低8位地址 R4=源数据区的高8位地址
P2.7 P2.6 P2.5
地址范围 全0~全1 全0~全1 全0~全1
全0~全1
0000H~1FFFH
2000H~3FFFH
A15 A14 A13 A12~A0
IC1 IC2 IC3
IC4
0 0 0
0
0 0 1
1
0 1 0
1
4000H~5FFFH
6000H~7FFFH
译码法:地址连续,充分地址空间。
0000H~3FFFH 4000H~7FFFH 8000H~BFFFH
IC4
1
1
全0~全1
C000H~FFFFH 地址连续
例3:如何扩展1片62256?
例4 (软件)编写程序将片外数据存储器中7000H~
70FFH单元全部清零。
方法: 用DPTR作指针,控制循环:用计数器
MOV DPTR,#7000H MOV R2,#00H CLR A