第 8 章 单片机的系统扩展技术

56
第8第 第第第第第 第第第第 8.1 第第第第第第第第 8.2 第第第第第第第第 8.3 I/O 第第第第

Upload: fredericka-kelley

Post on 02-Jan-2016

49 views

Category:

Documents


13 download

DESCRIPTION

第 8 章 单片机的系统扩展技术. 8.1 程序存储器的扩展 8.2 数据存储器的扩展 8.3 I/O 口的扩展. 系统扩展的含义 单片机中虽然已经集成了 CPU 、 I/O 口、定时器、中断系统、存储器等计算机的基本部件(即系统资源),但是对一些较复杂应用系统来说 , 有时感到以上资源中的一种或几种不够用,这就需要在单片机芯片外加相应的芯片、电路,使得有关功能得以扩充,我们称为系统扩展(即系统资源的扩充)。. 所谓系统的扩展与配置一般说来有如下两项主要任务: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 8 章   单片机的系统扩展技术

第 8 章 单片机的系统扩展技术

8.1 程序存储器的扩展 8.2 数据存储器的扩展 8.3 I/O 口的扩展

Page 2: 第 8 章   单片机的系统扩展技术

系统扩展的含义

单片机中虽然已经集成了 CPU 、 I/O 口、定时器、中断系统、存储器等计算机的基本部件(即系统资源),但是对一些较复杂应用系统来说 , 有时感到以上资源中的一种或几种不够用,这就需要在单片机芯片外加相应的芯片、电路,使得有关功能得以扩充,我们称为系统扩展(即系统资源的扩充)。 

Page 3: 第 8 章   单片机的系统扩展技术

所谓系统的扩展与配置一般说来有如下两项主要任务: 第一项是扩大单片机的容量。由于芯片结构、引脚等关

系,单片机内 ROM, RAM 等功能部件的数量不可能很多、在使用中有时会感到不够。因此需要在片外进行扩展,以满足实际系统的需要。

另一项是把系统所需的外设与单片机连起来,使单片机系统能与外界进行信息交换。如通过键、 A/D 转换器、磁带机、开关等外部设备向单片机送入数据、命令等有关信息,去控制单片机运行,通过显示器、发光二极管、打印机、继电器、音响设备等把单片机处理的结果送出去,向人们提供信息或对外界设备提供控制信号,这项任务实际上就是单片机接口设计。

 

Page 4: 第 8 章   单片机的系统扩展技术

8.1 程序存储器的扩展

单片机最小应用系统 : 单片机的各种功能能满足应用系统的需要 .

例 : 8051/8751 :由单片机和一些不能集成在芯片内的晶体振荡电路、复位电路、电源部分组成。应用特点是:

( 1 )全部 I/O 口线均可供用户使用。 ( 2 )内部存储器容量有限(只有 4KB 地址空间)。 ( 3 )应用系统开发具有特殊性。 8031/8032 :由单片机和外接的 ROM 或 EP

OM 芯片和晶体振荡电路、复位电路、电源部分组成。 ( 如下图 )

Page 5: 第 8 章   单片机的系统扩展技术

图 8.1 MCS - 51 单片机最小应用系统( 8051 、 8751 )

Page 6: 第 8 章   单片机的系统扩展技术

图 8.2 MCS - 51 单片机最小应用系统( 8031 、 8032 )

Page 7: 第 8 章   单片机的系统扩展技术

当单片机最小应用系统不能满足系统要求时 , 就需要扩展 ROM( 或 EPOM) 、 RAM 、 I/O 口、 D/A 和 A/D 转换及定时 / 计数器等外围芯片。

一般将外部总线变成微机三总线结构形式。

MCS-51 的三总线: 1 )地址总线( AB ): P2 口提供高 8 位地址线(可自己 锁存) P0 口提供低 8 位地址线(需加地址锁存器锁

存低 8 位的地址信息, ALE 正脉冲信号的下降沿控制锁存时刻)

Page 8: 第 8 章   单片机的系统扩展技术

2 ) 数据总线( DB ): 由 P0 口提供,是双向、输入三态控制的

通道口 3 ) 控制总线( CB ): 扩展系统时常用的控制信号为: ALE PSEN EA RD WR RESET

