方法一:采用普通方式设置PC为输出,然后置位/复位Pc5, 具体程序段如下 MOV DX,控制口 MOV AL,10000XXXB;选择PC高位输出, 方式0 OUT DX, AL ;控制字设置 MOV DX,Pc端口 MOV AL,XX1 XXXXX B;即PC5设置为高电平输出 OUT DX AL ;Pc5置0(低电平) MOV AL,X0 XXXXXB;即PC5设置为低电平输出 OUT DX, AL ;Pc5置0(低电平) 微机接口技术,桂小林 16
微机接口技术,桂小林 16 ◼ 方法一:采用普通方式设置PC为输出,然后置位/复位PC5, 具体程序段如下: ◼ MOV DX,控制口 ◼ MOV AL,1 00 0 0 X X XB ;选择PC高位输出, 方式0 ◼ OUT DX,AL ;控制字设置 ◼ MOV DX,PC端口 ◼ MOV AL,XX 1 XXXXX B;即PC5设置为高电平输出 ◼ OUT DX,AL ;PC5置0(低电平) ◼ MOV AL,XX 0 XXXXX B;即PC5设置为低电平输出 ◼ OUT DX,AL ;PC5置0(低电平)
n方法二:采用置位/复位Pc口方式,具体程序段如下: MOV DX,控制口 MOV AL,00001011B;即0BH,选择Pc5,置位 OUT DX, AL ;Pc5置1(高电平) MOV AL,00001010B;即0AH,选择Pc5,复位 OUT DX, AL ;PC5置0(低电平) 微机接口技术,桂小林 17
微机接口技术,桂小林 17 ◼ 方法二:采用置位/复位PC口方式,具体程序段如下: ◼ MOV DX,控制口 ◼ MOV AL,0 000 101 1B;即0BH,选择PC5,置位 ◼ OUT DX,AL ;PC5置1(高电平) ◼ MOV AL,0 000 101 0B;即0AH,选择PC5,复位 ◼ OUT DX,AL ;PC5置0(低电平)
3、8255A的状态字 8255A无状态寄存器,在方式1和方式2时,可 以用端口c兼作状态用。 方式1输入:假设端口A、端口B都工作于此方式,则端口C读入的状态为 PC7 PC PC PC PC PC2 PC IOIO IBFA NTEA INTRA NNTEBIBFBNTRB 方式1输出:假设端口A、端口B都工作于此方式,则端口C读入的状态为 PC PC. PC4 PC PC PC PC OBFA INTEA IO IO INTR INTEB OBFB INTRB 方式2:输入端口C所得各位状态意义为 PC PC PC PC4 PC PC2 PC PC L OBFA INTE: IBFAINTE INTR 微机接口技术,桂小林 18
微机接口技术,桂小林 18 ◼ 3、8255A的状态字 ◼ 8255A无状态寄存器,在方式1和方式2时,可 以用端口C兼作状态用
6248255A的工作方式 1.方式0 A组 PA7- PAn 端口A 方式0称为基本输入/输出方式,适 合在同步传输(无条件传输)和程 序查询方式下工作,CPU通过软件 方式确认外设状态,与外设交换数 A组 端口C PC7 PC 据,因而不适合在实时性要求高的的高位 应用环境。 B组 端口C PC3" PC 在方式0中,PA、PB和PC相互独立了L的低位 工作,PC又分为高4位和低4位两个 独立的部分,通过控制字可以将这 四部分任意选择为输入或输出,共 B组 PB- PBo 有16种组合。 端口B 外部接口部分 微机接口技术,桂小林 19
微机接口技术,桂小林 19 6.2.4 8255A的工作方式 1.方式0 ◼ 方式0称为基本输入/输出方式,适 合在同步传输(无条件传输)和程 序查询方式下工作,CPU通过软件 方式确认外设状态,与外设交换数 据,因而不适合在实时性要求高的 应用环境。 ◼ 在方式 0中,PA 、PB 和PC相互独立 工作,PC又分为高 4位和低 4位两个 独立的部分,通过控制字可以将这 四部分任意选择为输入或输出,共 有16种组合
丽步支大净 初始化实例凹+默成别k而式别 例如,某系统要求使用8255A的C口的Pc4输出一个由高到低的跳变。 写出8255A的方式控制字和初始化程序段。 【解】由于本例不关心PA和PB的工作方式,所以不用考虑设置8255A 的方式控制字。 为了实现Pc4输出一个由高到低的跳变,需要Pc4先输出一个高电平 然后输出一个低电平。 方法 采用普通方式设置PC为输出,然后设置PC4(1,0),具体程序段如 下 MOV DX,控制口 MOV AL.1000XXXB ;选择PC高位输出,方式0 OUT DX AL MOV DX,Pc口 MOV AL,Xx1XoaB;即PC4设置为高电平输出 OUT DX AL Pc4置1(高电平) MOV AL,X0XB;即PC4设置为低电平输出 OUT DX AL Pc4置0(低电平) 微机接口技术,桂小林 20
微机接口技术,桂小林 20 初始化实例 ◼ 例如,某系统要求使用8255A的C口的PC4输出一个由高到低的跳变。 写出8255A的方式控制字和初始化程序段。 ◼ 【解】由于本例不关心PA和PB的工作方式,所以不用考虑设置8255A 的方式控制字。 ◼ 为了实现PC4输出一个由高到低的跳变,需要PC4先输出一个高电平, 然后输出一个低电平。 ◼ 方法一: ◼ 采用普通方式设置PC为输出,然后设置PC4(1,0),具体程序段如 下: ◼ MOV DX,控制口 ◼ MOV AL,1 00 0 X X XB ;选择PC高位输出,方式0 ◼ OUT DX,AL ; ◼ MOV DX,PC口 ◼ MOV AL,XXX 1 XXXX B ;即PC4设置为高电平输出 ◼ OUT DX,AL ;PC4置1(高电平) ◼ MOV AL,XXX 0 XXXX B ;即PC4设置为低电平输出 ◼ OUT DX,AL ;PC4置0(低电平)