8255A用作查询式打印机接口时的电路连接和打印机各信号的时序如图6-3所示,8255A的端口地址为80H~83H,工作于方式O,试编写一段程序,将数据区中变量DATA的8位数据送打印机打印,程序以RET指令结束,并写上注释。
并行接口的打印机的引脚的规定: STB(选通):主机对打印机输入数据的选通脉冲,低电平有效; DATA7~DATAo:并行数据O一7位的信号; BUSY(忙):表示打印机是否可接收数据的信号。 8255A工作在方式O,采用程序查询的控制方式,把C口的两个部分用作控制和状态口,与外设的控制和状态端相连。即选择PC口低4位和高4位的各一条线PC2和PC6作为接口同外设之间的一对联络信号线。由PC6产生控制信号STB,PC2读取外设状态BUSY。 程序: MOV AL,81H ;8255A初始化(10000001B) OUT 83H,AL MOV AL,0DH OUT 83H,AL ;置为高电平 LOP:IN AL,82H ;读取外设状态BUSY TEST AL,04H JNZ LOP ;如果BUSY=“H”,则继续查询 MOV AL,DATA ;如果BUSY=“L”,则输出数据 OUT 80H, AL ;A口输出 MOV AL, OCH OUT 83H, AL ;置为低电平 MOV AL,0DH OUT 83H, AL ;置为高电平,产生负脉冲选通信号RET