注意:所有的外部芯片都是通过这 3 组总线进行扩展

MCS-51 单片机有四个 I/O 口,共 32 条口线,但由于系统扩展的需要,真正能作为数据 I/O 使用的就只有 P1 口和 P3 口的部分口线。

Page 9: 第 8 章   单片机的系统扩展技术

P1. 7P1. 6P1. 5P1. 4P1. 3P1. 2P1. 1P1. 0

P3. 7P3. 6P3. 5P3. 4P3. 3P3. 2P3. 1P3. 0

PSENEAALERESET

8031

8051

8751

P2. 7P2. 6P2. 5P2. 4P2. 3P2. 2P2. 1P2. 0

P0. 7P0. 6P0. 5P0. 4P0. 3P0. 2P0. 1P0. 0

ALE

A15A14A13A12A11A10A9A8

A7A6A5A4A3A2A1A0

D7D6D5D4D3D2D1D0

G

+5V VCC

VSS

数据总线(DB)

地址总线(AB)

控制总线(CB)

用户I /O

图 5.3 MCS-51 系列单片机三总线结构

Page 10: 第 8 章   单片机的系统扩展技术

8.1 单片机程序存储器的扩展

MCS - 51 系列单片机数据存储器和程序存储器的地址空间是相互独立的。

MCS - 51 系列单片机具有 64K 的程序存储器寻址空间,以程序计数器 PC 作为地址指针,通过 16 位地址总线寻址

如果系统需要用到的存储器超过了单片机本身具有的容量,就要进行片外程序存储器的扩展。 ( 主要是 EPROM 和 EEPROM)

Page 11: 第 8 章   单片机的系统扩展技术

8051/8751/89C51 单片机: 内部有最低 4KB 地址空间的 ROM ,扩展后

64KB 内、外程序存储器的地址是统一编排的,通过对 引脚 设置来确定是访问内部还是外部程序存储器。

8031 单片机: 内部无 ROM ,必须外接程序存储器,地址

为 0000---FFFFH, 应始终接地。 注意:访问内部和外部程序存储器的指令不同 用 MOVC 访问外部程序存储器

Page 12: 第 8 章   单片机的系统扩展技术

有关 EPROM?

EPROM ( Erasable Programmable ROM ,可擦除可编程 ROM )芯片可重复擦除和写入,解决了 PROM 芯片只能写入一次的弊端。 EPROM 芯片有一个很明显的特征,在其正面的陶瓷封装上,开有一个玻璃窗口,透过该窗口,可以看到其内部的集成电路,紫外线透过该孔照射内部芯片就可以擦除其内的数据,完成芯片擦除的操作要用到 EPROM 擦除器。

EPROM 内资料的写入要用专用的编程器,并且往芯

片中写内容时必须要加一定的编程电压( VPP=12—24V ,随不同的芯片型号而定)。 EPROM 的型号是以 27 开头的,如 2716 是一片 EPROM 芯片。

EPROM 芯片在写入资料后,还要以不透光的贴纸或胶布把窗口封住,以免受到周围的紫外线照射而使资料受损。

Page 13: 第 8 章   单片机的系统扩展技术

图 8.4 EPROM 扩展芯片 2716 的引脚图

2716 容量: 2KB×8位

Page 14: 第 8 章   单片机的系统扩展技术

程序存储器的扩展要解决的几个问题: . 程序存储器的作用—— 存放程序代码或常数表格

.扩展时所用芯片—— 一般用只读型存储器芯片(可以是

EPROM、 E2PROM、 FLASH芯片等)。

.扩展电路连接 —— 用 EPROM 2716、 2732等扩展程序存

储器。

.存储器地址分析——单片机输出什么地址值时,可以

指向存储器中的某一单元。

Page 15: 第 8 章   单片机的系统扩展技术

图 8.5 2716 与 8031 的连接图

CE

实例:

Page 16: 第 8 章   单片机的系统扩展技术

1. 地址线: P0 口分时提供 8 位地址线 A0-A7 和数据线 D

0-D7 的信息。 ALE 在 P0 口出现地址信息时输出高电平(锁存),出现数据信息时输出低电平。

