第12章并行接口8255A.pptVIP

  • 38
  • 0
  • 约8.17千字
  • 约 52页
  • 2016-11-05 发布于湖北
  • 举报
方式2 (双向选通输入/输出方式) A口工作在方式2时的引脚信号定义 * PA7~PA0为双向数据线,既可以输入数据又可以输出数据。C口的PC7~PC3被定义为A口的联络信号线,其中,PC4和PC5作为数据输入时的联络信号线,PC6和PC7作为数据输出时的联络信号线,PC3被定义为中断请求信号INTRA。 * 12.5 8255A初始化编程 8255A的A,B,C三个数据端口的工作方式是在初始化编程时通过向8255A的控制端口写入控制字来设定的。 8255A的控制字有两类:一是方式控制字,二是C口置位/复位控制字。 两类控制字共用一个端口地址,由控制字的最高位作为区分这两类控制字的标识位。 * 1)方式控制字的格式 8255A方式控制字的格式 * D0位:设置PC3~PC0的数据传送方向。 D1位:设置B口的数据传送方向。 D2位:设置B口的工作方式。 D3位:设置PC7~PC4的数据传送方向。 D4位:设置A口的数据传送方向。 D6D5位:设置A口的工作方式。 D7位:作为方式控制字的标识位,恒为1。 * 对于8255A的方式控制字,作如下三点归纳: 1)8255A有三种工作方式 2)只有A口能工作在方式2 3)归为同一组的两个端口的数据传送方向 * 2) C口置位/复位控制字的格式 8255A的C口置位/复位控制字的格式 * D0位:用来设定指定口线PCi为高电平还是低电平。 D3~D1位:八种状态组合000~111对应表示PC0~PC7。 D6~D4位:未定义,状态可以任意,通常设置为0。 D7位:作为C口置位/复位控制字的标识位,恒为0。 对于C口置位/复位控制字,作如下三点归纳: (1) C口置位/复位控制字必须写入控制端口 (2) C口置位/复位控制字的D0位决定对C口某位置位或复位 (3) C口置位/复位控制字的D6~D4位决定了对C口中的哪一位 进行操作 * 3) 8255A初始化编程 例1:设8255A的端口地址为FF80H~FF83H,要求8255A的A口工作在方式0,数据输出;B口工作在方式1,数据输入,则相应的初始化程序段如下: MOV DX,0FF83H ;控制寄存器端口地址为FF83H MOV AL,86H ;方式控制字 OUT DX,AL ;将方式控制字写入控制端口 * 例2:设8255A的端口地址为FF80H~FF83H,要求将8255A的C口中PC7设置为高电平输出,将PC3设置为低电平输出,则相应的初始化程序段如下: MOV DX,0FF83H ;控制端口的地址为FF83H MOV AL ;为使PC7为高电平输出 OUT DX,AL ;将C口置位/复位控制字写入控制端口 MOV AL ;为使PC3为低电平输出 OUT DX,AL ;将C口置位/复位控制字写入控制端口 * 12.6 8255A应用举例 例1:8255A工作于方式0 8255A工作于方式0,作为连接打印机的接口 8255A连接打印机示意 * 设8255A的A,B,C口及控制口的地址分别为:00D0H,00D2H,00D4H和00D6H。并设A口工作于方式0,并作为传送字符的通道(故A口为输出);B口未用;C口也工作于方式0,PC2作为BUSY信号输入端(故PC3~PC0为输入),PC6作为STB信号输出端(故PC7~PC4为输出)。 * 具体程序段如下: ABCD:MOV AL,81H OUT 0D6H,AL MOV AL,0DH OUT 0D6H,AL TBUY:IN AL,0D4H AND AL,04H JNZ TBUY MOV AL,CL OUT 0D0H,AL MOV AL,0CH OUT 0D6H,AL INC AL OUT 0D6H,AL ┋ * 例2:8255A工作于方式1 8255A工作于方式1,作为用中断方式工作的字符打印机的接口 8255A连接字符打印机示意 * 设8255A的A,B,C口和控制口的地址分别为:00C0H,00C2H,00C4H和00C6H。写方式控制字时,D3~D1位为任选,这里取为

文档评论(0)

1亿VIP精品文档

相关文档