第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、2 37
第一部分 性能指示
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接口与引脚定义
并行接口插座引脚序号如下图所示:
并行接口插座引脚序号
IDE 26针并行接口各引脚信号的定义如下图表所示:
面板式引脚
信 号
方向
说 明
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 并口例程
单片机控制打印机时汇编例程
BUSY EQU P3.2 ; 定义BUSY信号引脚
nSTB EQU P3.7 ; 定义nSTB信号引脚
PE EQU P3.3 ; 定义纸检测信号引脚
nACK EQU P3.4 ; 定义应答信号引脚
nERR EQU P3.1 ; 定义错误检测信号引脚
nSEL EQU P3.0 ; 定义在线检测信号引脚
ORG 0000H
JMP start
start: MOV DPTR, #print_content
MOV R0, #9 ; 存待打印数据的字节数
main: CLR A
MOVC A, @ A + DPTR
LCALL PRINTB
INC DPTR
DJNZ R0, MAIN
MOV A, #0DH
LCALL PRINTB
SJMP $ ;打印结束死循环
;PRINTB子程序将累加器A中的一字节数据发送到打印机
PRINTB:
JB BUSY, $ ; 等待打印机到空闲
MOV P1 , A ; 送数据到数据口
CLR nSTB ; 置nSTB为低电平
NOP ; 延长nSTB信号脉冲宽度以满足时序要求
nop
nop
SETB nSTB ; 置nSTB为高电平(此时数据将被读入打印机)
RET
print_content:
DB '北京炜煌'
DB 0dh
END
单片机C51例程
// 北京炜煌科技打印机示例程序
// Nocky Tian
// 2007-07-17
#include
// Hardware configuration
#define PRINTER_DATA P1 // 定义打印机数据线端口
sbit BUSY = P3^2; // 定义打印机忙信号引脚
sbit nSTB = P3^7; // 定义打印机nSTB信号引脚
sbit PE = P3^3; // 定义打印机纸状态检测信号引脚
sbit nACK = P3^2; // 定义打印机应答信号引脚
sbit nERR = P3^1; // 定义打印机错误检测信号引脚
sbit nSEL = P3^0; // 定义打印机在线检测信号引脚
#define CR 0x0d
#define LF 0x0a
void PrintByte(unsigned char byte_data);
void PrintString(char* str);
void PrintByteN(unsigned char* data_src,unsigned char N);
void main(void)
{
char str[] = "Printer demo";
PrintString("WHKJ Printer");
PrintByte(CR);
while(1);
}
/* PrintByte()
* Send a byte to printer
* Nocky Tian @ 2006-7-17
*/
#include
void PrintByte(unsigned char byte_data)
{
while( BUSY == 1 ){
}
PRINTER_DATA = byte_data;
nSTB = 0;
_nop_(); // 调整nSTB信号脉宽
nSTB = 1;
}
/* PrintString()
* Print a string which is ending with a '\0' character
* To Excuted the print command a addition CR character is needed
* Nocky Tian @ 2006-7-17
*/
void PrintString(char* str)
{
while( *str ){
PrintByte( *(str++));
}
}
/* PrintByteN()
* Print N bytes through printer
* no more than 255 bytes could be printed by the function
* If more than 255 bytes need printing, the type of N need changing
* to unsigned int, even unsigned long if necessary.
* Nocky Tian @ 2006-07-17
*/
void PrintByteN( unsigned char* data_src, // pointer to data source
unsigned char N) // number of data(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、和19200 B.P.S.内选择需要的波特率,出厂时设定波特率为9600 B.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 串口例程
单片机控制打印机时汇编例程
; 北京炜煌串口打印机示例程序
; Nocky Tian
; 2006-07-18
BUSY EQU P3.0 ; 定义BUSY信号引脚
ORG 0000H
JMP start
ORG 30h
start: MOV DPTR, #print_content
MOV R2, #77 ; R2保存待打印数据的字节数
LCALL SETUART ; 设置串口
main: CLR A
MOVC A, @A+DPTR ; 读出待打印字符
MOV R0, A
LCALL PRINTB ; 打印一个字节
INC DPTR
DJNZ R2, MAIN
MOV A, #0DH
LCALL PRINTB
SJMP $ ;打印结束无限循环
;PRINTB子程序将累加器A中的一字节数据发送到打印机
; 待发送数据通过R0传递
PRINTB: PUSH ACC
JB BUSY, $ ; 等待打印机到空闲
JNB TI, $ ; 等到上一字节是否发送完,第一个字节发送前要手动置TI,见SETUART了函数
CLR TI
MOV A, R0 ; 保存待打印数据
MOV SBUF, A ; 送数据到打印机
POP ACC
RET
;设置串口子程序
;不使用中断, 定时器1用作波特率发生器
SETUART: MOV TMOD, #20H ;设置定时器T1工作模式3
MOV TH1, #0FAH
MOV TL1, #0FAH ; 设置波特率 9600bps @ 22.1184MHz
SETB TR1 ; 启动定时器T1
MOV SCON, #50H ; 设置串行口工作方式为异步串行口,模式1
SETB TI ; 设置标志位,为发送数据作准备
RET
; 定义待打印数据内容
; 保存在程序段
print_content:
DB '北京炜煌科技微型打印机', 0DH, 'MicroPrinter demo', 0DH
DB '画线工具栏',0dh
DB '-------------------------'
END
单片机C51例程
#include
#define uchar unsigned char
sbit BUSY=P3^0;
// 定义一个发送字节数据到串口的函数
void Print_Byte(uchar ch){
while(BUSY){
}
SBUF=ch;
while(!TI){
}
#include
TI=0;
}
//定义发送一个数组的数据到串口的函数
void Print_Array(array,n)
uchar array[];
int n;
{
int i;
for(i=0;i
本文档为【最新A9热敏打印机说明书】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。