1、6 单片机系统的扩展,6.1 系统扩展概述,1.最小应用系统8051或87518031:外接程序存储器。,8051/8751最小应用系统,8051、8751最小应用系统 单片机接上时钟电路和复位电路, EA接高电平,ALE、PSEN信号不用,系统就可以工作。,8051、8751最小应用系统特点: (l) P0、P1、P2、P3四个口都可以作为I/0口使用。 (2)内部存储器:128B的RAM和4KB的程序存储器。 (3) 一般只适用于可作大批量生产的应用系统。,2. 系统扩展的内容 1) MCS-51系列单片机的三总线结构 地址总线:由P2口提供高8位地址线;由P0口提供低8位地址线,需外加地
2、址锁存器锁存低8位的地址。一般都用ALE正脉冲信号的下降沿进行锁存。 数据总线:由P0口提供。此口是双向、输入三态控制的8位通道口。,控制总线: ALE地址锁存信号,用以实现对低8位地址的锁存。 PSEN 片外程序存储器取指信号。 RD 片外数据存储器读信号。 WR 片外数据存储器写信号。,单片机3总线结构形式,2)系统的扩展内容:a)外部程序存储器的扩展b)外部数据存储器的扩展c)输入/输出接口的扩展d)管理功能器件的扩展,6.2 常用的扩展器件简介,1) 三态门 a)NMOS的三态门电路分析,T为低电平时输出为高阻抗(三态) T为高点平时输出为输入的反相,表示反相或低电平有效,b)三态门符
3、号三态门具有单向导通和三态的特性。,2) D触发器,电平锁存,上升沿锁存,电平锁存:高电平通过,低电平锁存 上升沿锁存:通常用负脉冲触发锁存,负脉冲的上升沿,三态门、触发器在总线中的应用,三态门:功率放大、导通开关 器件共用总线时,一般使用三态电路。在需要使用总线的时候打开三态门;不使用总线的时候关闭三态门,使之处于高阻抗状态。D触发器:信号保持,也可用作导通开关。,6.2.1 系统扩展常用器件1)总线驱动器74LS244TTL 8个单向三态数据缓冲器分成4位的两组,每组的控制端连接在一起。控制端低电平有效功能:增加总线驱动能力控制作用,2)总线驱动器74LS245TTL 8位双向缓冲器控制端
4、低电平有效 可以双向导通功能:增加总线驱动能力 控制作用,6.3 程序存储器的扩展,1.只读存储器简介(Read only Memory),由MOS管阵列构成的,以MOS管的接通或断开来存储二进制信息,主要用于存放程序。 特点:信息一旦写入之后就不能随意更改, 只能读出其中的内容; 断电以后信息不会消失。1)掩膜ROM2)可编程ROM(PROM) 3)可擦除ROM(EPROM或EEPROM),2. 常用的EPROM芯片,1) 2716的引线 2K8bit的EPROM。 A0A10为11条地址信号线:2K单元。 D0D7为8条数据,每个存贮单元存放一个字节。 CS 为片选控制信号。 OE 为(读
5、)输出允许信号。,2)2764的引线 8K8bit的EPROM。 A0A12为13条地址信号线:8K D0D7为8条数据 CS 为输入信号。 OE 输出允许信号。 PGM 为编程脉冲输入端。 Vpp 编程电源(+25V),2732引脚功能,.,27324K EPROM,3.程序存储器扩展应考虑的问题芯片的选择问题,速度匹配问题,容量问题,核心:存储器的编址存储器芯片的选择:线选法和译码法。,1)线选法 直接以系统的高位地址作为存储器芯片或I/O接口芯片的片选信号,只需把用到的地址线与存储器芯片或I/O接口芯片的片选端直接连接即可。特点:简单明了,不需要另外增加译码电路。 这种连接方法对存储空间
6、或I/O端口的使用是断续的,不能充分有效的利用地址空间,扩充芯片的数量有限,只适用于小规模单片机系统的外部扩展。,2)译码法 片选地址线:需要经过译码再与存储器相连。 译码器对系统的高位地址进行译码,以其译码输出作为存储器芯片或I/O接口芯片的片选信号。 有效地利用地址空间,适用于大容量多芯片的外部扩展。地址译码方法分为: 全译码:所有片选地址线均参加译码部分译码:部分片选地址线参加译码,a)全译码。地址译码器使用了全部地址线,地址与存储单元一一对应,也就是1个存储单元只占用1个唯一的地址。 b)部分译码。地址译码器仅使用了部分地址线,地址与存储单元不是一一对应,而是1个存储单元占用了几个地址
7、。 1根地址线不接,一个单元占用2(21)个地址; 2根地址线不接,一个单元占用4(22)个地址; 3根地址线不接,则占用8(23)个地址。 部分译码将会大量浪费存储单元,使存储器的实际容量降低。,3) 地址译码关系图1位不接:每个单元占用21=2个地址号; 片内译码线有11根(AlOAO),片外译码线有4根。A15为0: 占用地址:001000000000000000100111111111,即2000H27FFH。 A15为1: 占用地址:10100000000000001010011111111111,即A000HA7FFH。,1)属完全译码还是部分译码; 2)片内译码线和片外译码线各有
8、多少根; 3)所占用的全部地址范围为多少。,常用存储器地址译码电路,74LS138引脚图,74LS138:3:8译码器,G2A、G2B、G1:控制信号(0) 、:输出选择信号线(0) Y0-Y7:输出信号线(IN),73LS138译码器的逻辑功能真值表,译码电路的特性: 1)每次只能有一位为低电平,其余都为高电平; 2)A、B、C三位输入决定了8种输出选择; 3)输出状态由A、B、C、G1、G2A、 G2B的逻辑组合而决定;使用: G1、G2A、 G2B可直接接+5V或地,也可参与译码。 但必须是100,各片存储器芯片分配地址:,:0000H1FFFH :2000H3FFFH :4000H5F
9、FFH,MCS-51单片机程序存储器的扩展,外部程序存储器的扩展 MCS-51单片机访问外部程序存储器所使用的控制信号有: ALE:低8位地址锁存控制信号 PSEN:外部程序存储器“读取”控制信号,8031最小应用系统,8031最小应用系统,8031最小应用系统使用特点: (l)系统工作时, P0口分时地用作地址总线或数据总线,地址锁存器的输出作为地址总线的低8位, (2) P0口和P2口就不能作为一般的I/0口使用。 (3)将P1口和P3口作为I/0口使用(P3口还是双功能口)。由于8031和EPROM芯片价格非常低廉,且8031的运行和开发的环境相同,故3片最小系统是目前最常用的基本系统。
10、,2) 采用线选法的多片程序存储器的扩展。 例 在图4-13所示的连接图中,使用了两片2764,一共构成了8K2=16K的有效地址。 线选法编址,以P2.7(A15)直接作为片选信号 P2.7=0时,选中左边1片2764,其地址范围为0000HlFFFH; P2.7=1时,选中右边1片2764,其地址范围为8000H9FFFH。有2根地址线未接,1个单元要占用22=4个地址号。以上只是4组地址中的1组。若需地址连续的话,可取如下1组地址: 6000H7FFFH和8000H9FFFH。,采用地址译码器的多片程序存储器的扩展。 例 要求用2764芯片扩展8031的片外程序存储器空间, 分配的地址范
11、围为0000H3FFFH。,采用地址译码器扩展存储器的连接图,解:采用完全译码的方法,每个单元只占用唯一的1个地址。 宇片数:(末地址-首地址)+1=(3FFFH-0000H)+1=4000H=214字片数=4000H2000H=2(片) 位片数:位片数=单元位数/芯片位数=1总片数=字片数位片数=21=2(片) 分配地址范围:第 1片: 0000 0000 0000 0000 (0000H) 0001 1111 1111 1111 (1FFFH)第2片: 0010 0000 0000 0000 (2000H)0011 1111 1111 1111 (3FFFH),第1组第2组,地址译码关系图
12、,6.4 数据存储器的扩展 6.4.1 数据存储器概述 随机存取存储器(Random Access Memory)用于存放可随时修改的数据信息。对RAM可以进行读、写两种操作。 RAM为易失性存储器,断电后所存信息立即消失。MOS型集成度高、功耗低、价格便宜,但速度较慢。静态(RAM)、动态(DRAM) 。,RAM的特点: 1) 可读写存储器,失电后存储的内容丢失; 2)A0An为地址线,n决定了存储器的存储容量,如A0A12为8K, A0A10为2K范围。 3)OE=0 数据输出; 4)WE=0 数据输入;OE、WE 数据读写控制。 5)CS 片选控制 6)I/O0I/O7 数据线 8位(都
13、为8位)各存储器的区别仅仅是地址线的数量差别 常见的RAM有:6116(2K8位)、6264 (8K8位) 62256 (32K8位),6.4.2 常用的RAM芯片有6116、6264等,6116引脚,A0A10: 地址线, 存储量2K D0D7: 双向数据线 CS: 片选 , 0时该片被选中 WE: 写允许 ,0时,数据由总线写入存储器 OE: 读允许,0时, 从存储器读出数据,6264引脚,A0-A12: 地址线 D0-D7: 双向数据线 WE: 写允许 OE: 读允许 CS: 片选 CS2: 片选注意:CS0 且CS21,芯片才被选中。 实际应用:只用1个,另一个常有效。,6.4.3 数
14、据存储器RAM的扩展,P0、P2口作为地址、数据总线:1) 当使用MOVX Ri指令时,系统使用P0口输出地址信号(P2口不用);2) 当使用MOVX DPTR指令时,P0口输出DPTR提供的低八位地址信号,P2口输出DPTR提供的高八位地 址信号。3) 不论哪种情况,P0口都是地址/数据复用总线,因此仍要使用74LS373来锁存P0口的地位地址信号。使用访问外部RAM指令MOVX 时,在时序中将产生/RD或/WR信号,因此将此信号与外RAM的读(/RD) 、写(/WR)控制端相连接就实现系统对外RAM的读写控制。,数据存储器扩展举例,8031 6116 数据总线的连接: P0.0P0.7(数
15、据总线)-D0 D7地址总线的连接: P0.0 P0.7(地址总线低8位)- A0 A7 P2.0 P2.2(地址总线高8位中的3位)- A8 A10控制总线的连接: RD(读外部数据) - OE WR(写外部数据)- WE ALE(地址锁存允许)-接373的使能端 G,经过锁存器373,全地址范围的存储器最大扩展系统,简单的I/O口扩展主要包括: 缓冲器扩展输入口(三态门: 74LS244、74LS245等) 输入接口的主要功能:解决数据输入的缓冲问题,如74ls244(具有三态缓冲功能,这样才可以和数据总线相连)。 锁存器扩展输出口(锁存器: 74LS273、74LS373、 74LS37
16、7等) 输出接口的主要功能:进行数据的保持(数据锁存)。,3 简单I/O接口芯片的扩展,利用74LS244进行输入口的扩展,74LS244引脚封装图,MCS-51与74LS244的接口电路图,缓冲器扩展输入口,74LS244:8位的三态缓冲器。P2.7与RD相或:244的使能信号;P0口与74LS244的8位输出端相连。74LS244的地址:7FFFH(P2.7=0即A15=0,A14A0任意,0000H7FFFH中)当单片机从74LS244读取数据时应该为:MOV DPTR,#7FFFH MOVX A,DPTR,利用74LS273进行输出口的扩展,74LS273引脚封装图,MCS-51与74LS273的接口电路图,锁存器扩展输出口,思考题,1.什么情况下需要扩展数据存储器和程序存储器? 2.锁存器的作用,何时需要,如何连线? 3.数据存储器容量计算及其与地址线的关系? 4.程序存储器容量计算及其与地址线的关系? 5.EA脚的作用? 注意: 1.程序存储器扩展时的连线,特别是控制线; 2.数据存储器扩展时的连线,特别是控制线; 3.程序存储器地址重叠问题。,