当前位置:文档之家› 单片机第9章外部存储器的应用

单片机第9章外部存储器的应用

注:蓝色为基本地址
0001 0010 0010 01000 10000
AA1151234==11
2148000080000H0HH~~~2148707FFFFFFHFHH
不同片选2K内存地址分配表(高有效)
A15 A14 A13 A12 A11
00001 00010 00100 01000 10000
那么:该存储器的地址范围是3000H~37FFH 问题:如果要访问2716的第3210H单元,P0口和P2口分别送出的地址数据是什么?
线选方式地址分配表
二进制表示
A15 A14 A13 A12 A11 A10

0

芯片 Ⅰ
0
0
1 1 01

0

芯片 Ⅱ
0
0
1 0 11

0

芯片 Ⅲ
0
0
0 1 11
3.分配存储器的地址空间 根据单片机的寻址范围和系统要求: 1)分配ROM的地址空间 2)分配RAM的地址空间 3)兼顾I/O接口 4)兼顾外围设备 4.设计片选逻辑 按照地址空间: 1)确定片选信号的产生方式 2)设计其逻辑电路。
5.核算对系统总线的负载要求 单片机系统总线的负载能力是有限的,一般
送低8位地址时由
ALE打开“地址锁存
器” 、送8位数据时
由ALE关闭“地址锁 存器”




线
P0口+P2口构成16位地址总线:其中: P0口低8位、P2口高8位 P0口单独构成8位数据总线 ALE、/RD、/WR、/PSEN一起构成控制总线
首先让我们认识存储器
凹槽左边为第1脚,逆时针方向2、3、4…脚 “61”为半导体数据RAM、“27”为紫外线擦除ROM、“28”为电擦除 ROM A0~A10为地址总线(“16”代表容量为2KB) D0~D7为数据总线 / WE为写信号、/OE为读信号、/CE为片选信号,合称控制总线 VCC / VDD为电源+端、GND / VSS为电源地
现假设剩下的两根高位地址线A14、A15都为低电平,这样可得到3个芯片 的地址分配。
高位地址
基本地址
其中:P0.0对应A0 P0.1对应A1 P0.2对应A2 …… P0.5对应A5 P0.6对应A6 P0.7对应A7 P2.0对应A8 P2.1对应A9 P2.2对应A10 …… P2.5对应A13 P2.6对应A14 P2.7对应A15
EEPROM已经在智能仪表、检测控制系统和微机开发装 置中得到广泛应用。
右所示为 8051扩展2816A作 为外部程序存储 器的接口电路。 图中2816A的地址 线和数据线的连 接与EPROM情况相 同。
按能够带动几个标准TTL门电路来设计。 如果考虑了存储器和其他负载以后,总负载
超过了总线的负载能力,就要接入总线驱动器。
思考题
参照右图,直接写出8片 存储器的地址。
扩展程序存储器
常用程序存储器芯片介绍
1.EPROM芯片 常用的EPROM中 27系列芯片是Intel 公司的系列产品, 采用紫外线擦除。
有重叠现象、不能充分利用微处理器的内存空间。 原因是:用作片选信号的高位地址线的信号状态得不到
充分利用。
译码方式: 优点: 存储器芯片的地址空间连续,且唯一确定。不
存在地址重叠现象,能够充分地利用内存空间。 缺点:电路连接稍复杂 原因:增加硬件开销 ※当译码器输出端留有空余时,便于继续扩展存储
器或其他外围器件。
0
1
VPP
×
×
VPP
VCC
D7~D0
VCC VCC VCC VCC VCC
DOUT 高阻
DIN VOUT 高阻
2. EEPROM芯片
型号 性能
2816
存储容量/bit
2KB×8
读出时间/ns
250
读操作电压/V 5
擦/写操作电压/V 21
字节擦除时间/ms 10
写入时间/ms
10
封装
DIP24
2816A 2817 2817A 2864A
下图为8031与3片EPROM连接的电路:
你能直接分别写出三块存储器的地址吗?
下图是采用译码方式对8051扩展3片2764EPROM的接口电路。图中 利用2根高位地址线P2.6和P2.7(A14和A15),经2/4译码器后,3根 译码输出线分别接到3片2764的端。
你能直接分别写出三块存储器的地址吗?
11 11 01
1 1 11 1
1
1 1 1 11
1
1
11 1 1 1
10 11 11 11 11 11 11
1
11 1 1 1
0
11 1 1 1
1
01 1 1 1
1
10
111
1
11 0
11
1 11 1
01
1 11 1
10
下面是通过74LS138译码器的 /Y0、/Y1、/Y2分别作为3片6116的片选信号
/Y0=0时,芯片(1)被选通,即:A15=1、A14=0、A13=0、A12=0、A11=0 时才可以对芯片(1)进行读或写
/Y1=0时,芯片(2)被选通,可以进行读或写,即:A15=1、A14=0、 A13=0、A12=0、A11=1时才可以对芯片(2)进行读或写
/Y2=0时,芯片(3)被选通,可以进行读或写,即:A15=1、A14=0、 A13=0、A12=1、A11=0时才可以对芯片(3)进行读或写
问题:假设A12~A15均为高
芯 片(1)的地址范围是? 芯 片(2)的地址范围是?
思考题
1、按下图所示,直接写出两片存储器的地址。
2.全译码方式
全译码方式是将片内寻址的地址线以外的高 位地址线,全部输入到译码器进行译码,利用译码 器的输出端作为各存储器芯片的片选信号。
常用的译码器有:
74LSl38(3/8译码器) 74LSl39(双2/4译码器) 74LSl54(4/16译码器) 这里介绍74LSl38译码器。
2KB×8 200/250 5 5 9~15 9~15 DIP24
2KB×8 2KB×8 8KB×8
250
200/250 250
5
5
5
21
5
5
10
10
10
10
10
10
DIP28 DIP28 DIP28
下图为2816/2816A、2817/2817A和2864A的引脚。
注意:1、这些芯片的读出时间较短,擦除和写入时间比较长 2、型号不带“A”的是早期产品,其擦/写操作电压高于5V 3、型号带“A”的改型芯片的擦/写操作电压为5V
为了便于理解我们将译码器简化成下图:
CBA
/Y
000
0
001
0
010
0
011
0
100
0
101
0
110
0
111
0
74LS138真值表
输入 允许
选择


