逻辑
读写控制逻辑电路的功能是负责管理8255A与CPU之间的数据传送过程。它接收CS及地址总线的信号A1、A0和控制总线的控制信号RESET、WR、RD,将它们组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令送给这两个部件,再由它们控制完成对数据、状态信息和控制信息的传送。各端口读写操作与对应的控制信号之间的关系见表所示。
8255A的工作方式与控制字
1.8255A的工作方式
8255A在使用前要先写入一个工作方式控制字,以指定A、B、C三个端口各自的工作方式。8255A共有三种工作方式:
方式0基本输入输出方式,即无须联络就可以直接进行8255A与外设之间的数据输入或输出操作。A口、B口、C口的高四位和低四位均可设置为方式0。
方式1选通输入输出方式,此时8255A的A口和B口与外设之间进行输入或输出操作时,需要C口的部分IO线提供联络信号。只有A口和B口可工作于方式1。
方式2选通双向输入输出方式,即同一端口的IO线既可以输入也可以输出,只有A口可工作于方式2。此种方式下需要C口的部分IO线提供联络信号。
有关8255A三种工作方式的功能及应用的详细介绍见下一节。
2.8255A的控制字
f(1)工作方式选择控制字
8255A的工作方式可由CPU写一个工作方式选择控制字到8255A的控制寄存器来选择。控制字的格式如图所示,可以分别选择端口A、端口B和端口C上下两部分的工作方式。端口A有方式0、方式1和方式2共三种工作方式,端口B只能工作于方式0和方式1,而端口C仅工作于方式0。
注意:在端口A工作于方式1或方式2,端口B工作于方式1时,C口部分IO线被定义为8255A与外设之间进行数据传送的联络信号线,此时,C口剩下的IO线仍工作于方式0,是输入还是输出则由工作方式控制字的D0和D3位决定,如图所示。
(2)C口按位置位复位控制字
8255A的C口具有位控功能,即端口C的8位中的任一位都可通过CPU向8255A的控制寄存器写入一个按位置位复位控制字来置1或清0,而C口中其他位的状态不变。控制字格式如图所示。
例如,要使端口C的PC4置位的控制字为00001001B(09H),使该位复位的控制字为00001000B(08H)。
应注意的是,C口的按位置位复位控制字必须跟在方式选择控制字之后写入控制字寄存器,即使仅使用该功能,也应先选送一个方式控制字。方式选择控制字只需写入一次,之后就可多次使用C口按位置位复位控制字对C口的某些位进行置1或清0操作。
823各种工作方式的功能
1.方式0基本输入输出方式
方r