(101010)第8章 89C51单片机扩展存储器的设计
第8章89C51单片机扩展存储器的设计
低 高 正脉冲 低 低
低
+5V
程序读出
+5V
高阻
高 +25V(或12V) 程序写入
低 +25V(或12V) 程序读出
高 +25V(或12V) 高阻
2、存储器地址空间分配
一个存储器单元对应一个地址 在外扩的多片存储器芯片中,AT89C51要完成这种功能,必
须进行两种选择:
一是必须选中该存储器芯片(或I/O接口芯片),这称为“片 选”,只有被“选中”的存储器芯片才能被AT89C51读出或 写入数据。为了片选的需要,每个存储器芯片都有片选信号 引脚
地址分配
采用译码器法扩展2片8KBP2.E7PRPO2M.6,P22.片5 8选KB中芯RA片M。地E址PR范O围M 存储容量 选用2764,RAM选用6264。0 1 0 IC1 0000H-1FFFH 8K
0 0 1 IC2 2000H-3FFFH 8K
0
10
IC3 4000H-5FFFH 8K
(5)全静态工作:可从0Hz~16MHz。
(6)程序存储器具有3级加密保护。
(7)空闲状态维持低功耗和掉电状态保存存储器内容。
本章小结:
AT89C51可扩展的外部存储器分为2个64K空间:程序存储器空间和 数据存储器空间 总线构成:地址总线:P0和P2口;
数据总线:P0口; 控制总线:ALE、PSEN、EA、WR、RD 片选方法:线选法和地址译码法
IC1 0000H-3FFFH 16K
0 1 Y1*
IC2 4000H-7FFFH 16K
1
0
Y2*
IC3 8000H-BFFFH 16K
1 1 Y3*
AT89C51单片机存储器扩展技术
EPROM扩展单片机程序存储器 7.1 用EPROM择合适ROM 容量的单片机。故此节不讲,由学生自学。
SRAM扩展单片机数据存储器 7.2 用SRAM扩展单片机数据存储器
AT89C51单片机有128字节的数据存储器RAM,对一般的小型应用 系统已够用,对需存放大量数据的系统,就需要扩展数据存储 器。本节只讲用一片SRAM 6264 扩展单片机数据存储器的技术。
串行EEPROM扩展程序较复杂。待工作需要时读者再学习。
点击进下章点击进上章 点击进下章点击进上章 进下章点击
PROTEUS仿真 。参看15.2
EEPROM扩展AT89C51单片机ROM、 扩展AT89C51单片机ROM 7.3 用EEPROM扩展AT89C51单片机ROM、RAM
EEPROM存储器是非易失性存储器。优点是:①可电擦写且断电后 能保持长达二十年。②不要求专门设备擦写,擦写。
用串行EEPROM扩展AT89C51 EEPROM扩展AT89C51单片机存储器 7.4 用串行EEPROM扩展AT89C51单片机存储器
AT89C51单片机存 第7章 AT89C51单片机存 储器扩展技术
AT89C51单片机内有ROM、RAM、定时/计数器、中断系 统、I/O等资源;只要外接晶振、复位电路就构成单片 机应用最小系统。在应用项目不大、不复杂的情况下, 无需扩展ROM、RAM、I/O、中断源等。但较大的应用系 统或有特殊要求的应用系统就需要扩展。本章只讨论 AT89C51单片机的存储器ROM、RAM扩展技术。但其技术、 方法和结论对MCS-51型单片机及与其兼容的其它单片 机同样适用。 AT89C51单片机扩展功能强,扩展操作方便。这是因为 它为系统扩展提供了良好的硬、软件条件。同时各厂 商又为单片机扩展提供了各种各样的功能扩展芯片。
8单片机讲义(第八章MCS-51单片机扩展---- 存储器的设计)
【第八章 51单片机存储器的设计】
地址译码关系图
【第八章 51单片机存储器的设计】
如果用74LS138把64 KB空间全部划分为每块4 KB, 如何划分呢?
【第八章 51单片机存储器的设计】
8.3.3 外部地址锁在器
MCS-51单片机受引脚数的限制,数据线和地址线是复用的,由 P0口线兼用。为了将它们分离出来,以便同单片机片外的扩展芯片正确 的连接,需要在单片机外部增加地址锁存器。目前,常用的地址锁存器 芯片有:74LS373、8282、74LS573等。下面就这几种地址锁存器进
【第八章 51单片机存储器的设计】
几种RAM芯片的主要技术特性见表8-7
【第八章 51单片机存储器的设计】
8.5.2 外扩数据存储器的读写操作时序
MCS-5l对外扩RAM读和写两种操作时序的基本过程是相 同的。所用的控制信号有ALE、RD (读)和 WR(写) 1.读片外RAM操作时序 电路的连接:
8.5.1 常用的静态RAM(SRAM)芯片
单片机系统中常用的 SRAM芯片的典型型号有:
6116(2K×8),
6264 (8K×8),
62128(16K×8), 62256(32K×8)。 它们都用单一+5 V 电源供电,双列直插封 装 。
【第八章 51单片机存储器的设计】
静态SRAM存储器有读出、写入、维持三种工作方式, 这些工作方式的操作控制如表8-6所示。
【第八章 51单片机存储器的设计】
1.线选法
线选法就是 直接利用系统的 高位地址线作为 存储器芯片(或 I/O接口芯片) 的片选信号。只 需要把用到的地 址线与存储器芯 片的片选端直接 连接即可。
【第八章 51单片机存储器的设计】
第8章 89C51单片机扩展存储器的设计
8.2 8.2
地址空间分配和外部地址锁存器
8.2.1 8.2.1 存储器地址空间分配 89C51发出的地址是用来选择某个存储器单元 发出的地址是用来选择某个存储器单元, 89C51发出的地址是用来选择某个存储器单元,要完成 这种功能,必须进行两种选择: 这种功能,必须进行两种选择: • “片选”; 片选” • “单元选择”。 单元选择” 常用的存储器地址分配的方法有两种: 1. 常用的存储器地址分配的方法有两种: • 线性选择法(简称线选法); 线性选择法(简称线选法) • 地址译码法(简称译码法):部分译码和全译码。 地址译码法(简称译码法) 部分译码和全译码。
8.1.2 8.1.2 构造系统总线 系统扩展的首要问题是构造系统总线; 系统扩展的首要问题是构造系统总线; 构造系统总线 然后再往系统总线上“ 然后再往系统总线上“挂”存储器芯片或I/O接 存储器芯片或I/O接 I/O 口芯片( 口芯片(“挂”存储器芯片就是存储器扩展, 存储器芯片就是存储器扩展, “挂”I/O接口芯片就是I/O扩展); I/O接口芯片就是I/O扩展); 接口芯片就是I/O扩展 89C51扩展的三总线如8 所示。 89C51扩展的三总线如8-2所示。 扩展的三总线如
1.常用的EPROM芯片 1.常用的EPROM芯片 常用的EPROM 引脚功能如下: 引脚功能如下: A0~A15: A0~A15:地址线引脚 D7~D0: D7~D0:数据线引脚 CE*:片选输入端 OE* :输出允许控制端 编程时, PGM*:编程时,加编程脉冲的输入端 Vpp:编程时,编程电压(+12V +25V Vpp:编程时,编程电压(+12V或+25V)输入端 Vcc:+5V,芯片的工作 工作电压 Vcc:+5V,芯片的工作电压 GND: GND:数字地 NC: NC:无用端
单片机原理第8章系统扩展资料
a f e g d c b
. g f e d c b a
COM
共阴极LED
将所有发光二极管的阴极接在一起作为公共端 COM 。当 公共端接低电平,某一段的阳极为高电平时,相应的字段 就被点亮。
a f e g d c b
. g f e d c b a
COM
字形码(段码)编码 (表9-1)
共阴极—段码为‘1’点亮, 字形0:00111111B(3FH), 字形1:00000110B(06H), ‘灭’ :00H 共阳极—段码为‘0’点亮, 字形0:11000000B(C0H), 字形1:11111001B(F9H), ‘灭’ :FFH
地址总线 P2口提供高8位地址A15~A8 P0口经外部锁存后提供低8位地址A7~A0 数据总线 P0口经外部锁存后提供8位数据D7~D0 控制总线 ALE PSEN,WR,RD EA
一、MCS-51并行扩展总线
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 ¿ Ø Ö Æ Ü × Ï ß (CB) +5V PSEN EA ALE RESET VCC VSS P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 ALE G D7 D6 D5 D4 D3 D2 D1 D0 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
三、程序存储器的扩展
CE
P 2.7 P 2.0
地址 锁存器
An
【2019年整理】第8章89C51单片机扩展存储器的设计
可用来扩展的存储器芯片:
EPROM:2716(2K*8),2732,2764,27256等
EEPROM:2816 (2K*8) ,2864,28128等
27512 27256 27128 A15 A12 A7 A6 A4 A4 A3 A2 A1 A0 Q0 Q1 Q2 GND Vpp A12 A7 A6 A4 A4 A3 A2 A1 A0 Q0 Q1 Q2 GND Vpp A12 A7 A6 A4 A4 A3 A2 A1 A0 Q0 Q1 Q2 GND 2764 Vpp A12 A7 A6 A4 A4 A3 A2 A1 A0 Q0 Q1 Q2 GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 2764 Vcc PGM NC A8 A9 A11 OE A10 CE Q7 Q6 Q5 Q4 Q3 27128 Vcc PGM A13 A8 A9 A11 OE A10 CE Q7 Q6 Q5 Q4 Q3 27256 Vcc A14 A13 A8 A9 A11 OE A10 CE Q7 Q6 Q5 Q4 Q3 27512 Vcc A14 A13 A8 A9 A11 OE/Vpp A10 CE Q7 Q6 Q5 Q4 Q3
P2.7 P2.6 P2.5 P2.4 0 1 1 1 2732(1) 1 0 1 1 2732(2) 1 1 0 1 6116(2) 1 1 1 0 6116(1)
两片程序存储器的地址范围: 2732(1)的地址范围:7000H~7FFFH; 2732(2)的地址范围: B000H~BFFFH; 6116(1)的地址范围:E800H~EFFFH; 6116(2)的地址范围:D800H~DFFFH。
第8章AT89S51单片机外部存储器的扩展
19
OE
图8-9 AT89S51 的P0口与74LS373 的连接
20
2.锁存器74LS573 也是一种带有三态门的锁存器,功能及内部结构与
74LS373完全一样,只是其引脚排列与74LS373不同。 由图8-10,与74LS373相比,74LS573的输入D端和输出
图8-12(a) 执行非MOVX指令的时序 36
(2)应用系统中接有片外RAM 在执行访问片外RAM(或I/O)的MOVX指令时,16位地 址应转而指向数据存储器,时序如下图:
37Biblioteka 8.3.3 AT89S51单片机与EPROM的接口电路设计
1.AT89S51与单片EPROM的硬件接口电路
外扩的EPROM在正常使用中只读不写,故EPROM芯片 只有读出控制引脚OE* ,该引脚与AT89S51单片机的PSEN* 相连,地址线、数据线分别与AT89S51单片机的地址线、数 据线相连,片选端控制可采用线选法或译码法。
3
AT89S51的三总线
(1)地址总线(Address Bus,AB): 用于传送单片机发出的地址信号,以便进行存储单元和
I/O接口芯片中的寄存器单元的选择。地址总线是单向的。 P0口作为低8为地址总线(A7~A0); P2口作为高8位地址总线(A15~A8 ) ; 2者结合构成了16位地址总线(A15~A0);
表8-4为27系列EPROM芯片的技术参数,其中VCC是芯片 供电电压,Vpp是编程电压,Im为最大静态电流,Is为维持电 流,TRM为最大读出时间。
30
31
COE / PGM
2.EPROM芯片的工作方式 5种工作方式,由CE *、OE*、PGM*信号的组合确定。5
第8章___89C51单片机扩展存储器的设计
25
第8章 89C51单片机扩展存储器的设计
例8-3 采用译码器法扩展2片8KB EPROM,2片8KB RAM。EPROM选
用2764,RAM选用6264。共扩展4片芯片。扩展接口电路见图8-21。
26
第8章 89C51单片机扩展存储器的设计
27
第8章 89C51单片机扩展存储器的设计
9
第8章 89C51单片机扩展存储器的设计
G1 G2A* G2B* C B A Y7 Y6 Y5Y4 Y3 Y2Y1Y0
由表当译码器的输入为某一固定编码时,其输出仅有一个固定的引 脚输出为低电平,其余的为高电平。而输出为低电平的引脚就作为 某一存储器芯片的片选端的控制信号。
10
第8章 89C51单片机扩展存储器的设计
4
第8章 89C51单片机扩展存储器的设计
3.控制信号线 2. 以P2口的口线作为高位地 1.以P0口作为低8位地址/数
(1)PSEN*信号作为外扩程序 址线 据总线
存储器的读选通控制信号。 P2口的全部8位口线用作高位 AT89C51由于受引脚数目的限 (2)RD*和WR*信号作为外扩 地址线,再加上P0口经地址锁 制,数据线和低8位地址线复
20
第8章 89C51单片机扩展存储器的设计
8.4.3
AT89C51与RAM的接口电路设计
图8-18为线选法扩展外部数据存储器的电路。
21
第8章 89C51单片机扩展存储器的设计
地址线为A0~A12,故8031剩余地址线为三根。用线选法可扩展3 片6264。3片6264对应的存储器空间如表8-7。
例 要扩8片8KB的RAM 6264,如何通过74LS138把64KB空间分配给
第8章AT89S51单片机外部存储器的扩展
16
(2)74LS139
双2线-4线译码器。这两个译码器完全独立,分别有各自 的数据输入端、译码状态输出端以及数据输入允许端,其 引脚如图8-4所示,真值表见表8-2(只给出其中一组)。
图8-3 74LS138引脚图
图8-4 74LS139引脚图
17
18
以74LS138为例,如何进行地址分配。
OE:数据输出允许信号,低电平有效。当该信号为低
电平时,三态门打开,锁存器中数据输出到数据输出线。
当该信号为高电平时,输出线为高阻态。 74LS373锁存器功能如表8-3。
28
OE
图8-10 锁存器74LS573的引脚
29
2.锁存器74LS573
也是一种带有三态门的8D锁存器,功能及内部结构与 74LS373完全一样,只是其引脚排列与74LS373不同,图 8-10为74LS573引脚图。 由图8-10,与74LS373相比,74LS573的输入D端和输 出Q端依次排列在芯片两侧,为绘制印制电路板提供方便 引脚说明:
空间就重叠了。那么,这32KB空间利用74LS138译码器
可划分为8个4KB空间。 如果把P2.7通过一个非门与74LS138译码器G1端连接 起来,如图8-6所示,就不会发生两个32KB空间重叠的问 题了。这时,选中的是64KB空间的前32KB空间,地址范
21
围为0000H~7FFFH。如果去掉图8-6中的非门,地址范围
存器单元的选择。 (2)数据总线(Data Bus,DB):用于单片机与外部存储
器之间或与I/O接口之间传送数据,数据总线是双向的。
(3)控制总线(Control Bus,CB):控制总线是单片机发 出的各种控制信号线。
第8章89C51单片机扩展存储器的设计
89C51与74LS373的连接如图8-9所示。
图8-7
引脚说明如下:
D7~D0: 8位数据输入线。
Q7~Q0: 8位数据输出线。
G:
数据输入锁存选通信号,
图8-8
OE*: 数据输出允许信号 图8-9
74LS373功能如表8-3所示。
表8-3 74LS373功能表 OE* G D Q 0111 0100 0 0 × 不变 1 × × 高阻态
CPU相类似的片外三总线,见图8-2。
图8-2
2. 以P2口的口线作为高位地址线 P2口的全部8位口线用作高位地址线,再加上P0口经地址锁存
器提供的低8位地址,便形成了完整的16位地址总线(见图 8-2),使寻址范围达到64KB。 3.控制信号线 除了地址线和数据线之外,还要有系统的控制总线。这些信号 有的就是单片机引脚的第一功能信号,有的则是P3口第二功 能信号。其中包括: (1)PSEN*信号作为外扩程序存储器的读选通控制信号。
图8-3
输
G1 G2A* G2B*
表8-1 74LS138译码器真值表
入
输出
CBA
Y7* Y6* Y5* Y4* Y3* Y2* Y1* Y0*
(2)74LS139 74LS139是双2-4译码器。两个译码器完全独立,分别有各自的
数据输入端、译码状态输出端以及数据输入允许端。其引脚 如图8-4所示,真值表如表8-2所示(见P138)。
第8章 89C51单片机的系统扩展
任意
H L H
高阻
DIN DOUT
正脉冲
L L
高阻
注:L:TTL低电平;H:TTL高电平;DOUT:数据输出; DIN:数据输入。
2、2732EPROM存储器 2732是4K×8紫外线擦除电可编程只读存储 器。单一+5V供电,最大工作电流为100mA, 维持电流为35mA,读出时间为250ns。引脚如 图8-2。
CE
OE WE RDY/BUSY N.C.
写入使能
器件忙闲状态指示 空脚
图8-6 2817A引脚图
2817A的3种工作方式见表8-6。
表8-6 2817A工作方式选择(VCC = +5V)
方 引
式 读 维持 字节写入 字节擦除 脚
CE (20) L OE (22) L WE (27) H 任意 L
输入/输出
(11~13,15~19) DOUT
×
H
高阻
DIN DOUT
L L
L
注:DATA查询为数据查询方式。
8.1.3 典型程序存储器的扩展方法
1、程序存储器扩展方法
i=N-8
P2.0~P2.i
N~7 A8~AN
ALE 89C51 +5V EA 8 P0 PSEN
锁 存 器
8 A0~A7 EPROM 8 CE D0~D7 OE
VCC
输出
(28) (11~13,15~19) 5V 5V 6V 6V 6V DOUT
任意
H L 任意
任意
L H 任意
高阻
DIN DOUT
L
L H
编程检验 编程禁止
高阻
第8章AT89S51单片机扩展存储器
1
第8章 目录 8.1 系统扩展结构 8.2 地址空间分配和外部地址锁存器
8.2.1 存储器地址空间分配 8.2.2 外部地址锁存器 8.3 程序存储器EPROM的扩展
8.3.1 常用的EPROM芯片 8.3.2 程序存储器的操作时序 8.3.3 AT89S51单片机与EPROM的接口电路设计 8.4 静态数据存储器RAM的扩展 8.4.1 常用的静态RAM(SRAM)芯片 8.4.2 外扩数据存储器的读写操作时序
27
AT89S51单片机发出的地址码用于选择某个存储器单 元,外扩多片存储器芯片中,单片机必须进行两种选择: 一是选中该存储器芯片,这称为“片选”,未被选中的芯 片不能被访问。二是在“片选”的基础上再根据单片机发 出的地址码来对“选中” 芯片的某一单元进行访问,即 “单元选择”。
为实现片选,存储器芯片都有片选引脚。同时也都有多 条地址线引脚,以便进行单元选择。注意,“片选”和 “单元选择”都是单片机通过地址线一次发出的地址信号 来完成选择。
机的P0口与存储器的数据输出口相连,同时P0口经地址锁 存器连到存储器的低8位地址线(A7~A0),P2口接存储器的 高8位地址线。这种接法意味着可扩展的存储器容量最大可 达64 KB。
当存储器的容量小于64 KB时,只用到部分高位地址线。 EA 为片外程序存储器读选择端,此引脚接地时单片机的所 有片内程序存储器无效,只能访问片外程序存储器。
接口是连接单片机与外围电路、芯片、设备(如I/O设备、 A/D、D/A设备)的中间环节。接口牵涉到包括外围电路、 设备、芯片的结构、使用方法、时序要求;单片机本身的硬 件、软件资源等很多问题。
接口技术要解决系统扩展时单片机与相应芯片的接口(如 地址总线、数据总线、控制总线的连接)与编程问题。
第8章单片机扩展存储器的设计
图8-2MCS-51扩展的三总线
图8-3MCS-51地址总线扩展电路
图8-4 线选法举例
图8-5 74LS138的引脚
图8-6 74LS139引脚图下面以74LS138为例, 介绍如何进行地址分配。
图8-7 64K地址空间的分配
图8-8 32KB存储器空间被划分为每块4KB
图8-9 74LS373的引脚图8-10 74LS373的内部结构
图8-11 8282的引脚
图8-12 P0口与地址锁存器的连接
图8-13 74LS573 的引脚
图8-14 常用的EPROM芯片引脚图
图8-15外部程序存储器的操作时序
图8-16 8031与27128的接口电路
图8-17 8031与27256的接口电路
图8-18 4片27128与8031的接口电路
图8-19 SRAM的引脚图
图8-20 8031访问片外RAM操作时序图
图8-21 线选法扩展3片6264电路图
图8-22 译码选通法扩展8031外部数据存储器电路图
图8-23 8031与单片62256的接口电路
(1)控制信号及片选信号
图8-25 采用译码器法的综合扩展电路。
第8章AT89S51单片机外部存储器的扩展
8.4 静态数据存储器RAM的扩展
在单片机应用系统中,外部扩展的数据存储器都采用静态 数据存储器(SRAM)。 片外数据存储器RAM的读和写由AT89S51的 RD*(P3.7) 和 WR*(P3.6)信号控制。
片外程序存储器EPROM的输出端允许(OE*)由单片机的
读选通PSEN*信号控制。 尽管与EPROM的地址空间范围相同,但由于控制信号不同, 因此不会发生总线冲突。
时,三态门打开,锁存器中数据输出到数据输出线。当该信 号为高电平时,输出线为高阻态。 74LS373锁存器功能如表8-3。
19
OE
图8-9 AT89S51 的P0口与74LS373 的连接
20
2.锁存器74LS573
也是一种带有三态门的锁存器,功能及内部结构与 74LS373完全一样,只是其引脚排列与74LS373不同。 由图8-10,与74LS373相比,74LS573的输入D端和输出 Q端依次排列在芯片两侧,为绘制印制电路板提供方便 引脚说明:
8.3 程序存储器EPROM的扩展
程序存储器为只读存储器,在电源关断后, 仍能保存程序(非易失性的),系统上电后,
CPU可取出这些指令重新执行。
只读存储器简称ROM(Read Only
Memory)。ROM中的信息一旦写入,就不
能随意更改。
向ROM中写入信息称为ROM编程。根据编程方 式不同,分以下几种。
64KB地址空间划分成8个8KB空间
16
8.2.2 外部地址锁存器 受引脚数的限制,P0口兼用数据线和低8位地址线,为了
将它们分离出来,需在单片机外部增加地址锁存器。常用的
地址锁存器芯片有74LS373、74LS573等。 1.锁存器74LS373 带三态门的8D锁存器,其引脚如图8-7,内部结构如图8-8。
单片机第8章参考答案
第8章 AT89S51单片机扩展存储器的设计参考答案1.答:程序、数据。
2.答:80H。
3.答:片选。
4.答:16KB。
5.答:程序、数据。
6.答:2K,14。
7.答:0FFFH。
8.答:(D)9.答:本题主要考察对外部存储器的读、写操作,只要记住正确使用MOVX指令就可以了。
编程思路:首先读取2001H的值,保存在寄存器A中,将寄存器A的高四位和低四位互换,再屏蔽掉低四位然后将寄存器A的值保存到30H中,然后再读取2002H的值,保存在寄存器A中,屏蔽掉高四位,然后将寄存器A的值与30H进行或运算,将运算后的结果保存在2002H中。
ORG 0000HMAIN:MOV DPTR,#2001H ;设置数据指针的初值MOVX A,@DPTR ;读取2001H的值SWAP AANL A,#0F0H ;屏蔽掉低四位MOV 30H,A ;保存AINC DPTR ;指针指向下一个MOVX A,@DPTR ;读取2002H的值ANL A,#0FH ;屏蔽掉高四位ORL A,30H ;进行拼装MOVX @DPTR,A ;保存到2002HEND10.答:本题主要考察对外部数据块的写操作;编程时只要注意循环次数和MOVX指令的使用就可以了。
ORG 0000HMAIN:MOV A,#0 ;送预置数给AMOV R0,#0FFH ;设置循环次数MOV DPTR,#4000H ;设置数据指针的初值LOOP:MOVX @DPTR,A ;当前单元清零INC DPTR ;指向下一个单元DJNZ R0,LOOP ;是否结束END11.答:因为控制信号线的不同:外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为OE*和WE*。
外扩RAM的读、写控制引脚分别与AT89S51的RD*和WR*引脚相连。
外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为OE*,该引脚与AT89S51单片机的PSEN*相连。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
89C51系统扩展结构如图 89C51系统扩展结构如图8-1所示。 系统扩展结构如 所示。
89C51的系统扩展结构 图8-1 89C51的系统扩展结构
2
由图8 可以看出,系统扩展主要包括存储器扩展和I/O接口部 由图8-1可以看出,系统扩展主要包括存储器扩展和I/O接口部 存储器扩展 件扩展。 件扩展。 外部存储器扩展又包括程序存储器扩展和数据存储器扩展。 外部存储器扩展又包括程序存储器扩展和数据存储器扩展。 又包括程序存储器扩展 89C51采用的是哈佛结构 89C51采用的是哈佛结构(程序存储器空间和数据存储器空间截 采用的是哈佛结构( 然分开) 扩展后,系统形成了两个并行的外部存储器空间。 然分开)。扩展后,系统形成了两个并行的外部存储器空间。 两个并行的外部存储器空间 89C51单片机采用并行总线结构,大大增加了系统的灵活性, 89C51单片机采用并行总线结构,大大增加了系统的灵活性, 单片机采用并行总线结构 使 扩展易于实现,各扩展部件只要符合总线规范, 扩展易于实现,各扩展部件只要符合总线规范,就能很方便地接入 系统。 系统。 由于系统扩展是以89C51单片机为核心,通过总线把89C51与各 由于系统扩展是以89C51单片机为核心,通过总线把89C51与各 89C51单片机为核心 89C51 扩展部件连接起来。因此,要进行系统扩展首先要构造系统总线。 扩展部件连接起来。因此,要进行系统扩展首先要构造系统总线。 首先要构造系统总线
第8 章
89C51单片机扩展存储器的设计 89C51单片机扩展存储器的设计
单片机片内资源有限,在许多情况下, 单片机片内资源有限,在许多情况下,根据单片机应用系 统的功能要求,片内资源还不能满足要求, 统的功能要求,片内资源还不能满足要求,需要对单片机进行 拓展。 拓展。 外扩存储器和 接口部件。 单片机的系统扩展主要是外扩存储器 I/O接口部件 单片机的系统扩展主要是外扩存储器和I/O接口部件。 扩展外部存储器包括扩展程序存储器和数据存储器。 扩展外部存储器包括扩展程序存储器和数据存储器。 包括扩展程序存储器和数据存储器 I/O接口部件的扩展在第9章介绍。 I/O接口部件的扩展在第9章介绍。 接口部件的扩展在第
5
P2口的口线作为高位地址线 2. 以P2口的口线作为高位地址线 P2口的全部8位口线用作高位地址线,再加上P0口经地址 P2口的全部8位口线用作高位地址线,再加上P0口经地址 口的全部 P0 锁存器提供的低8位地址,便形成了完整的16位地址总线( 锁存器提供的低8位地址,便形成了完整的16位地址总线(见 完整的16位地址总线 64KB。 图8-2),使寻址范围达到64KB。 ),使寻址范围达到64KB
12
(2)74LS139 74LS139是 74LS139是双2-4译码器。两个译码器完全独立,分别有 译码器。两个译码器完全独立, 完全独立 各 自的数据输入端、译码状态输出端以及数据输入允许端。 自的数据输入端、译码状态输出端以及数据输入允许端。其引 脚如图 脚如图8-4所示,真值表如表8-2所示(见P138)。 所示,真值表如表 所示( P138)。
6
3.控制信号线 除了地址线和数据线之外,还要有系统的控制总线 系统的控制总线。 除了地址线和数据线之外,还要有系统的控制总线。这些信 号有的就是单片机引脚的第一功能信号,有的则是P3 P3口第二功能信 号有的就是单片机引脚的第一功能信号,有的则是P3口第二功能信 号。其中包括: 其中包括: PSEN信号作为外扩程序存储器的读选通控制信号。 信号作为外扩程序存储器 (1)/PSEN信号作为外扩程序存储器的读选通控制信号。 RD和 WR信号作为外扩数据存储器和I/O接口的 信号作为外扩数据存储器 接口的读 (2)/RD和/WR信号作为外扩数据存储器和I/O接口的读、写选通 控制信号。 控制信号。 ALE信号作为 信号作为低 位地址的锁存控制信号。 (3)ALE信号作为低8位地址的锁存控制信号。 EA信号作为 信号作为内 外程序存储器的选择控制信号。 (4)/EA信号作为内、外程序存储器的选择控制信号。 可看出,尽管89C51单片机有4个并行的I/O 89C51单片机有 I/O口 32条口线 条口线, 可看出,尽管89C51单片机有4个并行的I/O口,共32条口线, 但由于系统扩展的需要,真正作为数字I/O使用的,就剩下P1 I/O使用的 P1口和 但由于系统扩展的需要,真正作为数字I/O使用的,就剩下P1口和 P3口的部分口线了 口的部分口线了。 P3口的部分口线了。
10
2.译码法 使用译码器对89C51的高位地址进行译码, 使用译码器对89C51的高位地址进行译码,将译码器的译码输 89C51的高位地址进行译码 出作为存储器芯片的片选信号。 出作为存储器芯片的片选信号。是最常用的地址空间分配的方 法,它能有效地利用存储器空间,适用于多芯片的存储器扩展。 它能有效地利用存储器空间,适用于多芯片的存储器扩展。 常用的译码器芯片有74LS138( 常用的译码器芯片有74LS138(3-8译码器)、74LS139(双 译码器)、74LS139( )、74LS139 2译码器)。 4译码器)、74LS154(4-16译码器)。若全部高位地址线都参加 译码器)、74LS154( 16译码器)。若全部高位地址线都参加 )、74LS154 译码,称为全译码;若仅部分高位地址线参加译码,称为部分译 译码,称为全译码;若仅部分高位地址线参加译码,称为部分译 全译码 部分译码存在着部分存储器地址空间相重叠的情况。 码。部分译码存在着部分存储器地址空间相重叠的情况。
通常把单片机系统的地址线笼统地分为低位地址线和 通常把单片机系统的地址线笼统地分为低位地址线和高位地 低位地址线 址线, 片选”都是使用高位地址线。 址线,“片选”都是使用高位地址线。 实际上, 16条地址线中 条地址线中, 实际上,在16条地址线中,高、低位地址线的数目并不是固 定的,习惯上把用于存储器 单元选择”的地址线, 用于存储器“ 定的,习惯上把用于存储器“单元选择”的地址线,都称为低位 地 址线,其余都称为高位地址线。 址线,其余都称为高位地址线。 在进行各存储器芯片的地址分配时,注意: 在进行各存储器芯片的地址分配时,注意:同类存储器之 千万不能发生地址重叠。同类存储器, 间,千万不能发生地址重叠。同类存储器,是指程序存储器和程 序存储器之间、数据存储器和数据存储器之间(I/O接口芯片看作 序存储器之间、数据存储器和数据存储器之间(I/O接口芯片看作 是数据存储器)。 是数据存储器)。
3
8.1.1
系统总线及总线构造
按功能通常把系统总线分为三组, 按功能通常把系统总线分为三组,如图8-1所示。 所示。 Bus,AB) 1.地址总线(Adress Bus,AB) 地址总线( 地址总线用于传送单片机发出的地址信号, 地址总线用于传送单片机发出的地址信号,以便进行存储 单元和I/O接口芯片中的寄存器选择。地址总线是单向传输的。 单元和I/O接口芯片中的寄存器选择。地址总线是单向传输的 I/O接口芯片中的寄存器选择 单向传输 2.数据总线(Data Bus,DB) 数据总线(Data Bus, 数据总线用于在单片机与存储器之间或与I/O端口之间传送 数据总线用于在单片机与存储器之间或与I/O端口之间传送 I/O 数据。数据总线是双向的 可以进行两个方向的传送。 数据。数据总线是双向的,可以进行两个方向的传送。 是双向 Bus,CB) 3.控制总线(Control Bus,CB) 控制总线( 控制总线实际上就是单片机发出的各种控制信号线。 控制总线实际上就是单片机发出的各种控制信号线。
11
(1)74LS138 74LS138是 74LS138是3-8译码器,有3个数据输 译码器, 入端,经译码产生8种状态。其引脚如图 入端,经译码产生8种状态。其引脚如图 8-3所示,真值表如表8-1所示。 所示,真值表如表 所示。 由表8-1可见, 可见, 当 译码器的输入为某一 固定编码时, 固定编码时,其输出 仅有一个固定的引脚 输出为低电平, 输出为低电平,其余 的为高电平。 的为高电平。 而输出为低电平 的引脚就作为某一存 储器芯片的片选端的 控制信号。 控制信号。
7
8.2 地址空间分配和外部地址锁存器 8.2.1 存储器地址空间分配 如何把外部各自的64KB空间分配给各个程序存储器、 64KB空间分配给各个程序存储器 如何把外部各自的64KB空间分配给各个程序存储器、数据存 储器芯片( 接口芯片),并且使程序存储器的各个芯片之间, ),并且使程序存储器的各个芯片之间 储器芯片(I/O接口芯片),并且使程序存储器的各个芯片之间, 数据存储器各芯片之间,一个存储单元对应一个地址, 数据存储器各芯片之间,一个存储单元对应一个地址,使地址不 发生重叠,从而避免发生数据冲突, 发生重叠,从而避免发生数据冲突,这就是存储器的地址空间的 分配问题。 分配问题。 外扩的多片存储器芯片中,89C51要完成这种功能,必须进行 外扩的多片存储器芯片中,89C51要完成这种功能, 要完成这种功能 两种选择: 两种选择: 一是必须选中该存储器芯片( I/O接口芯片),这称为 接口芯片),这称为“ 一是必须选中该存储器芯片(或I/O接口芯片),这称为“片 只有被“选中”的存储器芯片才能被89C51读出或写入数据。 89C51读出或写入数据 选”,只有被“选中”的存储器芯片才能被89C51读出或写入数据。 为了片选的需要,每个存储器芯片都有片选信号引脚 片选信号引脚。 为了片选的需要,每个存储器芯片都有片选信号引脚。芯片的选 择实质上就是如何通过89C51的地址线来产生芯片的片选信号。 通过89C51的地址线来产生芯片的片选信号 择实质上就是如何通过89C51的地址线来产生芯片的片选信号。 二是在“片选”的基础上再选择该芯片的某一单元, 二是在“片选”的基础上再选择该芯片的某一单元,称为 “单元 8 选择” 选择”。
4
8.1.2 构造系统总线 系统扩展的首要问题: 构造系统总线。 系统扩展的首要问题: 构造系统总线。 系统总线上“ 存储器芯片或I/O接口芯片, I/O接口芯片 系统总线上“挂”存储器芯片或I/O接口芯片,“挂”存储器芯 片就是存储器扩展 存储器扩展, I/O接口芯片就是I/O扩展 接口芯片就是I/O扩展。 片就是存储器扩展,“挂”I/O接口芯片就是I/O扩展。 1.以P0口作为低8位地址/数 P0口作为低8位地址/ 口作为低 据总线 受引脚数目的限制, 受引脚数目的限制,数据线 和 位地址线分时复用,需要外 低8位地址线分时复用,需要外 加 地址锁存器。 地址锁存器。 单片机运行时: 先把低8 单片机运行时:①先把低8 位 地址送锁存器锁存, 地址送锁存器锁存,地址锁存器 的输出作为单片机发出的低8 的输出作为单片机发出的低8位 地 随后,P0口又作为数据总 址;②随后,P0口又作为数据总