1.硬件电路 如图1所示是8031单片机扩展一片8255A的电路图。图中74LS373是地址锁存器。8255A的地址线Al、A0经74LS373接于P0.1、P0.0;片选CS经74LS373与P0.7接通,其他地址线悬空;8255A的控制线RD、WR直接接于8031的RD、WR端;数据线D0一D7 接于P0.0—P0.7. 本文来自www.eadianqi.com 2.8255A 地址口确定 自动控制网www.eadianqi.com版权所有 图1中8255A只有3根线接于地址线。片选CS、地址选择端Al、A0。分别接于P0.7 、P0.1、P0.0其他地址线全悬空。显然只要保证P0.7为低电平时,选中该8255,若P0.1、P0.0再为“00”选中8255A的A口,同理P0.1、P0.0为“0l”、“10”、“11”分别选中B口、C口及控制口。若地址用16位表示,其他无用端全设为“1”,则 8255A 的A、B、C及控制口地址分别可为FF7CH、FF7DH、FF7EH、FF7FH 本文来自www.eadianqi.com 如果无用位取为“0”,则4个地址为0000H 、0001H、0002、0003H,只要保证CS、Al、A0的状态,无用位设为“0”或“1”无关。掌握了确定地址的方法,使用者可灵活选择地址。 本文来自www.eadianqi.com
本文来自www.eadianqi.com
图1 8031与8255A接口电路 本文来自www.eadianqi.com 3.软件编程 本文来自www.eadianqi.com
在实际的应用系统中,必须根据外围设备的类型选择8255A的操作方式,并在初始化程序中把相应控制字写人控制口。下面根据图1,举例说明 8255A 的编程方法。 本文来自www.eadianqi.com
例 要求 8255A 工作方式0,且A口作为输入,B 口、C口作为输出,则程序如下: 自动控制网www.eadianqi.com版权所有 MOV A,#90H ;A口作为输入,B 口、C口作为输出 本文来自www.eadianqi.com MOV DPTR,#0FF7FH ;控制寄存器地址 本文来自www.eadianqi.com MOVX @DPTR,A ;写入方式控制字 自动控制网www.eadianqi.com版权所有 MOV DPTR,#0FF7CH ;A口地址 本文来自www.eadianqi.com
MOVX A,@DPTR ;从A口读数据 本文来自www.eadianqi.com MOV DPTR,#0FF7DH ;B口地址 本文来自www.eadianqi.com
MOV A,#DATA1H ;要输出的数据DATA1 自动控制网www.eadianqi.com版权所有 MOVX @DPTR,A ;将DATA1送B口输出 自动控制网www.eadianqi.com版权所有 MOV DPTR,#0FF7EH ;C口地址 本文来自www.eadianqi.com MOV A,#DATA2H ;DATA1 本文来自www.eadianqi.com MOVX @DPTR,A ;将DATA2送C口输出 本文来自www.eadianqi.com |