最新A9热敏打印机说明书.docx
《最新A9热敏打印机说明书.docx》由会员分享,可在线阅读,更多相关《最新A9热敏打印机说明书.docx(31页珍藏版)》请在冰点文库上搜索。
最新A9热敏打印机说明书
第1部分性能指示2
第2部分操作说明3
2.1并行接口连接3
2.1.1接口与引脚定义3
2.1.2并行接口引脚信号时序5
2.1.3并口例程6
2.2串行接口11
2.2.1串行接口引脚定义11
2.2.2修改波特率和通讯模式设置12
2.2.3串口例程14
2.3电源连接19
第3部分打印命令祥解20
第4部分西文字符集1、237
第一部分性能指示
1、打印方法:
直接热敏打印
2、打印纸宽:
57.5±0.5mm
3、打印密度:
8点/mm,384点/行
4、打印头寿命:
6×106字符行
5、有效打印宽度:
48mm
6、走纸速度:
25%的字符率的情况下为50mm/s
7、打印字符:
6*8点阵西文字符集1、2;20h—7fh间的标准ASCII码半角字符。
国标一、二级汉字(16*16点阵、24*24点阵两种,可根据需要选用不同点阵类型的打印机)
8、接口形式:
并行接口20针插座,TTL电平
9、操作温度:
5~50℃
10、操作相对湿度:
10~80%
11、储存温度:
-20~60℃
12、储存相对湿度:
10~90%
13、电源:
直5V,3A,峰流不超过3A
第二部分操作说明
2.1并行接口连接
2.1.1接口与引脚定义
并行接口插座引脚序号如下图所示:
并行接口插座引脚序号
IDE26针并行接口各引脚信号的定义如下图表所示:
面板式引脚
信号
方向
说明
1
-STB
入
数据选通触发脉冲,上升沿时读入数据
3
DATA1
入
这些信号分别代表并行数据的第一至第八位信号,每个信号当其逻辑为“1”时为“高”电平,逻辑为“0”为“低”电平。
5
DATA2
入
7
DATA3
入
9
DATA4
入
11
DATA5
入
13
DATA6
入
15
DATA7
入
17
DATA8
入
18
-ACK
出
回答脉冲,“低”电平表示数据已被接受而且打印机准备好接收下一数据
19
BUSY
出
“高”电平表示打印机正“忙”,不能接收数据
20
PE
出
缺纸信号,有纸时为低电平,缺纸为高电平
4
-ERR
出
打印机内部经电阻上拉“高”电平,表示无故障
2,6,8
2为空脚,6,8为保留引脚,禁止用户应用
10,12,14,16
81224
GND
—
接地,逻辑“0”电平
注:
1.“入”表示输入到打印机。
2.“出”表示从打印机输出。
3.信号的逻辑电平为TTL电平。
2.1.2并行接口引脚信号时序
并口时序如下图所示:
并行接口信号时序图
2.1.3并口例程
单片机控制打印机时汇编例程
BUSYEQUP3.2;定义BUSY信号引脚
nSTBEQUP3.7;定义nSTB信号引脚
PEEQUP3.3;定义纸检测信号引脚
nACKEQUP3.4;定义应答信号引脚
nERREQUP3.1;定义错误检测信号引脚
nSELEQUP3.0;定义在线检测信号引脚
ORG0000H
JMPstart
start:
MOVDPTR,#print_content
MOVR0,#9;存待打印数据的字节数
main:
CLRA
MOVCA,@A+DPTR
LCALLPRINTB
INCDPTR
DJNZR0,MAIN
MOVA,#0DH
LCALLPRINTB
SJMP$;打印结束死循环
;PRINTB子程序将累加器A中的一字节数据发送到打印机
PRINTB:
JBBUSY,$;等待打印机到空闲
MOVP1,A;送数据到数据口
CLRnSTB;置nSTB为低电平
NOP;延长nSTB信号脉冲宽度以满足时序要求
nop
nop
SETBnSTB;置nSTB为高电平(此时数据将被读入打印机)
RET
print_content:
DB'北京炜煌'
DB0dh
END
单片机C51例程
//北京炜煌科技打印机示例程序
//NockyTian
//2007-07-17
#include
//Hardwareconfiguration
#definePRINTER_DATAP1//定义打印机数据线端口
sbitBUSY=P3^2;//定义打印机忙信号引脚
sbitnSTB=P3^7;//定义打印机nSTB信号引脚
sbitPE=P3^3;//定义打印机纸状态检测信号引脚
sbitnACK=P3^2;//定义打印机应答信号引脚
sbitnERR=P3^1;//定义打印机错误检测信号引脚
sbitnSEL=P3^0;//定义打印机在线检测信号引脚
#defineCR0x0d
#defineLF0x0a
voidPrintByte(unsignedcharbyte_data);
voidPrintString(char*str);
voidPrintByteN(unsignedchar*data_src,unsignedcharN);
voidmain(void)
{
charstr[]="Printerdemo";
PrintString("WHKJPrinter");
PrintByte(CR);
while
(1);
}
/*PrintByte()
*Sendabytetoprinter
*NockyTian@2006-7-17
*/
#include
voidPrintByte(unsignedcharbyte_data)
{
while(BUSY==1){
}
PRINTER_DATA=byte_data;
nSTB=0;
_nop_();//调整nSTB信号脉宽
nSTB=1;
}
/*PrintString()
*Printastringwhichisendingwitha'\0'character
*ToExcutedtheprintcommandaadditionCRcharacterisneeded
*NockyTian@2006-7-17
*/
voidPrintString(char*str)
{
while(*str){
PrintByte(*(str++));
}
}
/*PrintByteN()
*PrintNbytesthroughprinter
*nomorethan255bytescouldbeprintedbythefunction
*Ifmorethan255bytesneedprinting,thetypeofNneedchanging
*tounsignedint,evenunsignedlongifnecessary.
*NockyTian@2006-07-17
*/
voidPrintByteN(unsignedchar*data_src,//pointertodatasource
unsignedcharN)//numberofdata(byte)
{
while(N--){
PrintByte(*(data_src++));
}
}
2.2串行接口
2.2.1串行接口引脚定义
本系列打印机串口电平标准为两种:
TTL电平与232电平,当设为232电平时,其串口与标准RS-232接口兼容。
其接口分别如下图所示:
说明:
带标志引脚为为保留位,禁止用户使用。
当用户使用232电平接口,按上图所示插好短路块。
使用TTL电平接口时,如图所示拔掉短路块。
接口引脚定义如下表所示:
引脚
信号
方向
说明
3,13
TXD
出
通信方式为硬握手方式,此引脚不输出数据,3脚为TTL电平,13脚为232电平
5,15
RXD
入
打印机从主CPU接收数据,5脚为TTL电平,15脚为232电平
6,16
BUSY
出
该信号高电平时,表示打印机正“忙”不能接受数据,而当该信号低电平时,表示打印机“准备好”,可以接收数据),6脚为TTL电平,16脚为232电平
8,19
GND
—
信号地,8脚为TTL接口信号地,19脚为232接口信号地
注:
1.“入”表示输入到打印机;2.“出”表示从打印机输出
2.2.2修改波特率和通讯模式设置
设置时由两个按键LF键与SET键完成,LF键位于前面板左上角,上电后同时为一红灯,SET键位于打印机背部右上角的圆孔内。
1、按SET键不放手同时给打印机上电,然后松开按键,打印机打印出设置报告
2、此后,再按SEL键,打印机又打印出一设置报告,进入此菜单后用户可以选择设置串口或打印方向
3、此时按LF键,打印机进入串口设置状态。
3、进入串口设置状态后,由LF键设置切换打印机波特率,每按一次LF键即打印出串口设置状态报告,在1200、2400、4800、9600、和19200B.P.S.内选择需要的波特率,出厂时设定波特率为9600B.P.S.。
4、由SEL键切换设置串行口的工作方式,串行连接为方式1或方式3通信两种,出厂时设定工作方式1。
串行连接采用异步传输格式,如下图所示:
1位
8位
1位
1位
起始位0
数据位
奇偶校验位
停止位1
串行口工作方式1:
一帧信息为10位,1位起始位,8位数据位,1位停止位。
串行口工作方式3:
一帧信息为11位,1位起始位,8位数据位,1位校验位,1位停止位。
5、修改完之后需要重新上电启动。
另附打印机自检方法及改变打印机打印浓度、打印方向的方法:
●打印机自检的方法
按住LF键不放手同时给打印机上电,打印机就会打印出自检报告
●改变打印浓度操作
1、按SET键不放手给打印机上电,打印机打印出设置报告,再按LF键,打印机进入打印浓度设置状态。
2、按F键,增量调整打印浓度,按SET键,减量调整打印浓度,得到自已满意的浓度后打印机重新上电
●改变打印方向操作步骤
1、按SET键不放手同时给打印机上电,松手后,打印机打印出设置报告
2、再按SET键,又打印出一设置报告,提示让按SET键来改变打印方向
2、按SET键,打印机打印出打印方向设置报告,打印机进入打印方向设置状态。
3、按LF键,打印机正向打印,按SEL键,打印机反向打印。
得到想要的打印方向后,给打印机重新上电
2.2.3串口例程
单片机控制打印机时汇编例程
;北京炜煌串口打印机示例程序
;NockyTian
;2006-07-18
BUSYEQUP3.0;定义BUSY信号引脚
ORG0000H
JMPstart
ORG30h
start:
MOVDPTR,#print_content
MOVR2,#77;R2保存待打印数据的字节数
LCALLSETUART;设置串口
main:
CLRA
MOVCA,@A+DPTR;读出待打印字符
MOVR0,A
LCALLPRINTB;打印一个字节
INCDPTR
DJNZR2,MAIN
MOVA,#0DH
LCALLPRINTB
SJMP$;打印结束无限循环
;PRINTB子程序将累加器A中的一字节数据发送到打印机
;待发送数据通过R0传递
PRINTB:
PUSHACC
JBBUSY,$;等待打印机到空闲
JNBTI,$;等到上一字节是否发送完,第一个字节发送前要手动置TI,见SETUART了函数
CLRTI
MOVA,R0;保存待打印数据
MOVSBUF,A;送数据到打印机
POPACC
RET
;设置串口子程序
;不使用中断,定时器1用作波特率发生器
SETUART:
MOVTMOD,#20H;设置定时器T1工作模式3
MOVTH1,#0FAH
MOVTL1,#0FAH;设置波特率9600bps@22.1184MHz
SETBTR1;启动定时器T1
MOVSCON,#50H;设置串行口工作方式为异步串行口,模式1
SETBTI;设置标志位,为发送数据作准备
RET
;定义待打印数据内容
;保存在程序段
print_content:
DB'北京炜煌科技微型打印机',0DH,'MicroPrinterdemo',0DH
DB'画线工具栏',0dh
DB'-------------------------'
END
单片机C51例程
#include
#defineucharunsignedchar
sbitBUSY=P3^0;
//定义一个发送字节数据到串口的函数
voidPrint_Byte(ucharch){
while(BUSY){
}
SBUF=ch;
while(!
TI){
}
#include
TI=0;
}
//定义发送一个数组的数据到串口的函数
voidPrint_Array(array,n)
uchararray[];
intn;
{
inti;
for(i=0;iPrint_Byte(array[i]);
}
//定义一个把字符串送到串口的函数
voidPrint_String(uchar*str){
while(*str){
Print_Byte(*str++);
}
}
voidmain(){
inti;
TMOD=0x20;//定时器1工作于方式2
SCON=0x40;//串口工作于方式1
TH1=0xfa;//装入初值,22.1184MHZ的晶振,9600的波特率
TL1=0xfa;
PCON=0x00;//波特率无倍增
TR1=1;//开启定时器1开始工作
Print_Byte(0x1C);
Print_Byte(0x26);
Print_String("北京炜煌科技发展有限公司");
Print_Byte(13);
while
(1);
}
2.3电源连接
本系列打印机采用DC5V3A直流电源,电源插口如下图所示:
说明:
1接电源正极,2为空脚,3接电源负极。
打印机出厂时配有一根红白颜色的电源线,其中红线接电源正极,白线接电源负极。
第三部分打印命令祥解
一、选择字符集命令
3-1-1、【选择字符集1】
格式:
ASCII:
ESC6
10进制:
2754
16进制:
1B36
在该命令之后的字符将使用字符集1的字符进行打印。
字符集1中有字符224个,代码范围20H-FFH(32-255)。
包括ASCII字符,及各种图形符号等。
3-1-2、【选择字符集2】
格式:
ASCII:
ESC7
10进制:
2755
16进制:
1B37
在该命令之后输入的代码将选择字符集2的字符打印。
字符集2中有字符224个,代码范围20H-FFH(32-225)。
包括德、法、俄文、日语片假名等。
3-1-3、【进入汉字方式】
格式:
ASCII:
FS&
10进制:
2838
16进制:
1C26
该命令用于进入汉字方式。
在中文打印方式时,打印机接收的汉字代码为标准机内码,根据该代码寻找打印机内的硬汉字字模,如找到则打印,否则不打印。
打印机接收到单字节的ASCII码(范围20H-7FH)时,打印出相应的ASCII字符,与汉字等高
注:
●打印机分24点阵与16点阵两种打印机
●进入字符集1和字符集2后,打印机打印6*8点阵的ASCII码字符
●24点阵打印机默认打印24*24点阵一、二级国标汉字与20H~7FH范围内的12*24点阵的标准ASCII码字符
●16点阵打印机默认打印16*16点阵一、二级国标汉字与20H~7FH范围内的8*16点阵的标准ASCII码字符
二、进纸命令
3-2-1、【换行】
格式:
ASCII:
LF
10进制:
10
16进制:
0A
打印缓冲区内容,打印机向前走纸一个字符行,即(字符行高+行间距)个点行。
3-2-2、【执行n点行走纸】
格式:
ASCII:
ESCJn
10进制:
2774n
16进制:
1B4An
打印纸向前进给n点行(点为绝对值,不受放大或缩小命令影响),1≤n≤255.
三、格式设置命令
3-3-1、【设置n点行间距】
格式:
ASCII:
ESC1n
10进制:
2749n
16进制:
1B31n
为后面的换行命令设置n点行间距(点为绝对值,不受放大或缩小命令影响),0≤n≤255,上电或初始化后n=3。
3-3-2、【设置字符间距】
格式:
ASCII:
ESCpn
10进制:
27112n
16进制:
1B70n
该命令是设定字符之间的空点。
默认方式为零,即字符之间没有空点(点为绝对值,不受放大或缩小命令影响),n在0~255之间。
3-3-3、【设置垂直造表值】
格式:
ASCII:
ESCBn1n2...NUL
10进制:
2766n1n2...0
16进制:
1B42n1n2...00
输入垂直造表值n1,n2等,最多可输入8个值。
每一个垂直造表值都是从打印头最初的起始位置算起,例n1=3,n2=6,则第一次执行垂直造表(VT命令)进纸到第3个单位行开始打印,再次执行垂直造表命令时,进纸到第6个单位行开始打印。
单位行的高度按8+行间距个点行计算(每单位行高度的实际值是绝对的,不受字符的放大或缩小命令影响)。
数据NUL加在最后表示该命令的结束。
所有输入的垂直造表位置,可用该命令以ESCBNUL的格式清除。
3-3-4、【执行垂直造表】
格式:
ASCII:
VT
10进制:
11
16进制:
0B
打印纸进给到由ESCB命令设置的下一垂直造表位置。
如果垂直造表位置已清除,或当前位置已等于或超过最后一个垂直造表位置,VT命令将只走纸一单位行。
3-3-5、【设置水平造表值】
格式:
ASCII:
ESCDn1n2...NUL
10进制:
2768n1n2...0
16进制:
1B44n1n2...00
输入水平造表位置n1,n2等,最多可输入8个位置,这些数据应在所配打印头和放大倍数等制约下的每行能打印最多字符数之内。
例n1=3,则执行水平造表(HT命令)时在第3个字符处开始打印,每个字符的宽度按(字符点阵宽度+字间距)个点计算(每个字符宽度的实际值是相对的,受字符的放大或缩小命令影响)。
数据NUL加在最后表示该命令结束。
所有输入的水平造表位置,可用该命令以ESCDNUL的格式清除。
当对汉字执行水平造表的命令时,因其造表的位置是按字符设置的,还要受到放大倍数的影响,设置时需要注意,以达到预设置效果。
3-3-6、【执行水平造表】
格式:
ASCII:
HT
10进制:
9
16进制:
09
打印位置进行到由ESCD命令设置的下一水平造表位置。
如果水平造表位置已清除,或当前打印位置已等于或超过最后一个水平造表位置,HT命令将不执行。
3-3-7、【打印空格或空行】
格式:
ASCII:
ESCfmn
10进制:
27102mn
16进制:
1B66mn
如果m=0,ESCfNULn将打印n个空格,每个空格的宽度按(字符点阵宽度+字间距)计算。
n值应在所配打印头行打印最多字符数内。
如果m=1,ESCfSOHn将打印n行单位行(8点行),1≤n≤255。
3-3-8、【设置右限】
格式:
ASCII:
ESCQn
10进制:
2781n
16进制:
1B51n
右限即打印纸右侧不打印的字符数,每个字符的宽度按(字符的点阵宽度+字间距)计算(每个字符宽度的实际值是相对的,受字符的放大或缩小命令影响);n的数值应在0到所配打印头的能打印的字符数内;上电或初始化后n=0;即没有右限。
此命令受放大命令的影响。
3-3-9、【设置左限】
格式:
ASCII:
ESC1n
10进制:
27108n
16进制:
1B6Cn
左限即打印纸左侧不打印的字符数,每个字符的宽度按(字符点阵宽度+字间距)计算(每个字符宽度的实际值是相对的,受字符的放大或缩小命令影响);n的数值应在0到所配打印头的行宽范围内,上电或初始化后n=0。
3-3-10、【灰度打印】
格式:
ASCII:
ESCmn
10进制:
27109n
16进制:
1B6Dn
n的值为1~12级,“1”颜色最浅,“12”颜色最深,默认值为“1”。
用于针对不同的热敏纸的颜色深浅不一问题。
四、字符设置命令
3-4-1、【横向放大】
格式:
ASCII:
ESCUn
10进制:
2785n
16进制:
1B55n
该命令之后的字符将以正常宽度的n倍进行打印。
1≤n≤8,上电或初始化后16点阵n=2,24点阵n=1。
3-4-2、【纵向放大】
格式:
ASCII:
ESCVn
10进制:
2786n
16进制:
1B56n
该命令之后的字符将以正常高度的n倍进行打印。
1≤n≤8,上电或初始化后16点阵n=2,24点阵n=1。
3-4-3、【横向纵向放大】
格式:
ASCII:
ESCWn
10进制:
2787n
16进制:
1B57n
在该命令之后的字符将以正常宽度和正常高度的n倍进行打印。
1≤n≤8,上电或初始化后16点阵n=2,24点阵n=1。
3-4-4、【允许/禁止下划线打印】
格式:
ASCII:
ESC-n
10进制:
27