由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的正脉冲的目的。