第8章可编程输入输出接口2014(新简)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
. . .
34
. . .
4 3 2 1 40
3718
PA0
.
通道A PA7 PB0
D7 A0 A1
CS RD WR
27
控 制 线
RESET
9 8 6 5 35 36
8255A PPI
.
通道B PB7 PC0
电 源 线
VCC GND CPU接口
25 14 15 16 17 13 12 11 10
D7~D0
PA7~PA0 INTEA PC4
B口方式1输入时 相应的联络信号
39
② 方式1选通输出 当端口A或端口B为方式1输出时,各指 定PC的3条线作为8255A与外设及CPU之间应 答信号。下图为方式1选通输出操作的内部
结构图。
40
图8.9
方式1输出控制字格式
41
OBF:输出缓冲器满信号。当CPU向 8255 写入数据后, 8255 向外设 输出的信号,表示让外设来读 数据。低电平有效。
数据总线 地址总线
&
IO/M WR
32
由控制字中D4D3D1D0等4位的不同 取值可定义方式0的16种工作方式的组 合如表8.2所示。 方式0中,端口C被分成两个4位 端口,它们可被定义为输入或输出端 口,CPU与3个端口之间交换数据, 可直接由CPU执行IN和OUT指令来完 成。
33
表8.2
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 控制字 D7,…,D0 10000000 10000001 10000010 10000011 10001000 10001001 10001010 10001011 10010000 10010001 10010010 10010011 10011000 10011001 10011010 10011011
整体设臵,而C口要分成上、下两部分分别设
臵。三个端口的工作方式由一个控制字规定。 (2) C口按位臵位/复位控制字不是送到
C 口地址,而是送到控制寄存器地址;且一
个控制字只能使C口一位臵位或复位。
27
(3) 方式控制字和按位臵位/复位控制字
均写入同一个控制寄存器地址,二者通过最
高位 D7 来区别。 D7=1 为方式控制字, D7=0 为
读写控制部件、A组和B组控制部件、端口A、 B、 C。
(1) 并行输入 / 输出端口A、B、C
包含 3 个 8 位输入 / 输出端口。每个端 口都有一个数据输入寄存器和一个数据 输出寄存器,输入时端口有三态缓冲器 的功能,输出时端口有数据锁存器功能。
6
端口A:包含一个8位数据输出锁存器和
缓冲器和一个 8位数据输入锁存器,输入输
8255A 芯片具有 24 个可编程输入 输出引脚,分成3个8位端口。
3
1、8255A的内部结构和引脚信号
(1) 8255A内部结构
8255A 可 编 程 外 围 设 备 接 口 (Programmable Peripheral Interface,
简写为PPI) ,其内部结构如图所示。
4
A组控制 部件 双向 D7~D0
出数据均受到锁存。
端口 B 和 C: 都包含一个 8 位数据输入缓
冲器和一个 8位的数据输出锁存器和缓冲器,
输出数据能锁存,输入数据不锁存。
7
端口 C: 可分成两个 4 位端口,分别定义 为输入或输出端口,还可定义为控制、状 态端口,配合端口A和端口B工作。 在实际应用中C口 的8位可分为两个4位
微机原理与接口技术
第8章 可编程输入/ 输出接口
2014年10月
1
概 述
微机系统的信息交换有并行通信 和串行通信两种方式。 并行通信是以微机的字长为传输单位; 适合于外部设备与微机之间进行近距离、 大量和快速的信息交换。
实现并行通信的接口称之为并 行接口。
2
8.1 可编程并行接口芯片8255A
8.1.1 8255A的基本功能和内部结构 并行输入/输出端口A、B、C:
A1 A0
RD WR CS
A组 端口A 8位 A组 端口C (高4位)
PA7~PA0
数据总线 缓冲器 读/写 控制部件
PC7~PC4
B组 端口C (低4位)
B组 端口B 8位
PC3~PC0
RESET
B组控制 部件
图8.1 8255A内部结构
PB7~PB0
5
8255A 包括四大部分: 数据总线缓冲器、
按位臵位/复位控制字。
28
2. 工作方式
(1) 方式0 —— 基本输入/输出方式 方式 0 是一种基本输入输出工作方式,它
的 24 条 I/O 线可以全部都用作传送数据,不设
臵应答信号线,常用于无条件传送,输出有锁 存,输入只有缓冲能力而无锁存功能。
方式0控制字具体格式如图8.5所示
29
图8.5
三态双向 8 位缓冲器,是 8255A 与
CPU 之间的数据接口。传送输入数据、
输出数据、控制命令字及状态信息。
15
(4)读/写控制部件 接收来自CPU地址总线信号和控制信号,并 发出命令到两个控制组 (A组和B组)。 CS:片选信号,接CPU高位地址的译码输出 RD:读信号,RD有效,CPU读8255A的数据或状态
当A1A0=11时 选择控制端口
20
表8.1 8255A的读写操作控制
21
8.1.2 8255A的控制字及其工作方式
8255A 共有两个控制字:即工作方 式控制字和对C口臵位/复位控制字。 1. 控制字 (1)工作方式控制字: 控制字和各位的含义如图所示。
22
D7
D6 D 5
D4 D3
D2 D1 D0
. . .
.
通道C
PC7 外设接口
18
图8.2
8255A引脚定义
* PA7~PA0:A端口数据信号引脚 * PB7~PB0:B端口数据信号引脚
* PC7~PC0:C端口数据信号引脚 * D7~D0: 8255A的8位数据线
19
* A1~A0:
端口选择信号 选择端口A
当A1A0=00时
当A1A0=01时 选择端口B 当A1A0=10时 选择端口C
缓冲器
外 部 数 据 引 脚
选通
10
输出接口(数据部分)
D C D C
内 部 数 据 总 线
Q
Q
缓 冲 器
锁存器 D C
外 部 数 据 引 脚
Q
锁存控制
读数据
11
如果送给外设的数据都是静态数据,接口可 以简化为锁存器。
内 部 数 据 总 线
D C D C Q
Q
锁存器 D C Q
外 部 数 据 引 脚
24
(2) 端口C的臵位/复位控制字
控制字的格式如图所示。
D7 D6 D5 D4 D3 D2 D1 D0 不使用 设臵为000
位的臵位/复位 1=臵位,0=复位 位 选 择 D3 D2 D1 通道C位 0 0 0 PC0 0 0 1 PC1 0 1 0 PC2 0 1 1 PC3 1 0 0 PC4 1 0 1 PC5 1 1 0 PC6 1 1 1 PC7 按位臵位/复位控制 标志0=有效25
端口(方式 0 ),也可以分成一个 5 位端口
和一个3位端口(方式2)来使用。
8
输入接口(数据部分) 8255内部数据总线接收来自外部的数据
Q
内 部 数 据 总 线
D C
Q
D C
缓冲器
锁存器 Q
D C
外 部 数 据 引 脚
选通
锁存控制
9
如果外设送来的数据都是静态数据,接口可 以简化为缓冲器。
内 部 数 据 总 线
8255A工作方式控制字格式
23
例:要把A口指定为方式1,输入,C口上 半部定为输出;B口指定为方式0,输出, C口下半部定为输入,则工作方式命令字 是
10110001或B口 B1H MOV DX,303H ;8255命令口 地址 MOV AL,0B1H ;初始化命令 OUT DX,AL ;送到命令口
下图示出 8255A 方式 1 选通输入时的内部 结构图。
35
•STB:选通信号。外设准备好数据发 送STB#,低电平有效。
•IBF:输入缓冲器满信号,STB#下降 沿8255向外设输出IBF信号,表示输入 缓冲器满,高电平有效。
36
INTR:中断请求信号,高电平有效 。STB#上升沿使INTR从无效到有效 ,请求CPU读数据。CPU接到INTR, 读数据发送RD#,RD#下降沿变INTR 有效为无效,表示已经得到响应, RD#上升沿使IBF满变为不满,表示 数据已经读走。 INTE:中断允许信号,它是通过端 口PC4(端口A)或PC2(端口B)的位来编 程的内部位。
锁存控制
12
(2) A组和B组控制部件
A组
A口:PA0~PA7 C口的高4位:PC4~PC7 B口:PB0~PB7 C口的低4位:PC0~PC3
13
B组
A组,B组的控制寄存器,控制
各端口的工作状态和工作方式。 A组,B组的控制寄存器还接收
按位控制命令,以实现对PC口
的按位臵位/复位操作
14
(3) 数据总线缓冲器
B组 端口C(PC3~PC0) 1=输入, 0=输出 端口B 1=输入,0=输出 方式选择 0=方式0, 1=方式1 A组 端口C(PC7~PC4) 1=输入, 0=输出 端口A 1=输入,0=输出 方式选择 00=端口A方式0, 01=端口 A方式1,1=端口A方式2 方式设置标志 1=有效
图8.3
ACK: 外设应答信号。该信号的下 降沿使OBF臵高,表示输出缓冲器 空,低电平有效.当外设读取数据以 后,由外设输入给8255,表示数据
42
INTR:中断请求信号。写信 号的下降沿使INTR引脚无效, 表示CPU正在响应中断,高电 平有效。
INTE : 中断允许信号。在中
断允许情况下, ACK 的
8255A工作方式0控制字格式
30
工作方式0――简单输入/输出――查询方式;A, B,C三个端口均可。
方式0输入(IN AL,PORT) 框图
数据
8 三态缓冲器
数据总线 8 地址总线
来自外设
地址译码器
&
IO/ M RD
31
方式0输出(OUT PORT,AL) 框图
8 锁存器 到外设 CE 地址译码器 8
上升沿使INTR有效,请 求写入下一个数据。
43
方式1输出时序: •WR#上升沿使OBF#有效,表示 输出缓冲器已满,通知外设 读取数据 •WR#使中断请求INTR变低,封 锁中断请求 •当外设读取数据后,ACK#下 降沿表示数据已收到,将 OBF#臵高,使OBF#无效,表 示输出缓冲器变空。 •在INTE=1中断允许情况下, ACK#上升沿使INTR变高,产 生中断请求,写入下一个数 据。 44
图8.4
8255A臵位/复位控制字格式
例:若要把C口的PC2引脚置成高电平输 出,则命令字应该为
00000101B或05h MOV DX,303H 命令口地址 MO5 ;使PC2= ;送到命令
26
关于控制字要说明几点:
(1) 设臵方式控制字时, A 口、 B 口作为
WR : 写信号, WR 有效, CPU向 8255A写入的控制
或数据信息。
16
RESET:复位信号。RESET有效时, 清 8255A 所有控制寄存器内容,并 将各端口臵成输入方式。
17
2. 8255A的引脚
8255A 采 用 40 线 双 列 直插封装, 引脚图如图 所示。
D0 数 据 总 线
B组
端口C 低 4位 (PC3~PC0) 输出 输入 输出 输入 输出 输入 输出 输入 输出 输入 输出 输入 输出 输入 输出 输入 34
(2) 工作方式1——选通式输入/输出方式 ① 方式1选通输入 方式 1操作使端口 A 或端口 B作为锁存输入
设备工作。端口C也可按方式1操作使用——但
不是对数据,而是对控制信号,或当端口 A 或 端口B为选通输入端口时的握手信号。
37
时序: •外设准备好数据发送 STB# •STB#下降沿使IBF不满到 满 •STB#上升沿使INTR从无 效到有效 •CPU接到INTR,读数据发 送RD# •RD#下降沿变INTR有效为 无效 •RD#上升沿使IBF满变为 不满
38
方式1下输入端口的联络信号
A口方式1输入控制字 1 0 1 1 B口方式1输入控制字 1 1 1 D7~D0 PB7~PB0 INTEB PC2 PC4 PC5 与门 RD PC3 A口方式1输入时 相应的联络信号 INTRA RD STBA IBFA 与门 PC0 INTRB PC2 PC1 STBB IBFB
方式0的工作状态组合
A组
端口A 输出 输出 输出 输出 输出 输出 输出 输出 输入 输入 输入 输入 输入 输入 输入 输入 端口C 高4位 (PC7~PC4) 输出 输出 输出 输出 输入 输入 输入 输入 输出 输出 输出 输出 输入 输入 输入 输入 端口B 输出 输出 输入 输入 输出 输出 输入 输入 输出 输出 输入 输入 输出 输出 输入 输入