由8255的定义可知,8255有3种工作方式,这3种工作方式如表1所示。8255的3种工作方式的选择由8255工作方式选择字决定,下面介绍8255工作方式选择字。
表1 8255的工作方式
方式 接口 | A | B | C |
方式0 | 基本I/O方式 | 基本I/O方式 | 基本I/O方式 |
方式1 | 应答I/O方式 | 应答I/O方式 | 通信线 |
方式2 | 应答I/O双向方式 | 无 | 通信线 |
1. 工作方式选择字
8255工作方式选择字共8位(如图1),存放在8255控制寄存器中。最高位D7为标志位,D7=1表示控制寄存器中存放的是工作方式选择字,D7=0表示控制寄存器中存放的是C口置位/复位控制字。
图18255的工作方式控制字
所谓8255初始化就是要根据工作要求,确定8255工作方式选择字,并输入8255控制寄存器。
例1 对8255初始化编程:
(1)A、B、C口均为基本I/O输出方式。
(2)A口与上C口为基本I/O输出方式。
B口与下C口为基本I/O输入方式。
(3)A口为应答I/O输入方式,B口为应答I/O输出方式。
解:
2.C口置/复位控制字
8255的C口可进行位操作,即:可对8255C口的每一位进行置位或清零操作,该操作是通过设置C口置/复位字实现的(图2)。C口置/复位字共8位,各位含义如下:
图2C口置/复位控制字
由于8255的工作方式选择字与C口置/复位字共用一个控制寄存器,故特设置D7为标志位,D7=0表示控制字为C口置/复位字,D7=1表示控制字为8255工作方式选择字。D6D5D4不用,常取000。
例2用8255C口的PC3引脚向外输出连续的正脉冲信号,频率=1000Hz。
解:将C口设置为基本I/O输出方式,先从PC3引脚输出高电平1,间隔0.5ms后向PC3输出低电平0,再间隔0.5ms后向PC3输出高电平1,周而复始。则可实现从PC3输出频率为1000HZ的正脉冲的目的。