正在加载图片...
如要求8255A工作在方式0,且A口作为输入,B口、C口作为输出,则程序如下: MO∨A,#90H A口方式0输入,B口,C口输出 的方式控制字→A MO∨DPTR,#OFF7FH 控制寄存器地址→DPTR MOVX ODPTR,A 方式控制字→控制寄存器 MO∨DPTR,#OFF7CH A口地址→DPTR MOVX A, DPTR 从A口读数据 MOV DPTR, #OFFZDH B口地址→DPTR MOVA, # DATA1 要输出的数据DATA1→A MOVX ODPTR, A 将DATA1送B口输出 MOV DPTR, #OFFZEH C口地址→DPTR MOVA+ DATA2 DATA2→A MOVX O DPTR,A ;将DATA2送C口输出 8255A的C口8位中的任一位,均可用指令来置位或复位。例如,如果想 把C口的PC5置1,相应的控制字为00001011B=OBH(关于8255A的C口置 位/复位的控制字说明参见图12-7),程序如下 MO∨DPTR,#OFF7FH 控制口地址→DPTR MOVA, # OBH 控制字→A Mo∨X@DPTR,A ;控制字→控制口,PC5=1如要求8255A工作在方式0,且A口作为输入,B口、C口作为输出,则程序如下: MOV A,#90H ;A口方式0输入,B口,C口输出 的方式控制字→A MOV DPTR,#OFF7FH ;控制寄存器地址→DPTR MOVX @DPTR,A ;方式控制字→控制寄存器 MOV DPTR,#OFF7CH ;A口地址→DPTR MOVX A,@DPTR ;从A口读数据 MOV DPTR,#OFF7DH ;B口地址→DPTR MOV A,#DATA1 ;要输出的数据DATA1→A MOVX @DPTR,A ;将DATA1送B口输出 MOV DPTR,#OFF7EH ;C口地址→DPTR MOV A,#DATA2 ;DATA2→A MOVX @ DPTR,A ;将DATA2送C口输出 ◼ 8255A的C口8位中的任一位,均可用指令来置位或复位。例如,如果想 把C口的PC5置1,相应的控制字为00001011B=OBH(关于8255A的C口置 位/复位的控制字说明参见图12-7),程序如下: MOV DPTR,# OFF7FH ;控制口地址→DPTR MOV A,#OBH ;控制字→A MOVX @DPTR, A ;控制字→控制口,PC5=1
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有