8255控制打印机完整版
一、设计基本原理说明及系统资源分配
1. 工作原理说明
本次设计采用8255A工作方式0,其A口充当打印机数据线,C口的PC0接打印机选通信号线 ,C口的PC4接打印机“忙”线BUSY,B口不用,8255A的初始化可以通过74LS138译码器来实现。为了用键盘来设定打印内容,可以先定义一个数据段,然后调用DOS的1号功能完成数据存储。在满足一定的条件下,CPU现将打印内容依次送到8255A,然后再送到打印机打印,数据全部传送并打印完毕后退出程序。
P1.7 BUSY P1.6 ACK P1.5 STB 打印机 D0—D7 端口地址5FFFH 实验仪 2. 资源分配
⑴ A端口作为传输字符的通道,工作于方式0,输出方式。 ⑵ B端口不用。
⑶ C口的PC0接打印机选通信号线 ,PC4接打印机“忙”线BUSY。 ⑷ 设CPU为8086,8255A的端口地址为:
A端口: 00D0H C端口: 00D4H B端口: 00D2H 控制口:00D6H
1 / 171 / 17
8255控制打印机完整版
二、程序流程图
三、设计方案
采用查询方式传输数据实现对打印机控制:参考程序:
PRT_DATA EQU 5FFFH
2 / 172 / 17
(自定义打印字符串) 8255控制打印机完整版
PRT_STRO EQU P1.5 PRT_BUSY EQU P1.7 ORG 0000H LJMP START ORG 0040H START: MOV SP,#60H
SETB PRT_STRO SETB PRT_BUSY
MOV DPTR,#PRT_TAB
MOV R0, #00H
PR_STR: MOV A, R0 MOVC A,@A+DPTR CJNE A,#0FFH,PRINT SJMP $ PRINT:
LCALL PRT_CHAR
INC R0 AJMP PR_STR
PRT_CHAR: PUSH PSW PUSH DPH
PUSH DPL
3 / 173 / 17