每个机器周期, P0 口发两次地址、数据信息,在 1 个机器周期中 ALE两次有效(锁存地址)

P2 口输出高 8 位地址 A8-A15 ,在 1 个机器周期中更新 2 次

即:每个机器周期中至多允许执行两字节的指令

Page 17: 第 8 章   单片机的系统扩展技术

2. 数据线 :

P0 口接存储器的 8 位数据线 D0-D7

CE 为片选信号输入端,低电平有效,表示选中

该 EPROM 芯片,这里接地,表示常有效。从而确定所扩展存储器的地址空间范围。

Page 18: 第 8 章   单片机的系统扩展技术

由图 可确定 2716 芯片的地址范围。方法是 A10 ~ A0 从全 0 开始 , 然后从最低位开始依次加 1, 最后变为全 1, 相当于 211=2 048 个单元地址依次选通 , 称为字选。即

地址与单元是多对一的关系

Page 19: 第 8 章   单片机的系统扩展技术

3. 控制线 :

ALE 接至地址锁存器锁存信号

当采用 8031 、 8032 时, 接存储器读信号

Page 20: 第 8 章   单片机的系统扩展技术

5.1.3 EEPROM 的扩展

EEPROM 是一种电擦除可编程只读存储器,掉电后信息不会丢失, +5V 电源下 就可以进行编程,而且对编程脉冲宽度一般无特殊要求。 EEPROM 存储器主要存放数据,可在线编程,并且在断电的情况下保持修改的结果。

在智能化仪器仪表、控制装置等领域都普遍应用。 EEPROM 种类很多,主要有串行 EEPROM 和并行 EEPROM

Page 21: 第 8 章   单片机的系统扩展技术

图 8.6 2864A 管脚

Page 22: 第 8 章   单片机的系统扩展技术

图 8.7 2864A

与8031

的接口电

Page 23: 第 8 章   单片机的系统扩展技术

1. 地址线: P0 口分时提供 8 位地址线 A0-A7 和数据线 D0-D7 的

信息。 ALE 在 P0 口出现地址信息时输出高电平(锁存),出现数据信息时输出低电平。

2. 数据线 :

P0 口接存储器的 8 位数据线 D0-D7

3. 控制线 :

ALE 接至地址锁存器锁存信号

PSEN

EA 内外程序存储器选择信号

接存储器读信号 OE

CE 片选信号,这里是线选法

Page 24: 第 8 章   单片机的系统扩展技术

8.2 数据存储器的扩展

MCS-51 单片机的内部数据存储器容量一般为 128B—2

56B ,可以作为工作寄存器、堆栈、标志和数据缓冲区使用。 对数据量较小的系统,内部 RAM已足够; 当数据量较大时,就需要扩展 RAM 数据存储器,扩展容量最大可达 64KB 。 最常用的 RAM 器件是 SRAM ,与动态 RAM 相比,静态RAM 无须考虑保持而设置的刷新电路,故扩展电路简单。但静态 RAM 是通过有源电路来保持存储器中的数据,因此要消耗较多的功率,价格也较高。

8.2.1 单片机 RAM概述

Page 25: 第 8 章   单片机的系统扩展技术
Page 26: 第 8 章   单片机的系统扩展技术

1. 静态 RAM 芯片

图 8.9 6264 管脚图

I/O 0~7 :数据线

A0 ~ A12 :地址线

CE 、 CE :片选线

OE :输出使能

WE :写入使能

VCC 、 GND :电源

NC :未使用

Page 27: 第 8 章   单片机的系统扩展技术

6116 、 6264 、 62256 引脚功能如下:A0~ Ai :地址输入线, i=10 ( 6116 , 12 ( 6264 ),

( 62256 )。O0~ O7 :双向三态数据线。

:片选信号输入线,低电平有效。 6264 的 26 脚( CE2 ) 为高电平,且 为低电平时才选中该片。

: 选通信号输入线,低电平有效。

:写允许信号输入线,低电平有效。 Vcc :主电源,电压为 5V; GND :接地端。

CE

CE

1CE

OE

WE

Page 28: 第 8 章   单片机的系统扩展技术

2. 6264 的工作方式

Page 29: 第 8 章   单片机的系统扩展技术

图 8.10 MCS - 51 数据存储器的扩展示意图

8.2.2 SRAM 扩展实例

EA

Page 30: 第 8 章   单片机的系统扩展技术

图 8.11

扩展6264

静态R

AM

Page 31: 第 8 章   单片机的系统扩展技术

注意 : 访问内部和外部存储器时 , 应分别使用 MOV 和 MOVX 指令 .

外部数据存储器的两个数据区 :

1) 低 8 位地址线寻址的外部数据区,寻址空间为 256 个字节,可通过 Ri(R1 或 R2)8 位寻址, Ri内存放外部 RAM 的地址号

