2009-7-31 1
微机原理及应用第十章 并行接口芯片微机原理及应用 —— 第 10章 并行接口芯片 2
8255A是 INTER系列的并行接口芯片。它是可编程的,
可以通过软件来设置芯片的工作方式。
一,8255A的内部结构
1,数据端口 A,B,C
每个端口:输入带缓冲寄存器,
输出带锁存寄存器。
2,A组控制和 B组控制
3,读 /写控制逻辑电路
4,数据总线缓冲器
10.1 可编程并行 接口 8255A
微机原理及应用 —— 第 10章 并行接口芯片 3
微机原理及应用 —— 第 10章 并行接口芯片 4
5.读写控制信号
RESET:复位信号,高电平平有效。
D7~D0,和数据线相连。
CS,芯片选择信号,低电平有效。
RD,芯片读出信号,低电平有效。
WR,芯片写入信号,低电平有效。
A1,A0:端口选择信号 。
A1,A0=00,选中端口 A;
A1,A0=01,选中端口 B;
A1,A0=10,选中端口 C;
A1,A0=11,选中控制端口 ;
10.1 可编程并行 接口 8255A
微机原理及应用 —— 第 10章 并行接口芯片 5
8255的引脚微机原理及应用 —— 第 10章 并行接口芯片 6
思考:
8255占用几个端口地址?各个端口分别对应什么?
端口 C可以分为两组吗?
10.1 可编程并行 接口 8255A
微机原理及应用 —— 第 10章 并行接口芯片 7
控制字,分为两类
端口的方式选择控制字,可使 8255A的 3个数据端口工作在不同的方式。
C端口按位置 1/0控制字,它可使 C端口中的任何 一位 进行置位或复位。
8255A的 3种基本工作方式,
方式 0:基本的输入 /输出方式
方式 1:选通的输入 /输出方式
方式 2:双向的传输方式
10.1 可编程并行 接口 8255A
微机原理及应用 —— 第 10章 并行接口芯片 8
1.方式控制字
10.1 可编程并行接口 8255A
微机原理及应用 —— 第 10章 并行接口芯片 9
例 10:设 A端口工作方式 0,输出,
B端口工作于方式 0,输入。
方式选择控制字:
1 0 0 0 1/0 0 1 1/0 = 82H
方式选择
A
口方式
0
A
口输出
C
口高位不用
B
口方式
0
B
口输入
C
口低位不用
10.1 可编程并行接口 8255A
微机原理及应用 —— 第 10章 并行接口芯片 10
注意:
端口 A可以工作在 方式 0、方式 1或方式 2;端口 B
只能工作在 方式 0或方式 1;端口 C则常常配合端口
A和端口 B工作。
10.1 可编程并行 接口 8255A
微机原理及应用 —— 第 10章 并行接口芯片 11
2,端口 C置 1/0控制字
1=置 1
0=置 0
0
D7 D6 D5 D4 D3 D2 D1 D0
端口 C
置 1/0
控制字标志
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
图 端口 C置 1/0控制字
10.1 可编程并行 接口 8255A
微机原理及应用 —— 第 10章 并行接口芯片 12
注意:
C端口置 1/0控制字尽管是对端口 C进行操作,
但此控制字 必须写入控制口,而不是写入 C
端口。
置 1/0控制字的 D0决定了是置 1操作还是置 0
操作。
置 1/0控制字的 D3,D2,D1位决定了对 C端口的那一位进行操作。
10.1 可编程并行 接口 8255A
微机原理及应用 —— 第 10章 并行接口芯片 13
例,设 8255A的控制口地址为 00EEH,要求对端口 C
的 PC7置 1,则控制字 00001111B=0FH,要求对端口 C的 PC3置 0,控制字为 00000110B=06H。
下面的程序可以实现上述要求:
MOV AL,0FH ;对 PC7置 1的控制字
MOV DX,00EEH ;控制口地址送 DX
OUT DX,AL ;对 PC7置 1操作
MOV AL,06H ;对 PC3置 0的控制字
OUT DX,AL ;对 PC3进行置 0的操作
10.1 可编程并行接口 8255A
微机原理及应用 —— 第 10章 并行接口芯片 14
8255A的工作方式 0
8255A的 3种基本工作方式:
方式 0:基本的输入 /输出方式
方式 1:选通的输入 /输出方式
方式 2:双向的传输方式
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 15
一、方式 0--基本输入输出方式功能
① 任何一个端口可以作为输入口,也可以作为输出口。
② 各个端口输入或输出,可以有 16种不同的组合,
所以可以适用于多种使用场合。
方式 0使用场合两种,一种是同步传送,
另一种是查询式传送。
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 16
10.2 8255A工作方式特点
1) 0方式是一种 基本输人/输出 工作方式。不用联络信号,或不使用固定的联络信号,因此,所谓基本 I/0方式是指查询方式传送,
也包括无条件传送。
2)在 0方式下,彼此独立的两个 8位和两个 4位并行口,共 24根 I/O
线全部由用用户支配,都能被指定作为输入或者作为输出用,
共有 16种不同的使用组态。要特别强调的是,在 0方式下,只能把 C口的高 4位为一组或低 4位为一组同时输人或输出,不能再把
4位中一部分作为输入,另一部分作为输出。
微机原理及应用 —— 第 10章 并行接口芯片 17
10.2 8255A工作方式
3)在 0方式下,不设置专用联络信号线,需要联络时,
可由用户任意指定 C口中的哪根线完成某种联络功能,
这与后面要讨论的在 l方式,2方式下设置固定的专用联络信号线不同。由于无固定的专用联络信号,因此也就在端口与 I/O设备之间无固定的时序关系。
4)是单向 I/O,一次初始化只能指定端口( PA,PB和
PC)作输入或作输出,不能指定端口同时既作输入又作输出。
微机原理及应用 —— 第 10章 并行接口芯片 18
方式 0的时序
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 19
例,用 8255A控制三个发光二极管依秩序循环显示。
8255A
A0
A1
CS
+5V
200
译码器
D7 ~D0
地址线
8088
CPUA0
A1
A0
PA0
PA1
PA2
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 20
用 8255A控制三个发光二极管显示。 8255A的端口地址为:
A 端口,340H
B 端口,341H
C 端口,342H
控制口,344H
试编写 8255初始化程序段和控制三个发光二极管显示程序段。
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 21
开始
8255A初始化延时
BX?显示代码地址
CX=0?
Y
N
BX=BX+1
CX=CX-1
CX? 3
输出到 A口
1、程序框图:
微机原理及应用 —— 第 10章 并行接口芯片 22
2、软件设计
1)设 A口为输出口,方式 0。 B口输入,方式 0,则方式选择控制字为 82H。
2) A口输出代码:
0000 0110 06H,1号发光二极管亮
0000 0101 05H,2号发光二极管亮
0000 0011 03H,3号发光二极管亮
3)软件延时
(1).1ms的软件延时参考程序:
设系统的 CPU的频率为 8MHZ,则时钟节拍为:
0.125微秒。执行 PUSHF,POPF,LOOP指令需 29个节拍。延迟 1毫秒要循环的次数:
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 23
参考程序:
DATA SEGMENT
COTR EQU 344H ; 8255A控制口地址
PB_A EQU 340H ; 8255A的 A口地址
LED DB 06H,05H,03H; LED显示值
DATA ENDP
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
…...
MOV DX,COTR
MOV AL,82H ;方式 0
OUT DX,AL ;A口为输出,B口为输入
MOV DX,PB_A ;A口地址
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 24
LP,MOV CX,3
LEA BX,LED ; 1号灯代码地址
DON,MOV AL,[BX]
OUT DX,AL ;1,2,3循环点亮
CALL DELAY ;调延时程序
INC BX
DEC CX
JNZ DON
JMP LP
DEALY PROC NEAR ;软件延时
….
DEALY ENDP
CODE ENDS
END
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 25
方式 1— 选通的输入输出方式
数据输入输出要在 选通信号 控制下工作,
端口 A和 端口 B可以分别作为两个数据口工作于方式
1,并且,任何一个端口可以为输入口或输出口 。
1)方式 1输入,A口控制信号的定义,
1 0 1 1 1/0
D7 D6 D5 D4 D3 D2 D1 D0
PC6.PC7
1=输入
0=输出
A口方式 1
输入
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 26
1 0 1 1 1/0
D7 D6 D5 D4 D3 D2 D1 D0
方式 1 PC6.PC7
1=输入
0=输出端口 A输入
1 1 1
D7 D6 D5 D4 D3 D2 D1 D0
端口 B输入方式 1
图 方式 1输入有关信号的规定
RD
PA7~PA0INTE
A PC4
PC5
PC3
PC6.PC7 I O
INTRA
IBFA
STBA
RD
INTE
B
PC2
PC1
PC0
PC7~PC0
STBB
IBFB
INTRB
微机原理及应用 —— 第 10章 并行接口芯片 27
选同信号输入端,低电平有效输入缓冲区满信号,
它是 8255送往 CPU的中断请求信号,高电平有效。
中断允许信号,INTE由 PC4置,1”,INTR有效
A口方式 1输入有关信号的规定
RD
PA7~PA0INTE
A PC4
PC5
PC3
PC6.PC7 I O
INTRA
IBFA
STBA
数据输入口
IBFA INTEA INTRA
D7 D6 D5 D4 D3 D2 D1 D0
微机原理及应用 —— 第 10章 并行接口芯片 28
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 29
1 0 1 0 1/0
D7 D6 D5 D4 D3 D2 D1 D0
方式 1 PC4.PC5
1=输入
0=输出端口 A输出
1 1 0
D7 D6 D5 D4 D3 D2 D1 D0
端口 B输出方式 1
WR
INTE
B
PC2
PC1
PC0
PC7~PC0
ACKB
OBFB
INTRB
图方式 1输出有关信号的规定
WR
PA7~PA0
INTE
A PC6
PC7
PC3
PC4.PC5 I O
INTRA
OBFA
ACKA
微机原理及应用 —— 第 10章 并行接口芯片 30
微机原理及应用 —— 第 10章 并行接口芯片 31
1 方式 的状 态字 格式,
A 组状 态
D7 D6 D5 D4 D3 D2 D1 D0
B 组状 态
I/O I/O I B F A I N T E A I N T R A
PC7 PC6 PC5 PC4 PC3
O B F A I N T E A I/O I/O I N T R A
PC7 PC6 PC5 PC4 PC3
I N T E B I B F B I N T R B
I N T E B O B F B I N T R B
PC2 PC1 PC0
PC2 PC1 PC0
输 入时输 出时输 入时输 出时图 7 - 1 2 1 方式 的状 态字PC口状态字微机原理及应用 —— 第 10章 并行接口芯片 32
10.2 8255A工作方式特点
a,1方式是一种选通 输人/输出 方式或叫 应答方式,因此,需设置专用的联络信号线或应答信号线,以便对 I/O设备和 CPU两侧进行联络。
b,PA和 PB为数据口,而 PC口的大部分引脚分配作专用(固定)的联络信号用,对已经分配作联络信号的 C口引脚,用户不能再指定作其他用途。
c.各联络信号线之间有固定的时序关系,传送数据时,要严格按照时序进行。
d.输人/输出操作过程中,产生固定的状态字,这些状态信息可作为查询或中断请求之用。状态字从 PC口读取。
e.单向传送。一次初始化只能设置在一个方向上传送,不能同时作两个方向的传送。
微机原理及应用 —— 第 10章 并行接口芯片 33
例,8255A端口 A工作在方式 1,A口输入,允许 A口中断,
编写初始化程序。
MOV DX,PCTR ;控制口地址送 DX
MOV AL,10110000B ; A口方式 1输入
OUT DX,AL
MOV AL,00001001B ;置 PC4=1,允许中断
OUT DX,AL ;
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 34
10.2 8255A工作方式例:两种方式并行传送接口设计
1.要求在甲乙两台微机之间并行传送 1K字节数据。甲机发送,乙机接收。
甲机一侧的 8255A采用 1方式工作,乙机一侧的 8255A采用 0方式工作。
两机的 CPU与接口之间都采用查询方式交换数据。
2.分析根据题意,双机均采用可编程并行接口芯片 8255A构成接口电路,
只是 8255A的工作方式不同。此时,双方的 8255A把对方视为 I/O设备。
3.设计
( 1)硬件连接根据上述要求,接口电路的连接如图 10-16所示。甲机 8255A是 1方式发送,因此,把 PA口指定为输出,发送数据,而 PC7和 PC6引脚分别固定作联络线 OBF*和 ACK*。乙机 8255A是 0方式接收数据,故微机原理及应用 —— 第 10章 并行接口芯片 35
10.2 8255A工作方式把 PA口定义为输入,另外,选用引脚 PC4和 PC0作联络线。虽然,两侧的 8255A都设置了联络线,但有本质的差别:甲机
8255A是 1方式,其联络线是固定的不可替换;乙机的 8255A是 0
方式,其联络线是不固定的,可以选择,比如可选择 PC4和 PC1
或 PC5,PC2等任意组合。
(2)软件编程接口驱动程序包含发送与接收两个程序。
微机原理及应用 —— 第 10章 并行接口芯片 36
甲机发送程序
MOV DX,303H ; 8255A命令口
MOV AL,10100OOOB ;初始化工作方式字
OUT DX,AL
MOV AL,ODH ;置发送中断允许 INTEA=1
OUT DX,AL ; PC6=1
MOV SI,OFFSET BUFS ;设置发送数据区的指针
MOV CX,3FFH ;发送字节数
MOV DX,300H ;向 A口写第一个数,产生第一个 OBF*
MOV AL,[SI] ;送给乙方,以便获取乙方的 ACK*信号
OUT DX,AL
INC SI ;内存地址加 1
DEC CX ;传送字节数减 1
L,MOV DX,302H ;8255A状态口
IN AL,DX ;查发送断请求 INTRA=1?
AND AL,08H ; PC3= 1?
微机原理及应用 —— 第 10章 并行接口芯片 37
甲机发送程序
JZ L ;若无中断请求,则等待;若有中断请求,则向 A口写数
MOV DX,300H ; 8255APA口地址
MOV AL,[ SI] ;从内存取数 OUT DX,AL
OUT DX,AL ;通过 A口向乙机发送第二个数据
INC SI ;内存地址加 1
DEC CX ;字节数减 1
JNZ L ;字节未完,继续
MOV AH,4CH ;已完,退出
INT 21H ;返回 DOS
BUFS DB 1024个数据微机原理及应用 —— 第 10章 并行接口芯片 38
方式 2—— 双向传输方式
①方式 2只适用于端口 A,双向并行通信
②端口 A工作于方式 2时,端口 C用 5个数位自动配合端口 A提供控制。
注意,
① 端口 A可工作在 3种方式中的任意一种 ;
② 端口 B只能工作在方式 0或方式 1;
③ 端口 C被分为高 4位和低 4位,可以分别工作在输入方式和输出方式,并不要求同为输入方式或同为输出方式,
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 39
D7 D6 D5 D4 D3 D2 D1 D0
11
端口 A
方式
B组方式
0=方式 0
1=方式 1
PC2~PC0
1=输入
0=输出端口 B
1=输入
0=输出图 方式 2工作的控制信号
PC2~PC0
PC4
PC5
PC6
PC7
PC3
INTE1
INTE2
I O
IBFA
STBA
ACKA
OBFA
INTRA
WR
RD
PA7 ~PA0
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 40
一个数据输出过程和一个数据输入的时序,
10.2 8255A工作方式微机原理及应用 —— 第 10章 并行接口芯片 41
10.2 8255A工作方式
方式 0,基本输入 /输出方式 ( 0方式输入、
0方式输出)
适用于无条件传送和查询方式的接口电路
方式 1,选通输入 /输出方式 ( 1方式输入、
1方式输出)
适用于查询和中断方式的接口电路
方式 2,双向选通传送方式
适用于与双向传送数据的外设
适用于查询和中断方式的接口电路微机原理及应用 —— 第 10章 并行接口芯片 42
本章小结
8255功能结构
8255与 CPU的连接
8255的端口地址
8255的工作方式
重点掌握方式的应用