炜煌热敏汉字微打使用手册 
目  录 
第一部分 性能指示 .................................... - 2 - 
第二部分 操作说明 .................................... - 3 - 
第三部分 打印命令祥解 ................................... 19 
第四部分 命令速查表 ..................................... 35 
第五部分 西文字符集 1、2 ................................ 38 
  - 1 -                                                                                                            http://www.whkj.com.cn 
 
 
 
 
第一部分 性能指示 
1、打印方法:         直接热敏打印 
2、打印纸宽:         57.5±0.5mm 
3、打印密度:         8 点/mm,384 点/行 
4、打印头寿命:       6×106字符行 
5、有效打印宽度:     48mm 
6、走纸速度:         25%的字符率的情况下为 50mm/s(9V 时) 
7、打印字符:         6*8 点阵西文字符集 1、2;20h—7fh 间的标准 ASCII 码半角字符。国标一、二级汉
字(16*16 点阵、24*24 点阵两种,可根据需要选用不同点阵类型的打印机) 
8、接口形式:         并行接口  
                      串行接口 232 电平或 TTL 电平 
9、操作温度:         5~50℃ 
10、操作相对湿度:    10~80% 
- 2 -                                                                                                                  http://www.whkj.com.cn 
 
                                                                     炜煌热敏汉字微打使用手册 
11、储存温度: 
 
-20~60℃ 
12、储存相对湿度: 
10~90% 
13、电源:   
 
DC 5V 3A 或 DC 9V-24V,25W(请参考具体型号) 
 
第二部分 操作说明 
2.1  并行接口连接 
2.1.1 接口与引脚定义 
插座引脚序号如下图所示: 
 
  - 3 -                                                                                                            http://www.whkj.com.cn 
 
 
IDE 26 针并行接口各引脚信号的定义如下图表所示: 
平台式引 信 号  方
说                     明 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
13 
15 
这些信号分别代表并行数据的第一至第八位信号,每个信号当其逻辑为“1”时为
“高”电平,逻辑为“0”为“低”电平。 
-STB  入  数据选通触发脉冲,上升沿时读入数据 
DATA1  入 
DATA2  入 
DATA3  入 
DATA4  入 
DATA5  入 
DATA6  入 
DATA7  入 
DATA8  入 
-ACK  出  回答脉冲,“低”电平表示数据已被接受而且打印机准备好接收下一数据 
BUSY  出  “高”电平表示打印机正“忙”,不能接收数据 
SEL  出  打印机内部经电阻上拉“高”电平,表示打印机在线 
-ERR  出  打印机内部经电阻上拉“高”电平,表示无故障 
14,16,17 
 
  空脚 
25-18 
GND  —  接地,逻辑“0”电平 
注: 1.“入”表示输入到打印机。 2.“出”表示从打印机输出。 3.信号的逻辑电平为 TTL 电平。 
- 4 -                                                                                                                  http://www.whkj.com.cn 
 
                                                                     炜煌热敏汉字微打使用手册 
2.1.2 并行接口引脚信号时序 
并口时序如下图所示: 
                                                                                                       
BU SY
/A CK
 
                                                                                   
 
 
DA TA
/S TB
                                                         
2.1.3 并口例程 
单片机控制打印机时汇编例程 
0.5μS 
0.5μS 
0. 5μS 
0. 5μS 
0. 5μS 
BUSY   
EQU P3.2   
; 定义 BUSY 信号引脚 
nSTB    
EQU P3.7   
; 定义 nSTB 信号引脚 
 
 
 
ORG 0000H 
 
  - 5 -                                                                                                            http://www.whkj.com.cn 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
LJMP start 
start: 
MOV   DPTR, #print_content 
 
 
MOV   R0,   #9             ; 存待打印数据的字节数 
main:  
CLR   
 A 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PRINTB: 
MOVC   
 A, @ A + DPTR 
LCALL  
 PRINTB 
INC    
 DPTR 
DJNZ   R0,  MAIN 
MOV   A,   #0DH 
LCALL  
PRINTB 
SJMP       $ 
 
 
;打印结束死循环 
;PRINTB 子程序将累加器 A 中的一字节数据发送到打印机 
                JB 
 
BUSY,  $   
; 等待打印机到空闲 
 
 
 
MOV   
P1 , A  
 
; 送数据到数据口 
- 6 -                                                                                                                  http://www.whkj.com.cn 
 
                                                                     炜煌热敏汉字微打使用手册 
; 置 nSTB 为低电平 
; 延长 nSTB 信号脉冲宽度以满足时序要求 
; 置 nSTB 为高电平(此时数据将被读入打印机) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
nSTB   
 
 
CLR   
NOP   
nop 
nop 
SETB       nSTB   
 
 
 
              
RET 
print_content:   
 
 
 
 
 
 
DB '北京炜煌' 
DB 0dh 
END               
            
单片机 C51 例程 
// 北京炜煌科技打印机示例程序 
#include  
// Hardware configuration 
#define PRINTER_DATA  P1 
 
 
// 定义打印机数据线端口 
sbit BUSY  = P3^2; 
  - 7 -                                                                                                            http://www.whkj.com.cn 
 
// 定义打印机忙信号引脚 
 
 
 
 
sbit nSTB  = P3^7; 
 
 
 
// 定义打印机 nSTB 信号引脚 
 
#define CR  
#define LF  
0x0d 
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 
- 8 -                                                                                                                  http://www.whkj.com.cn