例: MOVX A , @Ri (读指令) MOVX @Ri , A (写指令)若数据量不大,一般采用该寻址方式

Page 32: 第 8 章   单片机的系统扩展技术

2 ) 16 位地址线寻址的外部数据区 当外部数据容量较大,要访问 RAM 单元的地址

大于或等于 256 时,采用 DPTR寄存器的 16 位寻址,可寻址 216=64KB 单元, DPTR 内存放访问的外部 RAM 单元的 16 位地址号。

例: MOVX A , @DPTR (读指令) MOVX @DPTR , A (写指令)

Page 33: 第 8 章   单片机的系统扩展技术

8.3并行 I/O 口扩展

MCS-51 系列单片机有 4 个 8 位并行输入 /输出口,单片机与外围设备的数据传送都是通过并行输入 /输出口或串行口完成的。对于 8051 (或 8052 ) /8751 (或 8752 )来说,无须扩展外部存储器, P0 口~ P3 口均可作为通用 I/O 口使用。但扩展存储器后, P2 口、 P0 口被占用,留给用户的只有 P1 和 P3 口,而 P3 口是多用途口,当第二功能使用时,就不能作一般 I/O 口线。因此,在实际应用中,大都需要扩展 I/O 口。

用户可以把外部 64KB 的数据存储器的一部分作为外部 I/O 口的地址

Page 34: 第 8 章   单片机的系统扩展技术

8.3.1 地址译码法 ( 1 ) 线选法扩展片外芯片 所谓线选法,就是利用单片机高地址总线(一般

为 P2 口)作为存储器(或 I/O 口)的片选信号,即是将 P2 口的某一根地址线与存储器(或 I/O口)的片选信号直接相连,该地址线为低电平时,选中该芯片。如图所示。

用 线 选 方 式 实 现 片 选

Page 35: 第 8 章   单片机的系统扩展技术

图中Ⅰ、Ⅱ、Ⅲ都是 4KB×8 位存储器芯片,地址线 A

11~ A0 实现片内寻址,地址空间为 4KB 。现用 3根高位地址线 A14 、 A13 、 A12 实现片选,均为低电平有效。为了不出现寻址错误,当 A12 、 A13 、 A14之中有一根地址线为低电平时,其余两根地址线必须为高电平,也就是说每次存储器操作只能选中一个芯片,现假设剩下的 A

15 为高电平,这样可得到 3 个芯片的地址分配,如表 5.3

所示。

Page 36: 第 8 章   单片机的系统扩展技术

线选法地址分配表 (表 8.3)

从表中看出 3 个芯片的内部寻址 A11~ A0 都是 0~ 0(共 12 位)到 1~ 1 (共 12 位),为 4KB 空间,而依靠不同的片选信号高位地址线 A14 、 A13 、 A12之中某一根为 0 ,来区分这 3 个芯片的地址空间。

二 进 制 表 示 十六进制 A15 A14 A13 A12 A11 …… A0

芯片Ⅰ 1 1 1 0 0 … 0

1 … 1 E000H ~EFFFH

芯片Ⅱ 1 1 0 1 0 … 1 … 1

D000H ~DFFFH

芯片Ⅲ 1 0 1 1 0 … 0

1 … 1

B000H ~BFFFH

Page 37: 第 8 章   单片机的系统扩展技术

线选法简单,适用于不太复杂的系统。但每占用一根地址线,就占用了一段地址空间,且各地址空间不连续,不能充分利用存储空间或者存在地址重叠现象。

Page 38: 第 8 章   单片机的系统扩展技术

( 2 ) 地址译码法 当线选法所需地址选择线多于可用地址线时,

