8255A的控制字与工作模式
8255A有3种工作方式,即模式0、模式1和模式2,这些工作方式可用软件编程来 指定,其设定格式如图5-21所示,设定指令由单片机根据表5-5所示的地址选择表实 现,其中8255A芯片的三个端口在模式0下被分成两组,在模式1和模式2下PC口为 读写控制信号线,只有PA能工作在模式2下。 此外,PC口还具有位控制功能,可以通过工作方式控制字将其任意一位置“1” 或者清“0”,其控制方式见图5-22所示。
图5-21 8255A方式控制字设置
图5-22 PC口位操作控制字
(1)方式0(基本输入/输出方式) 这种工作方式不需要任何选通信号,A口、B口及C口的高4位和低4位都 可以设定为输入或输出。作为输出口时,输出的数据均被锁存;作为输入口 时,A口的数据能锁存,B口与C口的数据不能锁存。例如,欲设定PA口和PC 口高四位工作在模式0输出以及PB口和PC口低四位工作在模式0输入方式的指 令为: MOV DPTR,#8003H ;控制字的地址为8003H MOV A,#83H ;工作方式控制字为83H MOVX @DPTR,A ;设定工作方式控制字 在这种模式下,单片机可以对8255A的数据端口进行无条件读写,8255A 三个I/O端口数据可得到锁存和缓冲。因此,8255A的模式0属于基本输入输出 模式。
(2)方式1(选通输入/输出方式) 在这种工作方式下,A口可由编程设定为输入口或输出口,C口的3位用来作 为A口输入/输出操作的控制和同步信号;B口同样可由编程设定为输入口或输出口, C口的另3位用来作为B口输入/输出操作的控制和同步信号。在方式1下A口和B口的 输入数据或输出数据都能被锁存。C口的6条线作为控制和状态信号线,其定义如 表5-6所示。
图5-18 利用74LS164扩展并行输出口