自动控制网—学习自动控制技术电气自动化技术从这里开始!
当前位置: 自动控制网 > 自动化 > 单片机 >

8031单片机和8255A的接口设计

时间:2014-11-18 08:43来源:www.eadianqi.com 编辑:自动控制网
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.0P0.7. 2.

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

本文已影响