正确答案
8255A有3种工作方式:称为方式0,方式1和方式2。
其中A口可以工作在3种方式中的任一种;B口只能工作在方式0和方式1;C口通常作为控制信号使用,配合A口和B口的工作。
①方式0:基本的输入输出方式
方式0之所以被称为基本的输入输出方式,是因为在这种方式下,A口、B口和C口(C口分为2个4位使用)都可提供简单的输入和输出操作,对每个口不需要固定的应答式联络信号。
工作在方式0下,在程序中可直接使用输入指令(IN)和输出(OUT)指令对各口进行读写。方式0的基本定义如下:2个8位的口和2个4位的口。任何一个口都可以作为输入或输出。输出可以被锁存。输入不能锁存。
方式0一般用于无条件传送的场合,不需要应答式联络信号,外设总是处于准备好的状态。也可以用作查询式传送,查询式传送时,需要有应答信号。可以将A口、B口作为数据口使用。把C口分为2部分,其中4位规定为输出,用来输出一些控制信息;另外4位规定为输入,用来读入外设的状态。利用C口配合A口和B口完成查询式的I/O操作。
②方式1:选通输入/输出方式
在这种方式下,当A口和B口进行输入输出时,必须利用C口提供的选通和应答信号。而且这些信号与C口中的某些位之间有着固定的对应关系,这种关系是硬件本身决定的不是软件可以改变的。由于工作在方式l时,要由C口中的固定位来作为选通和应答等控制信号,因此称方式1为选通的输入/输出方式。
方式1的基本定义如下:分成2组(A组和B组)。每组包含一个8位的数据口和1个4位的控制/数据口。8位的数据口既可以作为输入也可以作输出,输入和输出都可以被锁存。4位的控制/数据口用于传送8位数据口的控制和状态信息。
③方式2:带选通的双向传输方式
这种双向的传输方式,8255A可以向外设发送数据,同时CPU通过这8位数据线又接收外设的数据。因此称为双向的传输方式。
方式2的基本定义如下:只能适用于A口。一个8位的双向口(A口)和1个5位的控制口(C口)。A口的输入和输出都可以被锁存。5位的控制口用于传送8位双向口的控制和状态信息。
当A口工作在方式2时,由PA7~PA0作8位数据线,因为要由C口对A口进行控制,所以称为带选通的双向传输方式。在这种方式下,C口中有5位PC7一PC3作为控制信号和状态信息使用,剩下的3位PC2~PC0可作为简单的输入/输出线使用。当控制字的D0位为1时PC2~PC0作输入;当控制字的D0位为0时PC2~PC0作输出。