微机接口_第九章 8255A
微机接口第九章8255Appt课件
(1) 并行输入 / 输出端口A、B、C
端口A:包含一个8位数据输出锁存 器/缓冲器和一个8位数据输入锁存器, 输入输出数据均受到锁存。
2019/9/4
9
端口B和C: 都包含一个8位数据输入缓 冲器和一个8位的数据输出锁存器/缓冲器, 输出数据能锁存,输入数据不锁存。
端口C:可分成两个4位端口,分别定义 为输入或输出端口,还可定义为控制、状 态端口,配合端口A和端口B工作。
2019/9/4
23
(3) 方式控制字和按位置位/复位控制字 均写入同一个控制寄存器地址,二者通过最 高 位 D7 来 区 别 。 D7=1 为 方 式 控 制 字 , D7=0为按位置位/复位控制字。
2019/9/4
24
2. 工作方式
(1) 方式0 —— 基本输入/输出方式 方式0是一种基本输入输出工作方式,它
2019/9/4
10
(2) A组和B组控制部件
A组
A口:PA0~PA7 C口的高4位:PC4~PC7
B组
B口:PB0~PB7 C口的低4位:PC0~PC3
2019/9/4
11
A组,B组的控制寄存器, 接收来自数据总线的控制字, 并根据控制字确定各端口的工 作状态和工作方式。
2019/9/4
12
(3) 数据总线缓冲器
1. 8255A内部结 构
8255A 可 编 程 外 围 设 备 接 口 (Programmable Peripheral Interface, 简写 为PPI) ,其内部结构如图所示。
2019/9/4
7
A组控制 部件
双向 数据总线 缓冲器
D7~D0
RD WR
AA01
CS RESET
第9章8255A
对于这种选通的输入方式,如果采用查询式输入时,CPU先 查询8255A的输入缓冲器是否满了,也就是IBF是否为高? 如果输 入缓冲器满信号IBF为高,则CPU就可以从8255A读入数据。如 果采用中断方式传送数据时,应该先用C口置位/复位控制字使相 应的端口允许中断,也就是要使PC)
(b)
图9.1 8255内部结构和引脚图
(a) 8255A内部结构;(b) 8255A外引脚图
PA4 PA5 PA6 PA7 WR
RESET
D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3
二、 读写控制逻辑
用于管理所有内部或外部数据、控制字和状态字的传送。 它接收来自CPU地址总线的A1、A0和控制总线的有关信号,然 后向8255A的A、B两个组发送命令。
;对PC3完成置0操作 ;PC7置1控制字送AC ;完成对PC7置1操作
9.1.3 8255A的工作方式和C口状态字
8255A有三种工作方式,即方式0—基本输入输出方式,方 式1—选通输入输出方式和方式2—双向选通方式,通过向 8255A的控制字寄存器写入方式选择控制字,就可以规定各端 口的工作方式。当8255A工作于方式l和方式2时,C口可提供A 口或B口的联络信号,用输入指令可以读取C口的状态。
D7 D6 D5 D4 D3 D2 D1 D0 1 0 1 1 I/O
D7 D6 D5 D4 D3 D2 D1 D0 1 0 1 1 I/O 1 1
D7 D6 D5 D4 D3 D2 D1 D0
1
11
方式1
PC7、 PC6 1= 输 入
0= 输 出 A端 口 为 输 入
PC7、 PC6 1= 输 入
D7 D6 D5 D4 D3 D2 D1 D0
A12可编程外围接口芯片8255A及其应用.ppt
一、8255A的结构和功能
D7~D0 数据 总线
RD o WR o 读/写 A0 控制 A1 逻辑 RESET CS o
CPU接口
内 A组控制 部
总 线
B组控制 内部逻辑
A口 上C口 下C口
PA7~PA0 PC7~PC4 PC3~PC0
PB7~PB0 B口
外设接口
(一) 数据端口
8255A内部包含3个8位
(4)
PC4
PC0
PC1
端口 B(8)
PB7~PB0
PC2 PC3
PB0
PB1
PB2
1
40
2
39
3
38
4
37
5
36
6
35
7
34
8
33
9
32
10
31
8255A
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
(a)
(b)
8255内部结构和引脚图
(a) 8255A内部结构;(b) 8255A外引脚图
PA4 PA5 PA6 PA7 WR
RESET
D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3
可编程并行接口芯片应具有的功能:
(1) 具有两个以上的输入/输出数据端口(锁存/缓冲); (2) 每个数据端口有与CPU用应答方式交换信息所必须 的控制和状态信息;也有与外设交换信息所必须的控制和 状态信息; (3) 通常每个数据端口还具有能用中断方式与CPU交换信 息所必须的电路; (4) 具有进行片选和读写控制的电路; (5) 可编程(由程序来选择数据端口,数据传送方向, 交换信息的方式等)。
微机原理 可编程接口芯片8255A及应用
第七章
参考程序片断: MOV AL, 10010000B ; 控制字 OUT 0F6H, AL ; 写入控制字 LP: IN AL, 0F0H ; 从A口读入开关状态 OUT 0F2H, AL ; B口控制LED,指示开关状态 CALL DELAY1S JMP LP
思考:
若地址大于FFH,则程序应该怎么改?
dp g f e d c b a
g
d
b
c
DP
g f e d c b a 1
阴 极
0
1
1
0
1
36
1
0
第七章
十六进制数共阴极的七段显示码表
十六进制数字
0 1 2 3 4 5 6
七段显示码
3FH 06H 5BH 4FH 66H 6DH 7DH
十六进制数字
8 9 A b C d E
七段显示码
7FH 6FH 77H 7CH 39H 5EH 79H
内部逻辑 6
端口C (低4位)
B 组B 端口
PC3~PC0
(8位)
PB7~PB0
CPU接口
外设接口
第七章
8255A与系统的连接示意图
7
第七章
3、各部分功能简介
数据端口
A、B、C:可用来和外设传送信息;每
个端口8位,通过编程设定其为输入口或输出口;
工作方式 0 1 8255数据端口功能表 B口 A口 C口
教材第九章内容
第七章
可编程外围接口芯片8255A及其应用
7.1 8255A的工作原理
一、8255A的结构和功能
二、8255A的控制字及初始化编程 三、8255A工作方式和C口状态字
微机接口与技术提纲第九章8255作业答案
一、知识点:基本概念1.一片8255A端口A有( 3 )种工作方式,端口B有( 2 )种工作方式。
2. 在8255可编程并行接口芯片中,可用于双向选通I/O方式(即方式2)的端口为( A )A. PA口B. PB口C. PC口D. PA和PB3、8255A控制字的最高位D7 = 0 时,表示该控制字为C口按位控制字。
4. 在8255可编程并行接口芯片中,可用于双向选通I/O方式(即方式2)的端口为( A )。
A. PA口B. PB口C. PC口D. PA和PB5.8255A控制字的最高位D7 =(1)时,表示该控制字为方式控制字。
6. 8255A的每个端口的数据寄存器长度为(8)位。
7、8255A的工作方式的三种工作方式分别为:方式0:基本输入输出方式;方式1:选通输入输出方式;方式2:双向选通传送方式。
8.如果CPU通过8255A端口C的某一条线向外部输出连续的方波信号,请:说出两种实现方法;并具体说明怎样实现。
(不必编程)(8分)答:可用2种方法实现:①8255A工作于方式O时,端口C可以指定为输出。
每隔1/2方波周期改变其中一位的状态,其它位不变。
就可以通过端口C的某一条线输出连续的方波。
②用对端口C某一位置位/复位的方法实现。
即每隔1/2方波周期时间,对端口C 的某一位交替进行置位、复位,即可从端口C的某一条线输出连续的方波。
二、知识点应用题1、接口电路如图所示:已知8255A控制字寄存器的端口地址为10EH,编写8255A初始化程序和循环彩灯控制程序。
初始时D0亮,其余不亮,D0亮一秒后移位一次,D1亮,其余不亮,以此类推每隔一秒移位一次,每移位8次为一个循环,共循环8次。
要求用汇编语言写出满足上述要求的程序段(已知一个延时1秒的子程序入口地址为DELAY1S)。
分析8255的控制字:80H(D7=1,D2、D0=0)程序如下:CODE SEGMENTASSUME CS:CODEST:MOV AL,80HMOV DX,10EHOUT DX,ALMOV CX,64MOV AL,1MOV DX,10AHNEXT1:OUT DX,ALCALL DELAY1SDEC CX,JZ NEXT2ROL AL,1JMP NEXT1DELAY1S:。
8255 a
A0
D7
D6
D5
D4
D3
D2
D1
D0
1
S7
S6
S5
S4
S3
S2
S1
S0
1:主片的IR连有从片
0:主片的IR没连从片
从片ICW3
A0
D7
D6
D5
D4
D3
D2
D1
D0
1
0
0
0
0
0
ID2
ID1
ID0
从片的INT(中断请求线)引脚到主片的某个IR引脚的编号:000-111
ICW4优先级排队方式和中断结束方式
双8拍:AB-ABC-BC-BCD-CD-CDA-DA-DAB
Ad-….
00000101-00010101-00010100-01010100-01010000-01010001-01000001-01000101
05H-15H-14H-54H-50H-51H-41H-45H
3000H-3001H-3002H-3003H-3004H-3005H-3006H-3007H-
D4
D3
D2
D1
D0
0:复位/置位
1:工作方式
A工作方式
A口I/O
C口高4位I/O
PC7~PC4
B工作方式
B口I/O
C口低4位I/O
PC3~PC0
1
00:0方式
01:1方式
10:2方式
11:不用
0:输出
1:输入
0:输出
1:输入
0:0方式
1:1方式
0:输出1:输入源自0:输出1:输入1
00
第9章并行接口8255APPT课件
第10章并行接口芯片8255A 1 / 111
Shanghai Jiaotong University
《Microcomputer Technology》 cs.sjtu 2020/8/1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
PB口 0:输出 1:输入
第10章并行接口芯片8255A 11 / 111
Shanghai Jiaotong University
《Microcomputer Technology》 cs.sjtu 2020/8/1
8255A的置位/复位控制字D7 = 0
如下程序段:(设8255A的命令端口地址为63H)
第10章并行接口芯片8255A 19 / 111
Shanghai Jiaotong University
《Microcomputer Technology》 cs.sjtu 2020/8/1
注意其中一个细节: INTE信号是中断允许位,如何设定? STB信号可以仅使用它的引脚,而不 必使用其相应的位(PC4、PC2)
第10章并行接口芯片8255A 5 / 111
Shanghai Jiaotong University
《Microcomputer Technology》 cs.sjtu 2020/8/1
❖ 并行端口A、B、C
端口A: PA7~0 8位数据输出锁存器/缓冲器 8位数据输入锁存器
端口B: PB7~0 8位数据输出锁存器/缓冲器 8位数据输入缓冲器
《Microcomputer Technology》 cs.sjtu 2020/8/1
微机原理与接口技术---8255A讲解
中断传送方式 查询传送方式
读入C口的状态字 适用的外设:具体输入和输出功能,且不是同时进行
的
可编程并行接口芯片8255A
8255A的应用举例
书 P279 例10-1
分析过程 设计过程
硬件连接 软件编程
书 P281 例10-2
采用查询方式 采用中断方式
A口和B口工作方式是由写入控制寄存器的 工作方式控制字决定的
A口和B口的工作方式的设置是相互独立的
可编程并行接口芯片8255A
8255A的工作方式
方式0:基本的输入/输出方式
特点:
不使用固定的联络信号 两个8位端口,两个4位端口 端口可作为输入/输出,各端口的输入/输出可以有16
可编程并行接口芯片8255A
8255A的工作方式
方式1:选通的输入/输出方式
方式1输出时规定的联络信号
可编程并行接口芯片8255A
8255A的工作方式
方式1:选通的输入/输出方式
方式1输出时规定的联络信号
OBF(Output Buffer Full):输出缓冲器满信号,低电 平有效。该信号由8255A送给外设。当它有效时,通 知外设可以从A口或B口取走CPU写入的数据
ACK(Acknowledge):响应信号,低电平有效。该 信号作为的应答信号,是由外设送给8255A。当它有 效时,表示外设已经从8255A的A口或B口取走了数据
可编程并行接口芯片8255A
8255A的工作方式
方式1:选通的输入/输出方式
方式1输出时规定的联络信号
INTR(Interrupt Request):中断请求信号,高电 平有效,用于8255A向CPU提出中断申请
9.第九章 可编程外围接口芯片8255A及其应用
☀ 8086系统中,若8255的8根数据线接在系统数据线的低八位,8255占用连
续4个I/O偶地址:X 0, X 2, X 4 , X 6 A2 A1 A0 … 8086 A1 A0 0 … 8255 0 0 0 ……. 端口A (X 0) 0 1 0 ……端口B (X 2) 1 0 0 ……端口C (X 4) 1 1 0 …….控制口 (X 6)
1
1
0
1
C口
控制寄存器
◆ 8255A的A1A0、/RD、/WR、/CS组合起来实现的基本操作如表9-1所示。
表9-1
8255的基本操作
◆ 与地址总线的连接:与8253一样, ♣ 在8位数据总线CPU系统中,端口输入端A1A0分别与地址总线A1A0相连即可。 ♣ 在16位数据总线CPU系统中,地址总线A2A1连到8255A的A1A0端。若 8255A的 D7~D0接在CPU 的低8位数据线上,则要用偶端口地址来寻址8255A(A0=0);而 D7~D0 接在CPU 的高8位数据线上,则要用奇端口地址来寻址8255A(A0=1)。
二、8255A的控制字
8255A有两类控制字:
① 方式选择控制字(用于各个端口) ② 置位/复位控制字(用于对C口的任一位 的置位/复位操作) 这两类控制字,都被写入一个控制寄存器中。 8255A用控制字的D7位(=1或0)来区分这两类
控制字。 D7位 称为标志位(或特征位)
D7=1:方式选择控制字
第九章 可编程外围接口芯 片8255A及其应用
9-1 8255A的工作原理 9-2 8255A的应用举例
9-1 8255A的工作原理
一、8255A的结构和功能
8位数据端 口PA
端口 选择 地址 线
第9章 8255A(20150524)
0
0 0 1 1 1 1 0
1
1 1 0 0 0 0 1
读端口A
读端口B 读端口C 写端口A 写端口B 写端口C 写控制字 非法状态
1
0
X
X
X
X
X
1
X
1
数据总线高阻状态
数据总线高阻状态
微型计算机原理与应用
4.8255A控制字
8255A控制字用于设置8255A的工作方式,有两类控制字: (1) 方式选择控制字 (2) 置位/复位控制字(用于对端口C的位操作) 两类控制字使用同一个端口地址,为了区分,采用标志位 的方法,用D7位区分,D7=1表示方式选择控制字,D7=0表示置 位/复位控制字。
微型计算机原理与应用
INTR:中断申请信号(高电平或上升沿有效) STB、IBF、INTE(中断允许信号)均为1时,8255A自动 发出INTR,用来向CPU发出中断申请。 INTRA— PC3 INTRB— PC0 该信号由C口的PC3和PC0输出给CPU。 INTE • A组内部有中断允许触发器INTEA。 • B组内部有中断允许触发器INTEB。
微型计算机原理与应用
(2) 方式1(选通输入输出方式) ①工作特点 与方式0不同,它要利用端口C所提供的选通信号和应答信号, 来控制A口和B口输入/输出操作。 PA、PB可以分别作为数据输入、输出端口,四种组合。 PC口的某3根引脚作为联络信号。 其间使用C口的6根线(PC0—PC5)作为控制线,此时总会有 其它2根线( PC6、PC7)通过控制字中的D3位设置可作为输入或输 出线。
0D4H,控制口地址:0D6H MOV AL,81H ;10000001 设置方式字 OUT 0D6H,AL MOV AL,0DH ;① PC6置1,0DH=00001101 OUT 0D6H, AL LPST: IN AL,0D4H ;读PC口 AND AL,04D ;② 打印机忙否(PC2 =BUSY=?) JNZ LPST ;PC2=1,打印机忙,等待 MOV AL, CL OUT 0D0H, AL ;③ AL中的字符送PA口 MOV AL, 0CH OUT 0D6H, AL ;④ 置PC6=0,即=0;00001100=0CH INC AL OUT 0D6H, AL ;置PC6=1,即=1,00001101=0DH ┆
专接本汇编9(并行接口8255A)
8255A的工作方式1—输出
数信系
8255A的工作方式1—输出
PC3和PC0指定为INTR信号,这是中断请求信号,高电平有效。 当ACK=1,OBF=1,INTE=1时,中断请求有效,INTR=1.该信号 由WR信号下降沿清0。 INTEA由PC6控制,INTEB由PC2控制。
8255A的工作方式1—输入
STB:外设给8255A的“输入选通”信号,低电平有效。
PC4 和PC2 指定为STB信号,这是设备的选通输入信号,低电平 有效。由外设提供该信号。STB的下降沿将端口数据线上的数 据打入端口锁存器。
数信系
8255A的工作方式1—输入
PC5和PC1指定为IBF信号,这是输入缓冲器满信号,高电 平有效,它是由8255A提供给外设的回答信号,IBF为高 电平表示外设已将数据打入端口锁存器,但CPU还未读取, 当CPU读取端口数据时,IBF变为低电平。所以,IBF信 号是由STB的下降沿置位,由RD的上升沿复位。
当找到一个确定的外部设备以后,接下来的问题
就是如何同它进行信息交换,这就是输入/输出控
制方式所解决的问题。
数信系
输入/输出控制方式
程序控制方式 1) 无条件传送方式 2) 条件传送方式 中断控制方式 直接存储器存取方式(DMA方式) 输入/输出处理机方式
数信系
程序控制方式--无条件传送方式
好状态或输出外设为空闲状态时,则CPU执行传送
数据指令。
条件传送方式的接口电路包括:传送数据的端口和 传送状态的端口。
数信系
条件传送方式输入接口电路图
数信系
条件输入数据的程序段
设状态口的地址为PORT,输入数据口的地址为PORTD,传输数据的总
第9讲可编程并行接口8255A(1)
C口高位输入输出选择: 0=输出
1=输入
D7=1
A口输入输出选择:
0=输出 01=方式1,
选通输入输出
1=输入 1X=方式2
双向选通输入输出 13/30
A口工作方式选择:00=方式0, A口工作状态为:基本输入输出
3种工作方式说明
D7 D6 D5 D4 D3 D2 D1 D0
8255的24条I/O线全部用作传送数据 不设专用应答线常用于无条件传送 输出有锁存,输入无锁存有缓冲
A、B口传送数据,C口部分引脚指定为 固定的专用应答线 用于查询(条件)传送或中断传送 数据输入输出都有锁存功能 A为双向输入输出口, C的5条线为专用应答线
D7=1
A口工作方式选择:00=方式0, A口工作状态为:基本输入输出 01=方式1,
方式0查询法工作
当采用查询方式传送数据时,利用端口C的高4位和低4 位能分别作为输入或输出的特点,配合端口A和端 口B进行输入数据和输出数据的操作, 即A口和B口传送数据,C口的高4位和低4位分别用来传 送控制外设的控制信息和采集外设的状态信息。
CPU向控制端口写入方式控制字,决定各端口是输入数据
还是输出数据。传送数据的方法一般采用无条件传送方式 或查询传送方式。 方式1——选通输入输出方式。 方式2——双向选通输入输出方式。仅A口可以使用这种方式。 本节主要介绍方式0的应用。
17/30
方式0无条件输出举例(1)
【例】 设8255A端口A工作在方式0下,通过A口输出数 据控制8个指示灯轮流点亮。电路连接如下图所示。 (地址为04A0H~04A6H)
JNZ LLL
LED动态显示程序清单(3)
MOV AX , WORD PTR [DI]
可编程外围接口芯片8255A及其应用ppt课件
2020/12/31
× ×× 1 1
功能
对端口A 读
对端口B 读
输
对端口C 读 非法,不能对控制口读 入
对端口A 写
对端口B 写
输
对端口C 写
对控制口 写
出
数.据缓冲器为三态
断 开
端口 A B C
控制口
10
⑵ 面向外设的引脚信号及功能 • PA0-PA7:A组数据信号,用来连接外设; • PB0-PB7:B组数据信号,用来连接外设; • PC0-PC7:C组数据信号,用来连接外设或者作为控制信号。
2020/12/31
.
3
一、 8255A的结构和功能
图9.1 8255A的引脚图
2020/12/31
.
4
1.三个数据端口A,B,C 这三个端口均可看作是I/O口,但 它们的结构和功能也稍有不同。 ·A口:是一个独立的8位I/O口, 它的内部有一个8位的数据输出锁 存器/缓冲器,一个8位的数据输 入锁存器,A口输入输出时数据均 能锁存。
2020/12/31
.
6
3.数据总线缓冲器 8位的双向的三态缓冲器。作为8255A与系统总线连接的界面,输入/输 出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息, 都是通过它来传输的。 4.读/写控制逻辑 读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号及 系统读信号、写信号、复位信号RESET,还有来自系统地址总线的口地 址选择信号A0和A1。
2.A组和B组的控制电路
这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控
微机原理与接口技术课件 第九讲 并口与8255A
20
方式2:双向选通输入输出方式
方式2将方式1的选通输入输出功能组合成一个双向 数据端口,可以发送数据和接收数据 只有端口A可以工作于方式2,需要利用端口C的5个 信号线,其作用与方式1相同 输入/输出数据都能锁存 方式2的数据输入过程与方式1的输入方式一样 方式2的数据输出过程与方式1的输出方式有一点不同 数据输出时8255A不是在OBF#有效时向外设输出 数据,而是在外设提供响应信号ACK时才送出数 21 据
CPU PA7~PA0
INTE1
I/O设备
PC6
PC7
ACKA OBFA STBA IBFA INTRA
用PC6设置INTE1(输出用) 用PC4设置INTE2(输入用)
INTE2 PC4
输入和输出中断通过
或门输出INTRA信号
PC5
PC3
22
1. 方式控制字
23
2. C口按位置位/复位控制字
3
并行接口芯片8255A
具有多种功能的可编程并行I/O接口电路芯片 为Intel系列微处理器设计的配套电路,也可用于 其它微处理器系统中 在微型计算机系统中,用8255A作接口时,通常不需 要附加外部逻辑电路就可以为CPU与外设之间提供 数据通道,因此得到了极广泛的应用。
4
8255A的引脚
8
数据端口
端口C:PC0~PC7 包含一个8位的数据输入缓冲器,一个8位的数据输 出锁存器/缓冲器,无输入锁存功能 仅支持工作方式0 可作数据、状态和控制端口 分两个4位,每位可独立操作 A组控制高4位PC4~PC7 B组控制低4位PC0~PC3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OUT DX , AL
PUSH AX
PUSH DX
PM: MOV DX , 0FFFCH
IN AL, DX AND AL, 04H JNZ PM MOV DX, 0FFF8H MOV AL, AH OUT DX, AL MOV DX, 0FFFEH MOV AL,0EH OUT DX, AL
;查询PC2 ;BUSY=0? ;忙,则等待,D2=1 表示忙 ;不忙,则输出数据
图11.4 8255A 置位/复位控制字格式
关于控制字要说明几点:
(1) 设置方式控制字时,A口、B口作为
整体设置,而C口要分成上、下两部分分别
设置。三个端口的工作方式由一个控制字规
定。
(2) C口按位置位/复位控制字不是送到C
口地址,而是送到控制寄存器地址;且一个
控制字只能使C口一位置位或复位。
(3) 方式控制字和按位置位/复位控制字均
写入同一个控制寄存器地址,二者通过最高
位D7来区别。D7=1为方式控制字,D7=0为按
位置位/复位控制字。
2. 工作方式
(1) 方式0 —— 基本输入/输出方式 方式0是一种基本输入输出工作方式,它
的24条I/O线可以全部都用作传送数据,不设
置应答信号线,常用于无条件传送,输出有锁 存,输入只有缓冲能力而无锁存功能。
方式0控制字具体格式如图11.5所示
图11.5 8255A工作方式0控制字格式
由控制字中D4D3D1D0 等4位的不同 取值,可定义方式0的16种工作方式的组 合,如表11.2所示。 方式0中,端口C被分成两个4位 端口,它们可被定义为输入或输出端 口,CPU与3个端口之间交换数据, 可直接由CPU执行IN和OUT指令来完 成。
本章内容 I/O接口概述 并行接口 —— 8255A
学习目的
掌握可编程并行接口芯片 8255A的连接与编程
概 述
微机系统的信息交换有并行通信 和串行通信两种方式。 并行通信是以微机的字长为传输单位; 适合于外部设备与微机之间进行近距离、 大量和快速的信息交换。
实现并行通信的接口称之为并 行接口。
不是对数据,而是对控制信号,或当端口A或 端口B为选通输入端口时的握手信号。
下图示出 8255A 方式 1 选通输入时的内部 结构图。
图11.6工作方式1输入控制字格式
(a)端口A方式1输入
(b)端口B方式1输入
图11.7方式1输入端口状态
STB:选通信号。由外设输入,低电平 有效。
IBF:输入缓冲器满信号 ,向外设输 出,高电平有效。
印机撤消忙信号,同时向主机送出一个响应信
号ACK。主机根据信号BUSY或信号ACK决定
是否输出下一个数据。
图11.12 方式0的打印机接口
本例中,CPU与8255A采用查询方式输 出数据。端口A设置为方式0,输出打印数据, 端口C的PC7产生负脉冲选通信号,PC2连接 打印机的BUSY信号查询其状态,PC0连接打 印机的ACK信号。 假设8255A的A、B、C口的I/O地址为 FFF8H、FFFAH和FFFCH,控制端口地址为 FFFEH。
INTE:中断允许信号 (INTE1和INTE2)。 高电平有效。
8255A中端口A工作在方式2时, 允许端口B工作于方式0或方式1,完
成输入/输出功能。4种组合状态及其
工作方式控制字格式如表11.3。
表11.3 方式2的组合状态与控制字格式
3. 8255A的工作方式初始化(初始化)
①根据8255A与CPU接口硬件电路图确 定8255A四个端口地址。 ②根据8255A的具体应用,确定8255A工 作方式控制字内容。 ③利用输出指令,将工作方式控制字送 至控制命令寄存器中。
(3) 数据总线缓冲器
三态双向8位缓冲器,是8255A与 CPU 之间的数据接口。传送输入数据、 输出数据、控制命令字。
(4)读/写控制部件 接收来自CPU地址总线信号和控制信号, 并发出命令到两个控制组 (A组和B组)。 CS:片选信号,接CPU高位地址的译码输出 RD:读信号,RD有效,CPU读的数据或状 态;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
10000000 10000001 10000010 10000011 10001000 10001001 10001010 10001011 10010000 10010001 10010010 10010011 10011000 10011001 10011010 10011011
读写控制部件、 A 组和 B 组控制部件、端口 A、B、C。
(1) 并行输入 / 输出端口A、B、C
端口A:包含一个8位数据输出锁存 器/缓冲器和一个8位数据输入锁存器,输 入输出数据均受到锁存。
端口B和C: 都包含一个8位数据输入缓 冲器和一个8位的数据输出锁存器/缓冲器, 输出数据能锁存,输入数据不锁存。 端口C:可分成两个4位端口,分别定义
表11.2 方式0的工作状态组合
A组
序号 控制字 D7,…,D0 端口A 端口C 高4位 (PC7~PC4) 输出 输出 输出 输出 输入 输入 输入 输入 输出 输出 输出 输出 输入 输入 输入 输入 端口B
B组
端口C 低4位 (PC3~PC0) 输出 输入 输出 输入 输出 输入 输出 输入 输出 输入 输出 输入 输出 输入 输出 输入
4. 8255A中PC口置位/复位操作
①根据8255A与CPU接口硬件电路确定
8255A四个端口的端口地址。
②根据对PC口具体哪一位操作,确定
8255A的按位置位/复位控制字内容。
③利用输出指令,将按位置位/复位控制
字送至8255A控制命令寄存器中。
11.2 8255A的应用实例
一、 8255A与打印机接口
为输入或输出端口,还可定义为控制、状
态端口,配合端口A和端口B工作。
(2) A组和B组控制部件
A组
A口:PA0~PA7
C口的高4位:PC4~PC7 B口:PB0~PB7 C口的低4位:PC0~PC3
B组
A组,B组的控制寄存器, 接收来自数据总线的控制字,
并根据控制字确定各端口的工
作状态和工作方式。
1、用方式0与打印机接口
目前打印机一般采用并行接口 Centronics标准,其主要信号与传送 时序如图11.12。打印机接收主机传送 数据的过程是这样的:
当主机准备好输出打印的一个数据时,通
过 8255A 把 数 据 送 给 打 印 机 接 口 的 数 据 引 脚
DATA0 ~DATA7 ,同时送出一个数据选通信号 STROBE 给打印机。打印机收到该信号后,把 数据锁存到内部缓冲区,同时在BUSY信号线上 发出忙信号。待打印机处理好输入数据时,打
8255A是Intel86系列微处理机的 配 套 并 行 接 口 芯 片 , 它 可 为 86 系 列 CPU与外部设备之间提供并行输入/输 出通道。
11.1 可编程并行接口芯片8255A
一、8255A的内部结构和引脚信号
1. 8255A内部结构
8255A 可 编 程 外 围 设 备 接 口 (Programmable Peripheral Interface, 简写 为PPI) ,其内部结构如图所示。
当A1A0=11时 选择控制端口
表11.1 8255A的读写操作控制
二 、 8255A的控制字及其工作方式
8255A共有两个控制字:即工作方 式控制字和对C口置位/复位控制字。 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 方式设置标志 1=有效
方式1输出端口A
PA7~0
方式1输出端口B
PB7~0
OBFA ACK A
PC7 INTEA PC6 PC3 PC4,5 WR
PC1
OBFB ACK B
INTEB
PC2
INTRA
PC0
INTRB
2
I/O
WR
(a)端口A方式1输出
(b)端口B方式1输出
图11.9 方式1输出端口状态
OBF:输出缓冲器满信号。向外设 输出,低电平有效。
通道C
PC7 外设接口
图11.2 8255A引脚定义
* PA7~PA0:A端口数据信号引脚 * PB7~PB0:B端口数据信号引脚
* PC7~PC0:C端口数据信号引脚 * D7~D0: 8255A的8位数据线
* A1~A0:
端口选择信号 选择端口A
当A1A0=00时
当A1A0=01时 选择端口B 当A1A0=10时 选择端口C
INTR:中断请求信号,高电平有效。
INTE:中断允许信号,它是通过端 口PC4(端口A)或PC2(端口B)的
位来编程的内部位。
② 方式1选通输出 当端口A或端口B为方式1输出时,各 指定PC的3条线作为8255A与外设及CPU之 间应答信号。下图为方式1选通输出操作的
内部结构图。
图11.8 方式1输出控制字格式
;初始化程序段 MOV DX , 0FFFEH MOV AL , 81H ; A口方式0输出, C口上半部输出, ;下半部输入 OUT DX , AL MOV AL , 0FH ; 输出工作方式字 ; C口的置位/复位控制字, ; 使PC7 = 1, 即置STROBE= 1 ;输出打印数据子程序, 打印数据 ; 在AH中