第八章单片机系统扩展 教学目的和要求 本章介绍MCS-51系列单片机系统的扩展,主要包括存储器扩展和VO口的扩 展。要求重点掌握系统扩展的基本原理和方法,理解存储器的编址技术,掌握存储 器的扩展方法,熟悉常见的存储器芯片选取和应用:掌握VO接口的扩展方法,熟 悉8155芯片的使用。 重点:掌握系统扩展的基本原理和方法,理解存储器的编址技术 难点:8155芯片的使用 学时:2 8.1概述 一、单片机的最小系统 8051:128B RAM:4K ROM 8751:128B RAM:4K EPROM 8031:128BRAM:无ROM 所谓系统就是可以独立实现某些特定功能的一个产品。如果功能相对简单,使 用的MCU资源足够,那么一个MCU带一点非常少的辅助元件就可以实现一个最 小系统。对51单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路和 应用程序下面给出一个51单片机的最小系统电路图(内部无晶振,有振荡电路, 外加晶振,构成并联谐振电路)。 说明:8031无ROM,由它组成的最小系统还应包含外部ROM(对他的扩展)。 所以:当一个系统功能比较复杂,所选的MCU无法完成时,就应对他进行护 展
二、单片机系统的扩展 1、单片机系统的扩展结构 单片机的扩展结构常用如下的总线结构: 地址是接 一控制低 0设备D∞资福 I)地址总线(Address Bus,简写为AB) 地址总线用于传送单片机送出的地址信号,以便访问外部存储器单元或I/O端 口。 ①、地址总线是单向的,地址信号只是由单片机向外发出: ②、地址总线的数月决定了可直接访问的存储器单元的数目。例如N位地址, 可以产生2个连续地址编码,因此可访问2个存储单元。MCS一51单片机有十六 位地址线,因此存储器展范围可达2“=2“×2=1K×64=64KB地址单元。 2)数据总线(Data Bus,简写为DB) 数据总线用于在单片机与存储器之间或单片机与/O端口之间传送数据。 ①、单片机数据总线的位数与单片机处理数据的字长一致。例如MCS一51单 片机是8位字长,所以数据总线的位数也是8位。 ②、数据总线是双向的,即可以进行两个方向的数据传送
3)控制总线(Control Bus,简写为CB) 控制总线实际上就是一组控制信号线,包括单片机发出的,以及从其它部件送 给单片机的各种控制或联络信号。对于一条控制信号线来说,其传送方向是单向的, 但是由不同方向的控制信号线组合的控制总线则表示为双向的。 2、单片机系统扩展的实现 从上面的结构可以看出,扩展系统以8051芯片为核心,通过总线把各扩展部 件“挂”在总线上,扩展器件包括ROM、RAM和VO接口电路等。只要安排好总 线,当在其上“挂”ROM、RAM时是存储器扩展,当“挂”I/O接口芯片时是IVO 扩展。 1)地址总线:16位地址线—高8位由P2口提供,低8位由P0口提供 ①、P2口作为地址线时,具有输出锁存功能,输出地址能保留到下一次新地 址的输出,当外部存储器小于64KB时用其中一部分(极限,外部存储器小于256B 时,根本不用高8位地址): ②、P0口作为低8位地址线时,无地址锁存功能,需外加地址锁存器来锁存 输出的地址信息(例:74LS273、74LS373),地址锁存的控制由单片机的地址锁存 控制信号ALE提供。 2)数据总线:8位的数据总线由P0口提供 ①、P0作为数据总线时,不需外加其他芯片,设计P0口时已经考虑好了: ②、P0口时分作为数据总线和地址总线,设计P0口时已经考虑好了。 3)控制总线:系统扩展时用到的控制信号主要有: ①、ALE:地址锁存的选通信号,实现P0口输出地址的锁存 ②、PSEV:扩展程序存储器的选择信号: ③、EA:内外程序存储器的选择信号:
④、D、π:扩展数据存储器和I/O的读写选通信号 般实际的连接图如下: -西〉悠铁 地址镜存器 803 5 0-→铁橙 0-7数字总线 二控制总线 8.2程序存储器的扩展 一、只读存储器ROM概述 ROM中的信息只能读出,要用特殊方式写入(固化信息),失电后可保持信息不 丢失。 l.掩膜ROM(Read-Only Memory):不可改写ROM 由生产芯片的厂家固化信息。在最后一道工序用掩膜工艺写入信息,用户只可 读。 2.PROM(Programmable Read-Only Memory):可编程ROM 用户可进行一次编程。信息一旦写入,则不可再次改写。 3.EPROM(Erasable Programmable Read-Only Memory):PROM 用户可以多次编程。用紫外线照射,原有信息全部擦除,便可再次改写。(芯 片上有一个小窗口,通过紫外线照射可以清除) 4.EEPROM(Electrically Erasable Programmable Read-Only Memory):可电擦除 PROM 既可全片擦除也可字节擦除,可在线擦除信息,又能失电保存信息,具备RAM、 ROM的优点。但写入时间较长
5.Flash ROM Flash ROM也称为闪速存储器,在本质上属于EEProM(电可擦除只读存储器), 但读写速度很快。平常情况下Flash ROM与EProM一样是禁止写入的,在需要时, 加入一个较高的电压就可以写入或擦除。 二、常见程序存储芯片 扩展外部程序存储器时,一般都不用掩膜ROM和PROM,而是用EPROM、 EEPROM、Flsh ROM 1、EPROM(紫外线擦除电可编程ROM) 常用的EPR0M有2716(2K×8)、2732(4K8)、2764(8K×8)、27128(16K× 8)、27256(32K×8)、27512(64K×8),其中2764的引脚及性能如下: D D 2、EEPROM(电擦除可编程ROM) 常用的EEPR0M有27C64(8K×8)、27C128(16K×8)、27C256(32K×8)27C512(64K×8)(目 前的价位均2.00¥左右),还有2816(2K×8)、2864(8K×8),他们都与响应容量 的EPROM向兼容,其引脚及性能与EPROM相似。 3、Flash ROM 常用的Flash ROM有AMD28F020(2M、12V)、AMD29F010(1M、5V) AMCA29001(1M、5V)、ATMEL49F040T(4M、5V)等。 三、程序存储器扩展的方法
1、芯片数目的确定(容量与字长都要扩展) 当芯片字长与单片机字长致时,芯片数目-整容量 芯片容量 芯片数目=系统容量×系统字长 当芯片字长与单片机字长不一致时, 芯片容量芯片字长 例:单片机8位,芯片2K×2,系统容量8K,则需要的芯片数为: 4片2K×2芯片可扩展成一片2K×8的芯片: 4片2K×8芯片可扩展成一片8K×8的芯片:则总共需要16片 说明:51系统设计中,外部存储器一般都是8位,不需对字长扩展(便宜、简 单) 2、线选法 就是将程序存储器的地址总线与单片机的地址线依次相连(单片机16根,存 储器少于16根),剩余的单片机的高位地址线的一部分直接与存储器芯片的片选信 号C正E相接,单片机剩余的地址总线不用。特点是简单明了,不需增加另外电路。 缺点是存储空间不连续。适用于小规模单片机系统的存储器扩展。 例:P117:图7-2(一片存储器的扩展) 例:多片扩展: P2.0 80C5 例:两片扩展
P2.7 缺点:当扩展多片时,地址空间不连续,且受不用位的影响。 例:16根地址线中,地址线用12根,片选用3根,还剩余一根的情况: ①、若最高位剩,即:*3根片选,12根地址时: I:*110000000000000~*110111111111111=(*-0时6000H~DFFFH:*=1 时EOOOH~EFFFH) IⅡ:*101000000000000~*101111111111111=(*-0时5000H~5FFFH:*-1 时D0OOH~DFFFH) Π:*011000000000000~*011111111111111=(*=0时3000H~3FFFH:*=1 时BO00H~BFFFH) ②、若第四位剩,即:3根片选,*,12根地址时: I:110*000000000000~110*111111111111=(*=0时C000H~CFFFH:*=1 时D0OOH~DFFFH) II:101*000000000000~101*111111111111=(*-0时A000H~AFFFH;*-1 时B000H~BFFFH Π:011*000000000000~011*111111111111=(*-0时6000H~6FFFH:*=1 时7000H~7 FFFH)
其余情况类似。 3、译码法 所谓译码法就是利用译码器对系统的高位地址进行译码,以译码器的输出作为 存储芯片的片选信号。特点是存储空间连续,适用于大容量多芯片存储器扩展。 常用的译码芯片有:74LS139(双2一4译码器)和74LS138(3一8译码 器)等,它们的CMOS型芯片分别是74HC139和74HC138.74LS138的特性如 下。 74LS138功能 A-1 16 GG8CBA输 出 100000Y0-0,其余的为1 100001Y1-0,其余的为1 100010Y2-0,其余的为1 1000111-0.其金5为1 100 余的为 其余的力 1001101=0, 其余的为] 100111Y-0,其余的为1 输入ABC的不同组合,有唯一的输出为低电平,用该低电平作为存储器的片 选信号。 利用译码器组成的存储器扩展电路如下: 74L189 VCC
83数据存储器的扩展 一、RAM的分类 RAM存储器中的信息可读可写,但失电后会丢失信息。 1双极型(TTL):由TTL电路组成基本存储单元,存取速度快。 SRAM:静态RAM,只要带电信息可长期保存 DRAM:动态RAM,使用动态存储单元,需要不断刷新才能保存信息,但功 耗低,价格便宜,在单片机系统中很少用。 2、金属氧化物(MOS)RAM:集成度高,功耗低,价格便宜,但速度较慢 MOSRAM按工艺又可分为下列几种: 静态RAM(SRAM)、动态RAM(DRAM)、入集成RAM(iRAM)、H非易 失性RAM(NVRAM) 在单片机系统中常用的静态RAM有: 6116(2K×8)、6264(8K×8)、62128(16K×8)、62256(32K×8),工作电压+ 5V,他们的控制操作如下(控制都一样,只不过地址线不一样多): 工作方式CS OE WE o0o7 001 数据输出 写 0 1 0 数据输入 禁止 高阻态 269 二、RAM的扩展 单片机与数据存储器的连接方法和程序存储器连接方法大致相同,简述如下: 1.地址线的连接,与程序存储器连法相同。 2.数据线的连接,与程序存储器连法相同。 3控制线的连接,主要有下列控制信号: 存储器输出信号和单片机读信号相连即和P3.7相连
存储器写信号和单片机写信号相连即和P3.6相连。 ALE:其连接方法与程序存储器相同 注意:访问内部或外部数据存储器时,应分别使用MOV及MOVX指令。 外部数据存储器通常设置二个数据区: (1)低8位地址线寻址的外部数据区。此区域寻址空间为256个字节。CPU 可以使用下列读写指令来访问此存贮区。 读存储器数据指令:MOVX A,@Ri 写存储器数据指令:MOVX@Ri,A 由于8位寻址指令占字节少,程序运行速度快,所以经常采用。 (2)16位地址线寻址的外部数据区。当外部RAM容量较大,要访问RAM 地址空间大于256个字节时,则要采用如下16位寻址指令。 读存储器数据指令:MOVX A,@DPTR 写存储器数据指令:MOVX @DPTR,A 连接示意图:P159:图6.7(两片) 27 三、综合扩展(对ROM和RAM都扩展) 例:单片机外扩8 KB EPROM2764和8 KB RAM6264各一片,如下图 说明:Flash ROM的扩展也一样(不讲) 10