微机接口第九章8255A-PPT文档资料116页
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3) 方式控制字和按位置位/复位控制字均 写入同一个控制寄存器地址,二者通过最高 位D7来区别。D7=1为方式控制字,D7=0为按 位置位/复位控制字。
2. 工作方式
(1) 方式0 —— 基本输入/输出方式 方式0是一种基本输入输出工作方式,它
的24条I/O线可以全部都用作传送数据,不设 置应答信号线,常用于无条件传送,输出有锁 存,输入只有缓冲能力而无锁存功能。
8255A 所有控制寄存器内
容,
并将各端口置成输入
方式。
2. 8255A的引脚
8255A 采 用 40 线 双
数 D.0 据.
总
线.
D7
列直插封装, 引脚图如图 所示。
控
A0 A1
制
CS
线
RD
WR
RESET
34
. . .
27
9 8255A 8 PPI 6 5 36 35
电 源
VCC
线 GND
CPU接口
表11.3 方式2的组合状态与控制字格式
3. 8255A的工作方式初始化(初始化)
①根据8255A与CPU接口硬件电路图确 定8255A四个端口地址。
②根据8255A的具体应用,确定8255A工 作方式控制字内容。
③利用输出指令,将工作方式控制字送 至控制命令寄存器中。
4. 8255A中PC口置位/复位操作
;输出打印数据子程序, 打印数据
; 在AH中
PUSH DX
PM: MOV DX , 0FFFCH
IN AL, DX AND AL, 04H
;查询PC2 ;BUSY=0?
JNZ PM
;忙,则等待,D2=1 表示忙
MOV DX, 0FFF8H ;不忙,则输出数据
MOV AL, AH OUT DX, AL
WR
方式1输出端口B
PB7~0
PC1 INTEB PC2
OBF B ACK B
PC0
INTRB
WR
(a)端口A方式1输出
(b)端口B方式1输出
图11.9 方式1输出端口状态
OBF:输出缓冲器满信号。向外设 输出,低电平有效。
ACK: 外设应答信号。由外设输入, 低电平有效。
INTR:中断请求信号。高 电平有效。
* A1~A0: 端口选择信号
当A1A0=00时 当A1A0=01时 当A1A0=10时
选择端口A 选择端口B 选择端口C
当A1A0=11时 选择控制端口
表11.1 8255A的读写操作控制
二 、 8255A的控制字及其工作方式
8255A共有两个控制字:即工作方 式控制字和对C口置位/复位控制字。 1. 控制字
方式0控制字具体格式如图11.5所示
图11.5 8255A工作方式0控制字格式
由控制字中D4D3D1D0 等4位的不同 取值,可定义方式0的16种工作方式的组 合,如表11.2所示。
方式0中,端口C被分成两个4位 端口,它们可被定义为输入或输出端 口,CPU与3个端口之间交换数据, 可直接由CPU执行IN和OUT指令来完 成。
② 方式1选通输出
当端口A或端口B为方式1输出时,各 指定PC的3条线作为8255A与外设及CPU之 间应答信号。下图为方式1选通输出操作的 内部结构图。
图11.8 方式1输出控制字格式
方式1输出端口A
INTEA
PA7~0
PC7 PC6
OBF A ACK A
PC3
INTRA
PC4,5 2 I/O
图11.6工作方式1输入控制字格式
(a)端口A方式1输入
(b)端口B方式1输入
图11.7方式1输入端口状态
STB:选通信号。由外设输入,低电平 有效。
IBF:输入缓冲器满信号 ,向外设输 出,高电平有效。
INTR:中断请求信号,高电平有效。
INTE:中断允许信号,它是通过端 口PC4(端口A)或PC2(端口B)的 位来编程的内部位。
INTE:中断允许信号。
(3) 工作方式2——双向选通输入/输出方式
方式2只允许A组采用,此时端 口A变为双向,允许数据在同一组8 条线上发送和接收。
下图示出方式2操作内部结构图。
图11.10 端口A方式2控制字
图11.11 端口A工作在方式2的端口状态
OBFA:输出缓冲器满信号,向外设输出, 低电平有效。
图11.2 8255A引脚定义
4 3
P.A0
2 1 40
. 通道A .
37 18
.PPAB70
. 通道B
.
25
PB7
14 15
P.C0
16 17 13 12
. 通道C .
11
10
PC7
外设接口
* PA7~PA0:A端口数据信号引脚 * PB7~PB0:B端口数据信号引脚 * PC7~PC0:C端口数据信号引脚 * D7~D0: 8255A的8位数据线
A组控制 部件
双向 数据总线 缓冲器
D7~D0
RD WR
AA01
CS RESET
读/写 控制部件
B组控制 部件
A组 端口A
8位
A组 端口C
(高4位)
B组 端口C
(低4位)
B组 端口B
8位
图11.1 8255A内部结构
PA7~PA0 PC7~PC4 PC3~PC0 PB7~PB0
8255A包括四大部分:数据总线缓冲器、 读写控制部件、A组和B组控制部件、端口 A、B、C。
方式设置标志 1=有效
图11.3 8255A工作方式控制字格式
(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
序号
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
表11.2 方式0的工作状态组合
控制字 D7,…,D0
10000000 10000001 10000010 10000011 10001000 10001001 10001010 10001011 10010000 10010001 10010010 10010011 10011000 10011001 10011010 10011011
ACKA:应答信号,由外设输入,低电 平有效。
STBA: 数据选通输入信号。由外设输入, 低电平有效。
IBFA:输入缓冲器满信号,向外设输出, 高电平有效。
INTRA:中断请求信号,高电平有效。
INTE:中断允许信号 (INTE1和INTE2)。 高电平有效。
8255A 中 端 口 A 工 作 在 方 式 2 时 , 允许端口B工作于方式0或方式1,完 成输入/输出功能。4种组合状态及其 工作方式控制字格式如表11.3。
8255A 是 Intel86 系 列 微 处 理 机 的 配 套 并 行 接 口 芯 片 , 它 可 为 86 系 列 CPU与外部设备之间提供并行输入/输 出通道。
11.1 可编程并行接口芯片8255A
一、8255A的内部结构和引脚信号
1. 8255A内部结构
8255A 可 编 程 外 围 设 备 接 口 (Programmable Peripheral Interface, 简写 为PPI) ,其内部结构如图所示。
①根据8255A与CPU接口硬件电路确定 8255A四个端口的端口地址。
②根据对PC口具体哪一位操作,确定 8255A的按位置位/复位控制字内容。
③利用输出指令,将按位置位/复位控制 字送至8255A控制命令寄存器中。
11.2 8255A的应用实例
一、 8255A与打印机接口
1、用方式0与打印机接口
输入
输出
输出
输出
输入
输入
输出
输入
输入
(2) 工作方式1——选通式输入/输出方式
① 方式1选通输入 方式1操作使端口A或端口B作为锁存输入
设备工作。端口C也可按方式1操作使用——但 不是对数据,而是对控制信号,或当端口A或 端口B为选通输入端口时的握手信号。
下图示出8255A方式1选通输入时的内部 结构图。
(1)工作方式控制字: 控制字和各位的含义如图所示。
D7 D6 D5 D4 D3 D2 D1 D0
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
;初始化程序段
Mቤተ መጻሕፍቲ ባይዱV DX , 0FFFEH
MOV AL , 81H
; A口方式0输出, C口上半部输出, ;下半部输入
OUT DX , AL ; 输出工作方式字
MOV AL , 0FH ; C口的置位/复位控制字,
OUT DX , AL
; 使PC7 = 1, 即置STROBE= 1
PUSH AX
图11.4 8255A 置位/复位控制字格式
按位置位/复位控制 标志0=有效
关于控制字要说明几点:
(1) 设置方式控制字时,A口、B口作为 整体设置,而C口要分成上、下两部分分别 设置。三个端口的工作方式由一个控制字规 定。
(2) C口按位置位/复位控制字不是送到C 口地址,而是送到控制寄存器地址;且一个 控制字只能使C口一位置位或复位。
本章内容 I/O接口概述 并行接口 —— 8255A
学习目的
掌握可编程并行接口芯片 8255A的连接与编程
概述
微机系统的信息交换有并行通信 和串行通信两种方式。
并行通信是以微机的字长为传输单位; 适合于外部设备与微机之间进行近距离、 大量和快速的信息交换。
实现并行通信的接口称之为并 行接口。
目前打印机一般采用并行接口 Centronics标准,其主要信号与传送 时序如图11.12。打印机接收主机传送 数据的过程是这样的:
当主机准备好输出打印的一个数据时,通
过 8255A 把 数 据 送 给 打 印 机 接 口 的 数 据 引 脚 DATA0~DATA7,同时送出一个数据选通信号 STROBE 给打印机。打印机收到该信号后,把 数据锁存到内部缓冲区,同时在BUSY信号线上 发出忙信号。待打印机处理好输入数据时,打 印机撤消忙信号,同时向主机送出一个响应信 号 ACK 。 主 机 根 据 信 号 BUSY 或 信 号 ACK 决 定 是否输出下一个数据。
(1) 并行输入 / 输出端口A、B、C
端口A:包含一个8位数据输出锁存 器/缓冲器和一个8位数据输入锁存器,输 入输出数据均受到锁存。
端口B和C: 都包含一个8位数据输入缓 冲器和一个8位的数据输出锁存器/缓冲器, 输出数据能锁存,输入数据不锁存。
端口C:可分成两个4位端口,分别定义 为输入或输出端口,还可定义为控制、状 态端口,配合端口A和端口B工作。
A组
端口C
端口A
高4位
(PC7~PC4)
输出
输出
输出
输出
输出
输出
输出
输出
输出
输入
输出
输入
输出
输入
输出
输入
输入
输出
输入
输出
输入
输出
输入
输出
输入
输入
输入
输入
输入
输入
输入
输入
B组
端口C
端口B
低4位
(PC3~PC0)
输出
输出
输出
输入
输入
输出
输入
输入
输出
输出
输出
输入
输入
输出
输入
输入
输出
输出
输出
输入
输入
输出
输入
(4)读/写控制部件 接收来自CPU地址总线信号和控制信号,
并发出命令到两个控制组 (A组和B组)。 CS:片选信号,接CPU高位地址的译码输出
RD:读信号,RD有效,CPU读8255A的数据或状 态;
WR:写信号,WR有效,CPU向8255A写入控 制或数据信息。
RESET:复位信号。RESET有效时,清
图11.12 方式0的打印机接口
本例中,CPU与8255A采用查询方式输 出数据。端口A设置为方式0,输出打印数据, 端口C的PC7产生负脉冲选通信号,PC2连接 打印机的BUSY信号查询其状态,PC0连接打 印机的ACK信号。
假设8255A的A、B、C口的I/O地址为 FFF8H、FFFAH和FFFCH,控制端口地址为 FFFEH。
MOV DX, 0FFFEH
MOV AL,0EH OUT DX, AL
;使PC7=0,即置STROBE = 0
NOP
;适当延时,产生一定宽 度的低电平
NOP
MOV AL, 0FH ;使PC7=1,置 STROBE = 1
(2) A组和B组控制部件
A组
A口:PA0~PA7 C口的高4位:PC4~PC7
B组
B口:PB0~PB7 C口的低4位:PC0~PC3
A组,B组的控制寄存器, 接收来自数据总线的控制字, 并根据控制字确定各端口的工 作状态和工作方式。
(3) 数据总线缓冲器
三态双向8位缓冲器,是8255A与 CPU 之间的数据接口。传送输入数据、 输出数据、控制命令字。