1OE 2OE
×
1
0
×
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
CBA
××× ××× 000 001 010 011 100 101 110 111
YO Y1 Y2 Y3 Y4 Y5 Y6 Y7
根据译码器的逻辑关系和存储器的片内寻址范围,可以 得到3个芯片的地址空间。
芯片Ⅰ 芯片Ⅱ 芯片Ⅲ
全译码方式实现片选的地址分配表
二进制表示 A15 A14 A13 A12 A11 A10 … A0
十六进制表示
1
0
0
0
0
0 … 0~
8000H~87FFH
1
0
0
0
0
1… 1
1
0
0
0
1
0 … 0~
8800H~8FFFH
EPROM与单片机的连接
注意:2732A的连接方式与RAM的连接方式基本相同,唯一区别是: 1、RAM:单片机的/RD、/WR分别接吧/OE、/WE 2、ROM:单片机的 /PSEN 接 /OE
2.扩展多片EPROM
当扩展一片EPROM不能满足要求时,可以采用扩 展多片EPROM的方法。这时所有芯片的片选端都必须适 当连接,也就是要使用片内寻址以外的高位地址线, 以线选或译码方式提供片选信号。
知识点:
三总线RAM存ຫໍສະໝຸດ 芯片及其扩展EPROM存储芯片及其扩展 EEPROM存储芯片及其扩展
通过第2章的学习我 们知道:
单片机内部配置的存储器
单片机外部可扩充的存储器
如何扩充外部存储器是本 章要解决的问题
为解决P0口一口两用,
单造成片数机据和扩地展址混成淆三总线的结构图
的问题,常用“地址
锁存器”加以区分:

十六进制 A0
0
1
3000H~37FFH
0
1
2800H~2FFFH
0
1
1800H~1FFFH
也可以用一根高位地址线 加一“非门”,对两片存储器实 现片选,如右图所示。图中当 A1l为低电平时选通芯片(1), 当A1l为高电平时选通芯片(2)。 两芯片的地址空间为:(假设 A12~A15均为低)
芯 片 (1) 0000H~07FFH 芯 片 (2) 0800H~0FFFH
片选信号与地址分配的关系
片选信号:单片机使存储芯片进入工作状态的信号。
一个存储器芯片具有一定的地址空间。
例如:11根地址线的芯片,其地址空间为2KB(211=2048个单
相关主题