资源描述
第一部分 性能指示 2
第二部分 操作说明 3
2.1 并行接口连接 3
2.1.1接口与引脚定义 3
2.1.2 并行接口引脚信号时序 5
2.1.3 并口例程 5
2.2 串行接口 11
2.2.1 串行接口引脚定义 11
2.2.2 修改波特率和通讯模式设置 12
2.2.3 串口例程 14
2.3 电源连接 19
第三部分 打印命令祥解 20
第四部分 命令速查表 33
第五部分 西文字符集1、2 37
第六部分 型号结构和部分说明 38
第一部分 性能指示
1、打印方法: 直接热敏打印
2、打印纸宽: 57.5±0.5mm
3、打印密度: 8点/mm,384点/行
4、打印头寿命: 6×106字符行
5、有效打印宽度: 48mm
6、走纸速度: 根据打印机电源电压不现而不同。电压越高,速度越快。5V直流电源时为30mm/秒
7、打印字符: 6*8点阵西文字符集1、2;20h—7fh间的标准ASCII码半角字符。国标一、二级汉字(16*16点阵、24*24点阵两种,可根据需要选用不同点阵类型的打印机)
8、接口形式: 并行接口 IDE 26针插座,TTL电平
串行接口 IDE 10针插座,232电平或TTL电平
9、操作温度: +5~50℃
10、操作相对湿度: 10~80%
11、储存温度: -20~+60℃
12、储存相对湿度: 10~90%
13、电源: 直3.5V~9V,2A
第二部分 操作说明
2.1 并行接口连接
2.1.1接口与引脚定义
本系列打印机并口与CENTRONICS兼容,支持BUSY/ACK握手协议,接口插座为IDE 26针插座。
并行接口插座引脚序号如下图所示:
并行接口插座引脚序号
IDE 26针并行接口各引脚信号的定义如下图表所示:
面板式引脚
信 号
方向
说 明
1
-STB
入
数据选通触发脉冲,上升沿时读入数据
3
DATA1
入
这些信号分别代表并行数据的第一至第八位信号,每个信号当其逻辑为“1”时为“高”电平,逻辑为“0”为“低”电平。
5
DATA2
入
7
DATA3
入
9
DATA4
入
11
DATA5
入
13
DATA6
入
15
DATA7
入
17
DATA8
入
19
-ACK
出
回答脉冲,“低”电平表示数据已被接受而且打印机准备好接收下一数据
21
BUSY
出
“高”电平表示打印机正“忙”,不能接收数据
25
SEL
出
打印机内部经电阻上拉“高”电平,表示打印机在线
4
-ERR
出
打印机内部经电阻上拉“高”电平,表示无故障
2,6,8,26
空脚
10-24(中偶数)
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 <reg52.h>
// 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 <intrins.h>
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接口兼容。其接口分别如下图所示:
T
T
232电平接口
TTL电平接口
R
R
说明:图中粗黑线条为短路块,当使用232电平时,T接口接图所示插上短路块,R接口为数据线接口;当使用TTL电平时,R接口闲置不用,T接口为数据线接口。
接口引脚定义如下表所示:
引脚
信号
方向
说 明
5
TxD
入
打印机从主计算机接收数据
3
RxD
出
当使用X-ON/X-OFF握手时,打印机向上微机发送控制码
2
BUSY
出
该信号高电平时,表示打印机正“忙”不能接受数据,而当该信号低电平时,表示打印机“准备好”,可以接收数据)
6
BUSY
出
同BUSY(TTL电平时,此引脚为空引脚)
9
GND
—
信号地
注: 1.“入”表示输入到打印机; 2.“出”表示从打印机输出
2.2.2 修改波特率和通讯模式设置
1、按SEL键不放手同时给打印机上电,打印机进入串口设置与打印方向设置状态,并打印出状态设置报告,
2、此后,再按SEL键,打印机打印出串口状态设置报告,打印机进入串口设置状态。
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、修改完之后需要重新上电启动。
另附改变打印机打印浓度、打印方向的方法:
● 改变打印浓度操作
1、按LF键不放手给打印机上电,打印机打印出打印浓度状态设置报告后,打印机进入打印浓度设置状态。
2、按SEL键,增量调整打印浓度,按LF键,减量调整打印浓度,得到自已满意的浓度后打印机重新上电
● 改变打印方向操作步骤
1、按SEL键不放手同时给打印机上电,打印机进入串口设置与打印方向设置状态(并口打印机没有关于串口设置的提示),并打印出状态设置报告,
2、此后,按LF键,打印机打印出打印方向设置报告,打印机进入打印方向设置状态。
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 <reg52.h>
#define uchar unsigned char
sbit BUSY=P3^0;
// 定义一个发送字节数据到串口的函数
void Print_Byte(uchar ch){
while(BUSY){
}
SBUF=ch;
while(!TI){
}
#include <REG52.H>
TI=0;
}
//定义发送一个数组的数据到串口的函数
void Print_Array(array,n)
uchar array[];
int n;
{
int i;
for(i=0;i<n;i++)
Print_Byte(array[i]);
}
//定义一个把字符串送到串口的函数
void Print_String(uchar *str){
while(*str){
Print_Byte(*str++);
}
}
void main(){
int i;
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_Byte(0x00);
Print_String("北京炜煌科技发展有限公司");
Print_Byte(13);
while(1);
}
2.3 电源连接
本系列打印机采用DC 3.5V~9V 2A直流电源,电源插口如下图所示:
1 2 3
说明:1接电源正极,2为空脚,3接电源负极。打印机出厂时配有一根红白颜色的电源线,其中红线接电源正极,白线接电源负极。
第三部分 打印命令祥解
一、选择字符集命令
3-1-1、【选择字符集1】
格式: ASCII: ESC 6
10进制: 27 54
16进制: 1B 36
在该命令之后的字符将使用字符集1的字符进行打印。
字符集1中有字符224个,代码范围20H-FFH(32-255)。包括ASCII字符,及各种图形符号等。
3-1-2、【选择字符集2】
格式: ASCII: ESC 7
10进制: 27 55
16进制: 1B 37
在该命令之后输入的代码将选择字符集2的字符打印。
字符集2中有字符224个,代码范围20H-FFH(32-225)。包括德、法、俄文、日语片假名等。
3-1-3、【进入汉字方式】
格式:ASCII: FS &
10进制: 28 38
16进制: 1C 26
该命令用于进入汉字方式。在中文打印方式时,打印机接收的汉字代码为标准机内码,根据该代码寻找打印机内的硬汉字字模,如找到则打印,否则不打印。打印机接收到单字节的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
打印缓冲区内容,打印机向前走纸一个字符行,即(字符行高+行间距)个点行。若打印缓冲区内无内容,则每执行两个0A打印机向前走纸一个字符行。
3-2-2、【执行n点行走纸】
格式: ASCII: ESC J n
10进制: 27 74 n
16进制: 1B 4A n
打印纸向前进给n点行(点为绝对值,不受放大或缩小命令影响),1≤n≤255.
三、格式设置命令
3-3-1、【设置n点行间距】
格式: ASCII: ESC 1 n
10进制: 27 49 n
16进制: 1B 31 n
为后面的换行命令设置n点行间距(点为绝对值,不受放大或缩小命令影响),0≤n≤255,上电或初始化后n=3。
3-3-2、【设置字符间距】
格式: ASCII: ESC p n
10进制: 27 112 n
16进制: 1B 70 n
该命令是设定字符之间的空点。
默认方式为零,即字符之间没有空点(点为绝对值,不受放大或缩小命令影响),n在0~255之间。
3-3-3、【设置垂直造表值】
格式: ASCII: ESC B n1 n2...NUL
10进制: 27 66 n1 n2...0
16进制: 1B 42 n1 n2...00
输入垂直造表间隔间隔值n1,n2等,最多可输入8个间隔值。例n1=3,则执行垂直造表(VT命令)进纸到第3个单位行开始打印,单位行的高度按8+行间距 个点行计算(每单位行高度的实际值是绝对的,不受字符的放大或缩小命令影响)。数据NUL加在最后表示该命令的结束。
所有输入的垂直造表位置,可用该命令以ESC B NUL的格式清除。
3-3-4、【执行垂直造表】
格式: ASCII: VT
10进制: 11
16进制: 0B
打印纸进给到由ESC B命令设置的下一垂直造表位置。如果垂直造表位置已清除,或当前位置已等于或超过最后一个垂直造表位置,VT命令将只走纸一单位行。
3-3-5、【设置水平造表值】
格式: ASCII: ESC D n1 n2...NUL
10进制: 27 68 n1 n2...0
16进制: 1B 44 n1 n2...00
输入水平造表位置n1,n2等,最多可输入8个位置,这些数据应在所配打印头和放大倍数等制约下的每行能打印最多字符数之内。例n1=3,则执行水平造表(HT命令)时在第3个字符处开始打印,每个字符的宽度按(字符点阵宽度+字间距)个点计算(每个字符宽度的实际值是相对的,受字符的放大或缩小命令影响)。数据NUL加在最后表示该命令结束。所有输入的水平造表位置,可用该命令以ESC D NUL的格式清除。
当对汉字执行水平造表的命令时,因其造表的位置是按字符设置的,还要受到放大倍数的影响,设置时需要注意,以达到预设置效果。
3-3-6、【执行水平造表】
格式: ASCII: HT
10进制: 9
16进制: 09
打印位置进行到由ESC D命令设置的下一水平造表位置。
如果水平造表位置已清除,或当前打印位置已等于或超过最后一个水平造表位置,HT命令将不执行。
3-3-7、【打印空格或空行】
格式: ASCII: ESC f m n
10进制: 27 102 m n
16进制: 1B 66 m n
如果m=0,ESC f NUL n将打印n个空格,每个空格的宽度按(字符点阵宽度+字间距)计算。n值应在所配打印头行打印最多字符数内。如果m=1,ESC f SOH n将打印n行单位行(8点行),1≤n≤255。
3-3-8、【设置右限】
格式: ASCII: ESC Q n
10进制: 27 81 n
16进制: 1B 51 n
右限即打印纸右侧不打印的字符数,每个字符的宽度按(字符的点阵宽度+字间距)计算(每个字符宽度的实际值是相对的,受字符的放大或缩小命令影响);n的数值应在0到所配打印头的能打印的字符数内;上电或初始化后n=0;即没有右限。
3-3-9、【设置左限】
格式: ASCII: ESC 1 n
10进制: 27 108 n
16进制: 1B 6C n
左限即打印纸左侧不打印的字符数,每个字符的宽度按(字符点阵宽度+字间距)计算(每个字符宽度的实际值是相对的,受字符的放大或缩小命令影响);n的数值应在0到所配打印头的行宽范围内,上电或初始化后n=0。
3-3-10、【灰度打印】
格式:ASCII: ESC m n
10进制: 27 109 n
16进制: 1B 6D n
n的值为1~12级,“1”颜色最浅,“12”颜色最深,默认值为“1”。用于针对不同的热敏纸的颜色深浅不一问题。
四、字符设置命令
3-4-1、【横向放大】
格式: ASCII: ESC U n
10进制: 27 85 n
16进制: 1B 55 n
该命令之后的字符将以正常宽度的n倍进行打印。
1≤n≤8,上电或初始化后16点阵n=2,24点阵n=1。
3-4-2、【纵向放大】
格式: ASCII: ESC V n
10进制: 27 86 n
16进制: 1B 56 n
该命令之后的字符将以正常高度的n倍进行打印。1≤n≤8,上电或初始化后16点阵n=2,24点阵n=1。
3-4-3、【横向纵向放大】
格式: ASCII: ESC W n
10进制: 27 87 n
16进制: 1B 57 n
在该命令之后的字符将以正常宽度和正常高度的n倍进行打印。
1≤n≤8,上电或初始化后16点阵n=2,24点阵n=1。
3-4-4、【允许/禁止下划线打印】
格式: ASCII: ESC - n
10进制: 27 45 n
16进制: 1B 2D n
n=1允许下划线打印,n=0禁止下划线打印,上电或初始化后n=0允许下划线打印后,所有字符和汉字包括空格都打印出下划线。
3-4-5、【允许/禁止上划线打印】
格式: ASCII: ESC + n
10进制: 27 43 n
16进制: 1B 2B n
n=1允许上划线打印,n=0禁止上划线打印,上电或初始化后n=0允许上划线打印,所有字符和汉字包括空格都打印出上划线。
3-4-6、【允许/禁止反白打印】
格式: ASCII: ESC I n
10进制: 27 105 n
16进制: 1B 69 n
n=1允许反白打印,n=0禁止反白打印,上电或初始化后n=0。
允许反白打印后的字符和汉字将以黑底白字打印出来。
3-4-7、【允许/禁止反向打印】
格式: ASCII: ESC c n
10进制: 27 99 n
16进制: 1B 63 n
当n=0时,设置字符反向打印,打印方向是由右向左。
当n=1时,设置字符正向打印,打印方向是由左向右。
当打印机垂直安装时,为便于观察打印结果,应使用反向字符打印方式。
打印机出厂默认值:n=1。
3-4-8、【6x8字符旋转打印指令】
格式: ASCII: FS I n
10进制: 28 73 n
16进制: 1C 49 N
该命令可以转动6*8点阵的字符.
N=0时,字符逆时针转动0度
N=1时,字符逆时针转动90度
N=2时,字符逆时针转动180度
N=3时,字符逆时针转动270度
五、用户定义字符设置命令
3-5-1、【定义用户自定义字符】
格式: ASCII: ESC & m n1 n2...ni
10进制: 27 38 m n1 n2...ni
16进制: 1B 26 m n1 n2...ni
分为汉字16点阵和24点阵两种类型
这个命令允许用户定义一个字符, m是该用户自定义字符码,32≤m≤61。参数n1,n2,...ni是这个字符的结构码。其中i需要根据所用微打的汉字打印类型而定:
16点阵,字符是由8×16点阵组成。即8列每列16点,每一列由两个字节的数据表示,字节设置按先从左到右,再自上而下的顺序设置,此时i的值为8×2=16,
12345678
D7□□□□□□□□
□□□□□□□□
■■■■■■■■
■■■■■■■■
□□□■■□□□
□□□■■□□□
□□□■■□□□
D0□□□■■□□□
D7□□□■■□□□
□□□■■□□□
□□□■■□□□
□□□■■□□□
□■□■■□□□
□□■■■□□□
□□□□□□□□
D0□□□□□□□□
n1=30H,n2=30h,n3=30h,n4=3fh,n5=3fh,n6=30h
n7=30h,n8=30h,n9=00h,n10=08h,n11=06h,n12=0fch
n13=0fch,n14=00h,n15=00h,n16=00h
24点阵,字符是由12×24点阵组成,即12列每列24点,每列由三个字节的数据表示,字节设置按先从左到右,再自上而下的顺序设置,即此时i的值为12×3=36,如图所示
1 2 3 4 5 6 7 8 9 10 11 12
D7□□□□□□□□□□□□
□□□□□□□□□□□□
□□□□□□□□□□□□
■■■■■■■■■■■■
■■■■■■■■■■■■
□□□□□■■□□□□□
□□□□□■■□□□□□
D0□□□□□■■□□□□□
D7□□□□□■■□□□□□
□□□□□■■□□□□□
□□□□□■■□□□□□
□□□□□■■□□□□□
□□□□□■■□□□□□
□□□□□■■□□□□□
□□□□□■■□□□□□
D0□□□□□■■□□□□□
D7□□□□□■■□□□□□
□□□□□■■□□□□□
□□□□□■■□□□□□
□□□■□■■□□□□□
□□□□■■■□□□□□
□□□□□□□□□□□□
□□□□□□□□□□□□
D0□□□□□□□□□□□□
n1=18H,n2=18H,n3=18H,n4=18H,n5=18H
n6=1fH,n7=1fH,n8=18H,n9=18H,n10=18H
n11=18H,n12=18H,n13=00H,n14=00H,n15=00H,
n16=00H,n17=00H,n18=ffH,n19=ffH,n20=00H
n21=00H,n22=00H,n23=00H,n24=00H,n25=00H
n26=00H,n27=00H,n28=80H,n29=08H,n30=f8H
n31=f8H,n32=00H,n33=00H,n34=00H,n35=00H
n36=00H
如果许多ESC&命令使用同一m值,只有最后一个有效,最多可定义30个字符。
3-5-2、【替换自定义字符】
格式: ASCII: ESC % m1 n1 m2 n2...mk nk NUL
10进制: 27 37 m1 n1 m2 n2...mk nk 0
16进制: 1B 25 m1 n1 m2 n2...mk nk 00
该命令可以将当前字符集中的字符n替换为用户定义字符m。
m1,m2,...mk是用户定义的字符码。
n1,n2,...nk是当前字符集中要被替换的字符码。
32≤m≤61。 32≤n≤61。
1≤k≤32,最多可替换的字符数是32。
数据0加在最后表示该命令的结束。
3-5-3、【恢复字符集中的字符】
格式: ASCII: ESC :
10进制: 27 58
16进制: 1B 3A
该命令恢复字符集中的原字符,该字符在此之前已被用ESC%命令替换为用户定义字符。
3-5-4【选择上下标】
格式: ASCII: FS r n
10进制: 28 114 n
16进制: 1c 72 n
该命令可以选择上下标的位置,n=0是上标,n=1是下标。
所谓上(下)标是指当某字符的高度小于本行最大字符的高度时,本字符与最大字符是上(下)对齐的。
六、图形打印命令
3-6-1、【打印点阵图形】
格式: ASCII: ESC K ml mh n1 n2...ni...
10进制: 27 75 ml mh n1 n2...ni...
16进制: 1B 4B ml mh n1 n2...ni...
ml mh的数值表示一个16位的二进制数,ml为低8位字节,mh高8位字节,输入图形数据的个数为mh×256+m1,即i=mh×256+m1(图形打印大小受字符放大或缩小命令影响)。
对于16点阵:该命令打印i×8点阵图形单元(图形)。该图形宽度为i点,高度为8点,每一列的8个点由1个8位的字节表示,最高位在上。
对于24点阵:该命令打印(i/3)×24点阵图形单元(图形)。该图形宽度为i/3点,高度为24点,每一列的24个点由3个8位的字节表示,各个8位字节最高位在上。数据设置输入时,按照打印图形点阵的列8位字节为单位,先从上到下,再自左到右的顺序格式设置输入。
当图形高度大于一个图形单元时,可以把图形分割成多个单元,多次设置打印;不足点的可用空点补齐。
1 2 3 4 5 6 7 8 9 10 1112
最高位D7:□□□■□□□□□■□□
□■■■■■□■■■■■
□■□□□□□□□■□□
□■□□□□□□□■□□
□■□□□□□□■□■□
■□□□□□□■□□□■
□□□□□□□□□□□□
最低位D0:□□□□□□□□□□□□
02H 40H 44H 44H
3-6-2、【打印点行图形】
格式:ASCII: FS K n1 n2 data.1~data.n2
10进制:28 75 n1 n2 data.1~data.n2
16进制:1C 4B n1 n2 data.1~data.n2
n1: 最低两位有效,
n1.0=1时,打印机倍高打印当前图形
n1.0=0时,打印机以正常高度打印当前图形
n1.1=1时,打印机倍宽打印当前图形
n1.1=0时,打印机以正常宽度打印当前图形
n2:每一点行发送数据的字节数。正常宽度打印时,n2最大可取48(打满一点行为384个点,每8个点一个字节,8*48),倍宽打印时n2最大取24.
Data.1~data.n2:n2个字节图形数据。
该指令是完成水平一点行图形数据打印,可以完成液晶屏拷贝打印。
3-6-3、【打印曲线1】
格式:ASCII:ESC ’ml mh l1 h1 l2 h2 l3 h3 … li hi… CR
10进制:27 39 ml mh l1 h1 l2 h2 l3 h3 … li hi… 13
16进制:1B 27 ml mh l1 h1 l2 h2 l3 h3 … li hi…… 0D
注:曲线点数和曲线点的位置都是用双字节数据表示的, m1,li为低字节,mh,hi为高字节。
该命令用于沿走纸方向分行设置、打印曲线图形,ml mh的数值是每行内需要打印的曲线点数,它应当在1到该机型每行最大点数之间。
li hi代表这ml mh个曲线点中第i个点的位置。i最大值应等于ml mh,li hi的值都应落在每行最大点数之内。曲线的图形是由每一点行用li hi这些数据设置打印出来。
CR、13、0D 是打印机
展开阅读全文