由8255的定義可知,8255有3種工作方式,這3種工作方式如表1所示。8255的3種工作方式的選擇由8255工作方式選擇字決定,下面介紹8255工作方式選擇字。
表1 8255的工作方式
方式 接口
a
b
c
方式0
基本i/o方式
基本i/o方式
基本i/o方式
方式1
應(yīng)答i/o方式
應(yīng)答i/o方式
通信線
方式2
應(yīng)答i/o雙向方式
無
通信線
1. 工作方式選擇字
8255工作方式選擇字共8位(如圖1),存放在8255控制寄存器中。最高位d7為標(biāo)志位,d7=1表示控制寄存器中存放的是工作方式選擇字,d7=0表示控制寄存器中存放的是c口置位/復(fù)位控制字。
圖18255的工作方式控制字
所謂8255初始化就是要根據(jù)工作要求,確定8255工作方式選擇字,并輸入8255控制寄存器。
例1 對8255初始化編程:
(1)a、b、c口均為基本i/o輸出方式。
(2)a口與上c口為基本i/o輸出方式。
b口與下c口為基本i/o輸入方式。
(3)a口為應(yīng)答i/o輸入方式,b口為應(yīng)答i/o輸出方式。
解:
2.c口置/復(fù)位控制字
8255的c口可進(jìn)行位操作,即:可對8255c口的每一位進(jìn)行置位或清零操作,該操作是通過設(shè)置c口置/復(fù)位字實(shí)現(xiàn)的(圖2)。c口置/復(fù)位字共8位,各位含義如下:
圖2c口置/復(fù)位控制字
由于8255的工作方式選擇字與c口置/復(fù)位字共用一個控制寄存器,故特設(shè)置d7為標(biāo)志位,d7=0表示控制字為c口置/復(fù)位字,d7=1表示控制字為8255工作方式選擇字。d6d5d4不用,常取000。
例2用8255c口的pc3引腳向外輸出連續(xù)的正脈沖信號,頻率=1000hz。
解:將c口設(shè)置為基本i/o輸出方式,先從pc3引腳輸出高電平1,間隔0.5ms后向pc3輸出低電平0,再間隔0.5ms后向pc3輸出高電平1,周而復(fù)始。則可實(shí)現(xiàn)從pc3輸出頻率為1000hz的正脈沖的目的。