一般采用地址译码法。译码法就是利用译码器对单片机的某些高位地址线进行译码,其译码输出作为存储器(或 I/O 口)的片选信号。这种方法存储空间连续,能有效地利用存储空间,适用于多存储器、多 I/O 口的扩展。地址译码法必须采用地址译码器,常用的地址译码器有 74LS138 、74LS139 、 74LS154 、 8282 等。

例如用译码法实现扩展容量 4KB×8 位的存储器芯片Ⅰ、Ⅱ、Ⅲ的接口电路,接线图如下图所示。

Page 39: 第 8 章   单片机的系统扩展技术

地址线 A11~ A0 用于片内寻址,高位地址线 A14 、 A13 、 A12 接到 74LS138译码器的选择输入端 C 、 B 、 A 。 74LS138 器的、、分别作为 3 个芯片的片选信号。

Page 40: 第 8 章   单片机的系统扩展技术

采 用全译码方式实现片选 根据译码器的逻辑关系和存储器的片内寻址范围,可以得到 3 个

芯片地址空间,如表 5.4 。 译码法实现片选的地址分配表 (表 8.4)

二 进 制 表 示 十六进制 A15 A14 A13 A12 A11 A10 … A0

芯片Ⅰ 1 0 0 0 0 0 … 0 8000H ~8FFFH ~ 1 0 0 0 1 1 … 1

芯片Ⅱ 1 0 0 1 0 0 … 0 9000H ~9FFFH ~ 1 0 0 1 1 1 … 1

芯片Ⅲ 1 0 1 0 0 0 … 0 A000H ~AFFFH ~ 1 0 1 0 1 1 … 1

Page 41: 第 8 章   单片机的系统扩展技术

从例子中的硬件连接图中看出,单片机除了扩展存储器所需的地址线外,剩余的全部地址线都参加译码,这种译码方式称为全译码。全译码的优点是存储器芯片的地址空间连续,且唯一确定,不存在地址重叠现象,能够充分利用内存空间。

Page 42: 第 8 章   单片机的系统扩展技术

扩展并行 I/O 口的方法主要有两种:一是采用单片机专用的扩展 I/O 接口芯片,

如 8155 、 8212 、 8255 等;二是利用通用的三总线扩展三态门等接口。

Page 43: 第 8 章   单片机的系统扩展技术

图 8.12

Page 44: 第 8 章   单片机的系统扩展技术

这种 I/O 口一般都是通过 P0 口扩展。由于 P0口是双向数据线,图中 74LS244 作为输入口、 74LS273 作为输出口,它们都可以通过 P0 口输入、输出数据。

输出控制信号由 P2.0 和 合成,当二者同时为0电平时,“或”门输出0电平, 273 的Q=D,数据进入 273 ,数据锁存在Q端并输出。

输入控制信号由P2 . 0和 合成,当二者同时为0电平时,“或”门输出0电平, 244 的Q=D(直通),将外部信息输入到总线。

注意使用是 P2.0 ( A8 )必须为 0 。

RD

WR

Page 45: 第 8 章   单片机的系统扩展技术

电路可实现的功能是:按下任意键,对应的 LED 发光。程序如下:( MCS-51 单片机把外扩 I/O 口和片外 RAM 统一编址,每个扩展的接口相当于一个扩展的外部 RAM 单元,访问外部接口就像访问外部 RAM 一样,用的都是 MOVX 指令 )

LOOP : MOV DPTR , #FEFFH;数据指针指 向扩展 I/O口地址

MOVX A ,@ DPTR ;向 244读入数据,检测按键

MOVX @ DPTR , A ;向 273输出数据,驱动 LED

SJMP LOOP ;循环

Page 46: 第 8 章   单片机的系统扩展技术

8.3.2 采用 Intel 系列可编程接口芯片

完成一些较复杂的接口动作,仅靠几片 74LS273 、244之类的芯片已不能满足要求。必须扩展功能强的可编程接口芯片。常用的可编程芯片有: 8155 可编程并行接口、 8255 可编程并行接口、 8251 可编程通信接口、 8253 可编程间隔定时器、8279 可编程键盘 / 显示器接口等。下面通过 8255芯片说明可编程接口芯片的扩展。

