文档介绍:12
1
六、打印机与单片机接口设计
【硬件说明】本系统选用LASER PP40微型打印机,,采用查询工作方式(BUSY) 。
【打印方式】本系统有三种打印方式,即定时打印、手动打印和故障备忘打印。
【打印功能】可打印出时间值和当时各测点温(湿)度、设定的控制曲线及其参数,以及故障原因等。
12
2
【PP40接口信号时序】
接口信号时序如图所示。在单片机应用系统中实际使用时,一般不使用ACK信号。
芯位信号功能说明
1 STROBE 选通输入信号线
2~9 DATA1~DATA8 8位并行数据总线
10 ACK 应答信号表示描绘器准备接收下一批
数据
11 BUSY 描绘器“忙”状态信号,该信号高电平表示描绘器不能接收新数据送入
12、15 GND
其余不接
12
3
【 PP40的打印模式】
PP40具有两种工作模式
文本模式
图案模式
上电后,初始状态为文本模式。
在文本模式状态下,如果主机将回车控制字符CR(0DH)和绘图控制字符DC2(12H)写入PP40则PP40由文本模式变为图案模式。
再将回车控制符CR(0DH)和文本模式控制字符
DC1(11H)写入PP40,则PP40又回到文本模式。
12
4
【 PP40文本/图案编码设计】
在字符及图案绘制程序设计之前,要对绘制的字符或图案进行编码设计。
首先将要绘制的字符、表格及图案变成一系列由命令码、控制码及文字字符组成的字符串;
然后再将它们“翻译”成相应的以十六进制表示的数据串,作为提供给PP40微型图机使用的数据表。
由于PP40微型描绘器具有向后回纸的功能,给文本设计及绘图设计带来极大的方便。
12
5
1、编程要点
在完成编码设计和硬件确定之后,进入程序设计,其编程要点:
建立打印编码数据表
一般空表编码、固定字符编码表等设在程序存储器中,数据填表编码表设在数据存储器中。
打印驱动子程序
根据硬件电路和打印机接口时序的要求,设计打印机驱动子程序,将数据编码表中的编码输入打印机,完成打印功能。
12
6
打印结束控制有两种方法
·计数控制(根据编码表长度赋计数初值,一般适合编码较少的场合),
·设结束标志,即在编码表之后增设一个字节,一般为00H。
单片机与PP40交换数据方式
根据实际情况配合硬件电路,选择:
·中断方式
·查询方式
12
7
2、打印子程序设计
【硬件说明】
PP40的DATA1~DATA8接在8031的P1口
PP40的选通(STB)接8031
PP40的忙信号接8031的INT1()
8031和PP40的通讯可以采取:
·中断方式
·查询方式
12
8
【程序设计】
[例1] 根据要求设计打印驱动程序
说明:计数方式,结束打印;
查询方式,交换数据;
编码数据,放在程序存储器。
编码设计
[CR] DC2 [CR]
HM1,-1[CR] ;笔架抬起先回起点再移至A点。
L0,J0,-2,2,0,0,2 [CR]
从A B C D相对绘线
R-1,1 [CR] ;相对移动
D2,-3[CR] ;绘线E F
M0,-4[CR] ;笔架抬起,移至左下端
12
9
驱动程序
MOV R7,#NN ;编码表长度
MOV R1,#REL ;查表偏移量/加1计数
NEXT:MOV A,R1
MOVC A, ***@A+PC ;查编码
MOV P1,A ;数据送P1口
CLR ;选通信号
NOP
SETB
WAIT:JB ,WAIT ;查询BUSY,等待
INC R1
DJNZ R7,NEXT ;计数控制
。。。。。。
编码程序
DB 0DH,12H,0DH ;[CR] DC2 [CR]
…………………….
12
10
[例2] 根据要求设计打印驱动程序
说明:标志方式,结束打印;
中断方式,交换数据;
编码数据,放在数据存储器。
编码设计(从略)
驱动程序
ORG 0000H
AJMP MAIN
ORG 0013H
AJMP INTPRT
MAIN:MOV IE, #00H
MOV DPTR,#TABL
SETB IT1
MOV IE, #84H
MOV SP, #60H
HERE:SJMP HERE