笫九章可编程接口芯片及其与CPU的接口 ADDRI:MODX, APORT;取开关值 IN AL, DX AND AL, OFH ;屏蔽高4位 MOBX, OFFSETTAB1;取代码表首址 XLAT ;找到字符代码 MOV DX, BPORT;输出显示 OUT DX, AL MOV CX,0400H;显示延时 ADDR2: DEC CX JNZ ADDR2 JMP ADDRI MOVAH, 4CH NT 2IH CODE ENDS END START
第九章 可编程接口芯片及其与CPU的接口 ADDR1: MOV DX,APORT ;取开关值 IN AL,DX AND AL,0FH ;屏蔽高4位 MOV BX,OFFSET TAB1 ;取代码表首址 XLAT ;找到字符代码 MOV DX,BPORT ;输出显示 OUT DX,AL MOV CX,0400H ;显示延时 ADDR2:DEC CX JNZ ADDR2 JMP ADDR1 MOV AH,4CH INT 21H CODE ENDS END START
笫九章可编程接口芯片及其与CPU的接口 方式0应用举例2(异步查询情况): 例2如图所示,假设8255A端口A,B,C及控制口的地址 分别为80H,81H,82H和83H;打印机的选通信号为STB, 纸带读入机的驱动信号为DRⅴ,编写接口程序。 发出选通 Busy TB PC 8255A BUSY打 N Read 建立数据 PAPA 机 A A DB A-A PB- PB 纸带 得到数据 发出选通 RDRD PC Ready 读入 WR WRPC山 机 DRV 返回 返回 a
第九章 可编程接口芯片及其与CPU的接口 方式0应用举例2(异步查询情况): 例2 如图所示,假设8255A端口A,B,C及控制口的地址 分别为80H,81H,82H和83H;打印机的选通信号为STB, 纸带读入机的驱动信号为DRV,编写接口程序
笫九章可编程接口芯片及其与CPU的接口 程序片段: MOVAL.83h ;8255A初始化 ouT 83HAL ;打印机驱动程序 PST: NAL. 82H TEST AL. 04H NZPST MOVAL BL ;若打印数据在BL中 OUT SOH. AL MOVAL ODH OUT 83HAL ;选通打印机 DECAL OUT 83HAL ;断开打印机
第九章 可编程接口芯片及其与CPU的接口 程序片段: MOV AL, 83 H ;8255A初始化 OUT 83H, AL ;打印机驱动程序 PST: IN AL, 82H TEST AL, 04H JNZ PST MOV AL, BL ;若打印数据在BL中 OUT 80H, AL MOV AL, 0DH OUT 83H, AL ;选通打印机 DEC AL OUT 83H, AL ;断开打印机
笫九章可编程接口芯片及其与CPU的接口 ;输入机驱动程序 MOVAL, 09H OUT83H,AL;启动输入机 PRT: NAL 82H TEST AL, OIH JZ PRT ;未准备好,循环 NN AL. 8IH 准备好,读入数据 MOV BL AL MOVAL OSH OUT 83H,AL ;断开输入机
第九章 可编程接口芯片及其与CPU的接口 ;输入机驱动程序 MOV AL, 09H OUT 83H, AL ;启动输入机 PRT: IN AL, 82H TEST AL, 01H JZ PRT ;未准备好,循环 IN AL, 81H ;准备好,读入数据 MOV BL, AL MOV AL, 08H OUT 83H, AL ;断开输入机
笫九章可编程接口芯片及其与CPU的接口 方式0应用举例3(异步查询情况) 例3利用8255A实现打印机接口,打印BL中的数据。 打印机工作时序如左图所示。数据接口将数据传送到打印机的数据端口, 利用一个负脉冲 STROBE打入锁存。这时打印机可发回答信号ACK,然后由 打印机处理。同时打印机送出高电平信号BUSY,表示打印机忙于打印。 旦BUSY变为低电平,表示打印结束,即可接收下一数据。 请利用8255A工作方式0实现上述打印控制。硬件连接如右图 PAPa D-D D-D D,Do D-D W/R STROBE L RD WR 打印机 80386A BUSY CPU A A. PC STROBE BE GGGCBA PC AAAA BUSY
第九章 可编程接口芯片及其与CPU的接口 方式0应用举例3(异步查询情况): 例3 利用8255A实现打印机接口,打印BL中的数据。 打印机工作时序如左图所示。数据接口将数据传送到打印机的数据端口, 利用一个负脉冲STROBE打入锁存。这时打印机可发回答信号ACK,然后由 打印机处理。同时打印机送出高电平信号BUSY,表示打印机忙于打印。一 旦BUSY变为低电平,表示打印结束,即可接收下一数据。 请利用8255A工作方式0实现上述打印控制。硬件连接如右图