Page 47: 第 8 章   单片机的系统扩展技术

一、 8255A 可编程并行 I/O 接口

1. 结构 8255A 由 3 个 8 位并行 I/O 口 , 称为

PA 口、 PB 口和 PC 口;数据缓冲器及读写控制逻辑电路组成。 其中 PC 口又分为高 4 位和低 4 位 , 通过控制字设定可以选择三种工作方式 : ① 基本输入 / 输出 ; ②选通输入 / 输出 ; PA③ 口为双向总线。

Page 48: 第 8 章   单片机的系统扩展技术

8255A 的内部结构图

Page 49: 第 8 章   单片机的系统扩展技术

2. 3种工作方式:方式 0(基本 I/O方式): A口、 B口、 C口均为数据 I/O。输出锁存,输入

三态,不用联络信号。 适用于无条件或查询方式的数据传送。方式 1(选通 I/O方式): A口和 B口用于数据 I/O,输入 / 输出均锁存, C

口用于传送联络信号,读C口可了解外设当前状态。 适用于查询或中断方式的数据 I/O。方式 2(双向数据传送方式): A口为数据 I/O , B口无此方式, C口用作 A口双

向传送的联络信号线。 适用于查询或中断方式的数据 I/O。

Page 50: 第 8 章   单片机的系统扩展技术

8255A 的芯片引脚信号

40脚

Page 51: 第 8 章   单片机的系统扩展技术

引脚( 40脚):1.数据线:D0~ 7:传送单片机与 8255之间的数据、控制字和状态字。PA0~ 7 PB 0~ 7 PC0~ 7:传送 8255与外设之间的数据和联络 信息, PC0~ 7可用作数据线或联络线。2.地址线:CS:片选线A1、 A0:口选线,寻址 PA、 PB、 PC数据口和控制口。

3. 读写控制线:RD、WR控制单片机与 8255 之间的信息传送和流向。4.复位线:RESET高电平复位,使内部寄存器全部清零。

Page 52: 第 8 章   单片机的系统扩展技术

4. 8255 的全部工作状态是通过读 / 写控制逻辑和工作方式来实现 (见表 )

例:求 8255 口地址 ( 写操作 ):

解: A口 (7F00H) ; B口 (7F01H) ; C口 (7F02H) ; 控制口 (7F03H)。

P0

P2.7

80C51

A0

A1

CS8255

373Q0

Q1

ABi : 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0A口: 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 7F00HB口: 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 7F01HC口: 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 7F02H控制口: 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 7F03H

Page 53: 第 8 章   单片机的系统扩展技术

5. 8255编程规定

方式选择控制字: D7=1C口置位 /复位控制字: D7=0

控制字 D7 D6 D5 D4 D3 D2 D1 D0

方式 1 A 组方式 PA PC4~7 方式 PB PC0~3

置/复位 0 位选择 1 / 0

8255 初始化编程:往控制口写入控制字,确定 8255 工作方式。

Page 54: 第 8 章   单片机的系统扩展技术

方式选择控制字

8255A方式选择注意:有三种基本工作方式: 方式 0——基本的输入输出方式 方式 1——选通的输入输出方式 方式 2——双向传输方式

只有端口 A 能工作在方式 2; 同一组的两端口可分别工作在输入和输出方式。

Page 55: 第 8 章   单片机的系统扩展技术

例: 8255PA口方式 0输出单片机片内 RAM数据, PB口方式 1输入…。PIOS :MOV DPTR, #7F03H ;控制口地

址 MOV A, #86H ;写控制字 MOVX @DPTR, A ;设工作方式 MOV DPTR, #7F00H ;PA数据口地址 MOV A,@R0 ;取RAM的数据 MOVX @DPTR, A ;由 PA口输出

Page 56: 第 8 章   单片机的系统扩展技术

例:让 C3 产生一个脉冲信号 若要通过 C 口的某一位输出一个脉冲时,

只要将相应的控制字送入控制寄存器可实现 ( 先给 C3 置位,再给 C3清零)

MOV A , #07H

MOV DPTR , #04F3H

MOVX @DPTR , A

MOV A , #06H

MOVX @DPTR , A