迅普微型打印机指令集
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
迅普公司简介
北京迅普电子技术公司是专门从事微型打印机研发、设计、生产、销售和技术服务的专业公司,已有十余年经营历史。
可提供针式或热敏打印方式的面板式、台式、便携式、红外、商业POS打印机等众多系列和品种的微型打印机。
产品覆盖面广,可满足各种微型打印的需要。
迅普(SIUPO)微型打印机素以制作精湛、品种齐全、可靠性高、外形美观、功能实用和不断创新为特点,产品已处于国内微型打印机技术的前沿,更具有多项专利技术的支持,深得各界用户的信赖和大力支持。
迅普(SIUPO)产品已广泛应用于多种行业,销售量与日俱增。
北京迅普电子技术公司拥有雄厚的专业技术力量,还可以根据客户要求“量体裁衣”,提供特种微型打印解决方案,灵活地设计生产各种特定场合的特种、专用微型打印机。
公司本着用户第一的思想,急用户所急,多年来已经为不同行业、不同部门,按照客户不同要求,设计生产了大量的非标准和系列外的微型打印机,极大地满足了用户的要求和急需,深受用户的欢迎和获得了良好的赞誉。
作为专业的微型打印机生产公司,不断的研究生产出新的产品是公司生存的根本,迅普电子技术公司在今后将会不断的推出新的产品。
使用专业厂家产品,可保证产品和技术的延续,无后顾之忧。
在您购买迅普公司生产的微型打印机以后,您就成为公司的客户,记录在公司客户档案中。
将获得迅普公司长期提供的技术支持和售后服务。
感谢您使用北京迅普公司生产的迅普(SP)系列微型打印机。
请您在使用打印机之前详细阅读该产品配套的产品使用说明书。
第四章打印命令
SP系列打印机提供了36条打印命令。
这些命令规定了打印机的功能,如选择字符类别和字符集、定义格式、放大或缩小字符、打印汉字、打印点阵图形和定义用户可定义字符等。
打印命令是由一字节控制码或ESC控制码序列组成。
字节控制码用十进制或十六进制数字序列表示,ESC控制码是以“ESC”码开头,后跟其它字符码。
SP系列打印机打印控制码是在参考IBM和EPSON打印机的基础上设计的。
因此,它能够和大多数打印机兼容。
4.1 汉字打印命令:
SP系列打印机自带国标一、二级硬汉字库(12×12点阵或16×16点阵),可打印汉字库中全部汉字。
16×16点阵字库还可选择打印16×16,8×16、16×8、8×8点阵汉字,不同点阵汉字可同行打印,汉字与ASCII 字符可以同行混合打印。
汉字打印使用双字节标准机内码(或国标码)调用。
汉字打印命令包括进入和退出汉字打印、执行和取消汉字倍宽打印和设置汉字点阵打印规格等功能,分别叙述如下:
(1) 进入汉字打印命令
格式: ASCII: FS &
十进制: 28 38
十六进制: 1C 26
打印机接收到以上命令后,将从5×7点阵ASCII字符打印状态转换到16×16点阵的汉字打印状态。
汉字代码是2字节对应一个汉字的标准机内码。
在执行汉字打印命令时,打印机只接接受以下有关汉字打印的命令:
FS . 退出汉字打印
FS SO 设定汉字倍宽打印
FS DC4 解除汉字倍宽
CR 打印并回车换行
LF 打印并回车换行
(2) 退出汉字打印命令
格式: ASCII: FS .
十进制: 28 46
十六进制: 1C 2E
打印机接收以上命令后,将从汉字打印状态切换到5×7点阵ASCII字符打印状态。
可实现16×16点阵汉字与5×7点阵ASCII字符同行混合打印。
(3) 执行汉字倍宽打印
格式: ASCII: FS SO
十进制: 28 14
十六进制: 1C OE
打印机在接收到此命令后,打印的汉字将在横向放大一倍,纵向不改变。
当遇到FS DC4、CR、LF等命令或自动换行之后,则退出汉字倍宽打印。
即每个倍宽方式的执行最多保持一行。
(4) 取消汉字倍宽打印
格式: ASCII: FS DC4
十进制: 28 20
十六进制: 1C 14
取消由FS SO命令执行的汉字倍宽打印方式。
恢复标准汉字打印,可实现不同宽度的汉字同行混合打印。
(5) 设置汉字点阵打印规格(16×16点阵)
格式: ASCII: FS I n
十进制: 28 105 n
十六进制: 1C 69 n
设定汉字点阵:n=0 16×16点阵
n=1 8 ×16点阵
n=2 16×8点阵
n=3 8×8点阵
4.2 选择字符集命令:
SP系列打印机除4.1节所述汉字打印外,还提供了字符集1及2的字符进行打印。
字符集1中有6×8点阵字符224个,包括ASCII字符及一些图形及字符。
字符集2中也有6×8点阵字符224个,包括希腊、德、法、俄、日文片假名及部分图形,字符集1、2的代码及所包含的字符见附录一有效代码表。
(1)选择字符集1
格式: ASCII : ESC 6
十进制 : 27 54
十六进制 : 1B 36
在该命令输入之后的字符均使用字符集1的字符进行打印.
(2)选择字符集2
格式: ASCII : ESC 7
十进制 : 27 55
十六进制: 1B 37
在该命令输入之后的字符均使用字符集2的字符进行打印.
4.3 设置走纸命令
设置走纸命令包括换行、n点行走纸、设置行间距及换页等内容,分别叙述如下:
(1) 换行
格式: ASCII: LF
十进制: 10
十六进制: 0A
打印机向前走一个字符行。
(2) 执行n点行走纸
格式: ASCII: ESC J n
十进制: 27 74 n
十六进制: 1B 4A n
打印机接收到以上命令后,向前走n点行,n的值是1-255范围内。
这个命令不包含回车换行,也不影响后面的换行命令。
(3) 设置 n点行间距
格式: ASCII: ESC I n
十进制: 27 49 n
十六进制: 1B 31 n
后面的换行命令设置n点行间距,n的值是0-255之间,在使用ESC/K命令打印点阵图形时,通常设置n=0。
文本打印时通常设置n=3。
(4) 换页
格式:ASCII: FF
十进制: 12
十六进制: OC
打印纸走到下一页的开始位置。
4.4 格式设置命令
格式设置命令包括设置页长、设置装订长、取消装订长、设置垂直造表值、执行垂直造表、设置水平造表值、执行水平造表、打印空格或空行,设置左、右限等内容。
分别叙述如下:
(1)设置页长
格式: ASCII: ESC C n
十进制: 27 67 n
十六进制: 1B 43 n
页长是每页纸打印的字符行数,页长被设置n字符行。
0≤n≤255,如果n=0,页长定义256行。
默认值n=40。
(2) 设置装订长
格式: ASCII: ESC N n
十进制: 27 78 n
十六进制: 1B 4E n
装订长是指一页与下一页之间的空行数。
装订长被设置成n个字符行。
n的值应在0≤n≤255之间。
默认值n=0。
例如,要设置装订长为3行,向打印机发如下序列:
格式: ASCII: ESC N ETX
十进制: 27 78 3
十六进制: 1B 4E 03
(3) 取消设定装订长
格式: ASCII: ESC 0
十进制: 27 79
十六进制: 1B 4F
装订长被设置成0行,这意味着打印机将一行接一行地打印,中间不会留出页与页之间的空行。
(4) 设置垂直造表值
格式: ASCII: ESC B n1 n2 n3 … NUL
十进制: 27 66 n1 n2 n3 0
十六进制: 1B 42 n1 n2 n3 (00)
输入垂直造表位置n1,n2,等,所有这些都应当在由ESC C命令设置的页长范围内。
例如:n1=3,则在执行垂直造表命令时,走纸到第三字符行时开始打印。
字符NUL加在最后用以表示该命令的结束,所有输入的垂直造表设置都可以用该命令以ESC B NULL的格式清除。
VT命令执行垂直造表,打印纸前进到下一垂直造表位置。
(5) 执行垂直造表
格式: ASCII: VT
十进制: 11
十六进制: 0B
打印纸前进到由ESC B命令设置的下一垂直造表位置。
如果没有设置垂直造表值,或者当前位置已等于或超过最后一个垂直造表位置,VT命令都将只走一行纸(如同LF命令)。
(6) 设置水平造表值
格式: ASCII:ESC D n1 n2 n3 … NUL
十进制: 27 68 n1 n2 n3 0
十六进制: 1B 44 n1 n2 n3 (00)
输入水平造表位置,n1 n2等等,所有这些都应在该型号打印机机头的行宽之内,例如:n1=3,则执行水平造表时,从第三个字符处开始打印。
字符NUL加在最后,表示该命令的结束。
所有输入的水平造表设置,都可以用该命令以ESC D NUL格式清除。
(7) 执行水平造表
格式: ASCII:HT
十进制:9
十六进制:09
打印位置进行到由ESC D命令设置的下一水平造表位置.
如果没有设置水平造表值或者当前打印位置等于或超过最后一个水平造表值,HT命令将不执行。
(8) “打印”空格或空行
格式:ASCII: ESC f m n
十进制: 27 102 m n
十六进制: 1B 66 m n
如果m=0,ESC f NUL n命令将“打印”n个字符空格。
n的值应在该型号打印机机头的行宽之内。
如果m=1,ESC f SOH n命令将“打印”n个字符空行。
0≤n≤255。
例如: 在一行中“打印”6个空格字符,可以发下列命令:
ASCII : ESC f NUL ACK
十进制: 27 102 0 6
十六进制: 1B 66 00 06
又如: 在一页中,要“打印”6行空行,可以发送下列命令:
ASCII : ESC f SOH ACK
十进制: 27 102 1 6
十六进制: 1B 66 01 06
(9) 设置右限
格式: ASCII: ESC Q n
十进制: 27 81 n
十六进制: B 51 n
右限是打印纸右侧空白的字符数,n的数值应当在0到该型号打印机机头的行宽范围内。
默认值n=0,即没有右限。
该命令设置之后,只要到达右限位置,打印机便自动加入回车换行。
例如,要设置右限值为6,可以发送下列命令:
ASCII: ESC Q ACK
十进制: 27 81 6
十六进制: 1B 51 06
(10) 设置左限
格式:ASCII: ESC S n
十进制: 27 108 n
十六进制: 1B 6C n
左限是打印纸左侧空白的字符数,n的数值应在0到该型号打印机的行宽范围内。
默认值n=0,即没有左限。
该命令设置的是绝对位置,不受字符放大命令ESC U 和ESC W 的影响.
例如,要设置左限值为6,可以发送下列命令:
ASCII : ESC L ACK
十进制: 27 108 6
十六进制: 1B 6C 06
4.5 字符设置命令
字符设置命令包括设置字符横、纵向放大;设置上、下划线打印;改变打印字符宽度;设置反白打印及反向打印等,分别叙述如下:
(1) 横向放大
格式:ASCII: ESC U n
十进制: 27 85 n
十六进制: 1B 55 n
在该命令输入之后的字符和图形将以正常宽度的n倍打印。
n的值应在1到4之间,默认值n=1即正常宽度,无横向放大。
(2) 纵向放大
格式: ASCII : ESC V n
十进制: 27 86 n
十六进制: 1B 56 n
在该命令输入之后的字符和图形将以正常高度的n倍打印。
n的值应在1到4之间。
默认值n=1,即无纵向放大。
(3) 横向纵向放大
格式:ASCII: ESC W n
十进制: 27 87 n
十六进制: 1B 57 n
在该命令输入之后的字符和图形将以正常宽度和高度的n倍打印。
n的值应在1到4之间。
默认值n=1即无横向纵向放大。
(4) 允许/禁止下划线打印
格式:ASCII :ESC - n
十进制:27 45 n
十六进制:1B 2D n
n=1:允许下划线打印;n=0:禁止下划线打印。
打印机接收到允许下划线打印命令之后的所有字符,包括空格,都将打印出下划线,除非遇到禁止下划线打印命令。
(5) 允许/禁止上划线打印
格式: ASCII: ESC + n
十进制: 27 43 n
十六进制: 1B 2B n
n=1,允许上划线打印;n=0,禁止上划线打印,打印机接收到允许上划线打印命令后的所有字符,包括空格,都打印出上划线。
(6) 一行内倍宽度打印
格式: ASCII: SO
十进制: 14
十六进制: 0E
在一行内该命令之后的所有字符均以正常宽度的2倍打印。
该命令可以用回车或DC4命令撤除。
正常字符和横向放大字符可以在同一行混合打印。
(7) 撤除一行内倍宽度打印
格式: ASCII: DC4
十进制: 20
十六进制: 14
由SO命令建立的一行内倍宽度打印方式被DC4命令撤除。
该命令不撤除由ESC U和ESC W命令建立
的字符放大方式。
(8) 允许/禁止反白打印
格式: ASCII: ESC I n
十进制: 27 105 n
十六进制: 1B 69 n
如n=1,允许反白打印;n=0禁止反白打印。
反白打印是在黑色背景下打印白字,默认值n=0。
正常打印是在白色背景下打印黑字。
(9) 允许/禁止反向打印
格式: ASCII: ESC C n
十进制: 27 99 n
十六进制: 1B 63 n
当n=1时,设置字符反向打印,即打印方向由右向左打印;当=0时,设置字符正向打印,即打印方向由左向右打印。
通常,当打印机垂直安装时会使用反向打印方式,以便观察打印结果。
通电复位时,
默认值n=1。
4.6 用户定义字符设置命令
(1) 定义用户自定义字符
格式: ASCII: ESC & m n1 n2 ......n6
十进制: 27 38 m n1 n2 ......n6
十六进制: 1B 26 m n1 n2 ......n6
这个命令允许用户定义一个字符。
m 是该用户定义字符码,应在32到255之间。
n1,n2,......n6是定义这个字符的结构码由6×8点阵组成。
即6列每列8点,每一列由一个字节的数据表示,最高位在上,如下图所示。
1 2 3 4 5 6
最高位D7 □□■□□□
□□■□□□
■■■■■□
□□■□□□
□■□■□□
■□□□■□
□□□□□□
最低位D0 □□□□□□
02H 40H
用户定义的字符储存在RAM内,断电后将会丢失。
如果许多ESC &命令使用同一m值,只有最后一个有效。
最多可以定义32个用户定义字符。
(2) 替换用户定义字符
格式:ASCII : ESC % m1 n1 m2 n2...mk nk NUL
十进制: 27 37 m1 n1 m2 n2...mk nk 0
十六进制: 1B 25 ml n1 m2 n2...mk nk 00
该命令可以将当前字符集中的字符n替换为用户定义字符m。
在该命令以后的用户定义字符m将会
代替当前字符集中的字符n打印出来。
ml, m2,...mk是用户定义的字符码。
n1, n2,...nk是当前字符集中要被替换的字符码。
m和n的数值都应在32到255之间。
? 32≤m≤61,32≤n≤255
下标k的值应在l到32之间。
最大可替换的字符数是32。
字符NUL加在最后表示该命令的结束。
(3) 恢复字符集中的字符
格式:ASCII:ESC :
十进制:27 58
十六进制:1B 3A
该命令恢复字符集中的原字符,该字符在此之前已被ESC %命令替换为用户定义字符。
但是用户定义字符并不从RAM中删除,它还可以用ESC %命令调出使用。
(4) 打印点阵图形
格式:ASCII :ESC K n1 n2…data….
十进制:27 75 n1 n2…data….
十六进制:1B 4B n1 n2…data….
该命令打印n1×8点阵图形。
该图形的宽度为n1点,高度为8点。
每一列的8个点可以由一个8位的字节来表示,最高位在上。
n1和n2的数值代表一个16位二进制数,n1为低8位字节,n2为高8位字节,表示ESC K命令要打印的图形宽度为n2×256+ n1。
在SP系列微打中,n2应是零,n1应当在1到该机型的每行最大点数之间。
data是该点阵图形从左向右每一列的字节内容。
字节个数应等于n1。
当图形的高度大于8点时。
可按每8点行一个图形单元划分成多个单元。
不足8点的用空点补齐。
然后按顺序每个图形单元分别用ESC K命令打印出来,最后组成一个完整的图形。
注意:当采用反向打印方式时,要按图形从下到上的顺序依次打印每个图形单元。
例如:用ESC K命令打印两个汉字“中文”。
这两个汉字的点阵如下所示。
每个字符由7×8点阵组成有7列。
两字符之间有一空格,因此总共15列,于是,n1=15,n2=0,15个字节的数据以十六进制表示如下:
7C,44,44,FF,44,44,7C,00,41,62,54,C8,54,62,41。
最高位□□□■□□□□□□□■□□□□
■■■■■■■□■■■■■■■□
■□□■□□■□□■□□□■□□
■□□■□□■□□□■□■□□□
■□□■□□■□□□□■□□□□
■■■■■■■□□□■□■□□□
最低位□□□■□□□□■□□□□□■□
7CH41H
(5) 打印曲线
格式:ASCII :ESC m n1 n2…nk…. CR
十进制:27 39m n1 n2...nk. (13)
十六进制:1B 27m n1 n2…nk…. 0D
该命令用于沿走纸方向打印曲线图形,m的数值是要打印的曲线条数,它应当在1到该机型每行最大点数之间。
在一水平点行内,有m个曲线点n1 n2 … nk代表这m个曲线的位置,nk的数量应等m,每一nk都应落在该机型每行最大点数内。
最后的CR(回车)是让打印出这一点行。
整个m条曲线的图形就是由每一点行用n1 n2 … nk 这些数据打印出来的。
4.7初始化命令
初始化打印机
格式:ASCII:ESC @
十进制:27 64
十六进制:1B 40
●清除打印缓冲区
●恢复默认值
●选择字符集1
●删除用户定义字符
4.8 数据控制命令
(1) 回车
格式:ASCII:CR
十进制:13
十六进制:0D
当发送一个CR命令到打印机时,在缓冲区中的所有字符或汉字都将被打印出来,而且纸向前走一行。
(2) 删除一行
格式:ASCII:CAN
十进制:24
十六进制:18
该命令删除该命令码之前打印缓冲区内的所有文本,回到上一个回车码。
它不删除该行内的任何控制码。
(3) 删除一字节
格式:ASCII:DEL
十进制:127
十六进制:7F
该命令删除在该命令码打印缓冲区内的一个字符,除非这个字符已被打印。
该命令不会删除控制码。
(4) 空
格式:ASCII:NUL
十进制:0
十六进制:00
NUL命令和某些命令,例如:ESC D ‘ ESC %,和ESC’等一起使用,用于表示这些命令的结束.
NUL命令单独使用时不起作用.
4.9 选择十六进制形式打印命令
允许/禁止十六进制形式打印
格式:ASCII:ESC " n
十进制:27 34 n
十六进制:1B 22 n
如果n=1,允许十六进制形式打印;如果n=0禁止十六进制形式打印。
当允许十六进制形式打印时,所有的主计算机发出的命令和数据都将以十六进制码在打印机上打印出来,直到收到ESC " NUL后,恢复正常打印。
例如,当从主计算机向打印机发出下列4个数据时:
LPRINT CHR$(O);CHR$(27);"A"CHR$(24);
这些数据将以十六进制码在打印机上打印出来:
00 1B 41 18
十六进制形式打印只有在打印缓冲区满时才执行打印。
第五章打印机维护
5.1 机头维护
为了确保打印机能正常工作,请注意不要随意拆卸打印机机头。
不要自行将打印机改动。
对于不使用打印机外壳的用户,要注意保护打印头。
禁止直接用螺丝刀拆卸卷纸胶轴咬合齿轮下放螺钉。
●如果长期不使用打印机,请切断打印机电源。
●如发现打印机工作不正常时请关掉打印机电源。
●使用电源必须符合要求,否则对打印机机头不利。
●不要对打印头上润滑油。
●更换纸卷时请注意打印头上是否有纸屑、灰尘,如有请轻轻除去。
●更换色带盒时,不要用力压色带盒,否则可能压坏机头上的轮轴。
●保持打印机线路板干净无尘土。
●禁止反向拉动打印纸,避免直接拉动打印纸,如需进纸请用按键走纸方式。
5.2 其它
●不要插拔控制板上的芯片,如有异常,请送厂家维修。
●色带盒上没有上油孔,不要对色带盒上色带油,否则会毁坏机头(有需要上油时,请上在色带芯上)。
●用户自行压制连接电缆时,请注意打印机接口是并行口还是串行口,不要和主机发生连接错误。
附录一有效代码表
有效代码表的编号是从OOH~OFFH排列的,其中OOH~IFH用于命令,20H~OFFH用于字符码。
每个字符码由两个字符组成,下表字符集中的字符码都是从20H~OFFH排列的。
字符集1:上电、初始化或1B 36 字符集2:1B 37
附录二打印命令码表
十进制十六进制符号和格式功能十进制十六进制符号和格式功能
0 00 NUL 结束标志27 66 1B 42 ESC B nl…nk NUL 设定垂直造表值
9 09 HT 水平造表27 67 1B 43 ESC C n 设置页长为n行
10 0A LF 换行27 68 1B 44 ESC D nl…nk NUL 设定水平造表值
11 0B VT 垂直造表27 74 1B 4A ESC J n 走纸n点行
12 OC FF 换页27 75 1B 4B ESC K nl n2…data…打印nl×8点阵图形
13 0D CR 回车27 78 1B 4E ESC N n 设定订长为n行
14 0E SO 放大字符2倍27 79 1B 4F ESC O 取消装订长度
20 14 DC4 撤除 SO 27 81 1B 51 ESC Q n 设定右限宽度
24 18 CAN 删除当前行字符27 85 1B 55 ESC U n 横向放大n倍
27 34 1B 22 ESC”n 允许/禁止十六进制打印27 86 1B 56 ESC V n 竖向放大n倍
27 37 1B 25 ESC% ml nl…mk nk NUL 替换码nk为定义码mk 27 87 1B 57 ESC W n 横向竖向放大n倍27 38 1B 26 ESC& m nl n2…n6 自定义字符 27 99 1B 63 ESC c n 允许/禁止反向打印27 39 1B 27 ESC’m nl n2…nk CR 打印m个曲线点27 102 1B 66 ESC f m n 打印空格或换行
27 43 1B 2B ESC + n 允许/禁止上划线打印27 105 1B 69 ESC i n 允许/禁止反白打印27 45 1B 2D ESC - n 允许/禁止下划线打印27 108 1B 6C ESC i n 设定左限宽度
27 49 1B 31 ESC 1 n 设定行距为n点行127 7F DEL 删除最后一个字符27 54 1B 36 ESC 6 选择字符集1 28 38 1C 26 FS & 设置汉字打印方式27 55 1B 37 ESC 7 选择字符集2 28 34 1C 2E FS . 取消汉字打印方式27 58 1B 3A ESC :恢复原码28 0E 1C 0E FS SO 汉字横向放大一倍27 64 1B 40 ESC @ 初始化打印机28 20 1C 14 FS DC4 取消汉字横向放大。