秦岭文库(kunmingchi.com)你想要的内容这里独有!

AA打印机.pdf

forerunner15 页 363.716 KB
AA打印机.pdfAA打印机.pdfAA打印机.pdfAA打印机.pdfAA打印机.pdf

AA打印机.pdf

炜煌热敏打印机手册 目 录 第一部分 性能指示.............................................................................- 1 第二部分 操作说明.............................................................................- 1 第三部分 打印命令祥解.....................................................................- 8 第四部分 西文字符集 1、2..............................................................- 14 第五部分 命令速查表.......................................................................- 15 - 第一部分 性能指示 1、打印方法: 直接热敏打印 2、打印纸宽: 57.5±0.5mm 3、打印密度: 8 点/mm,384 点/行 4、打印头寿命: 6×10 字符行 5、有效打印宽度: 48mm 6、打印速度: 25%的字符率的情况下为 30mm/秒 7、字库: 0x20—0xa0 间的西文字符集 1、2; 6 20h—7fh 间的标准 ASCII 码半角字符; 国标一、二级汉字 要打印机汉字时,不用对打印机进行有关选择字库的任何设置,只需输入汉字标准 代码即可。16 点阵汉字默认为放大 2 倍大的 16*16 点阵字,24 点阵默认放大一倍。 8、接口形式: 并口 TTL 电平及串口 TTL 电平 232 电平 485 电平 9、操作温度: 5~50℃ 10、操作相对湿度: 10~80% 11、储存温度: -20~60℃ 12、储存相对湿度: 10~90% 13、电源: DC 5V 3A www.whkj.com.cn -1- 炜煌热敏打印机手册 第二部分 操作说明 2.1 按键与指示灯 打印机有两个功能按键:LF 键和 SET 键,一个指示灯:绿灯。 其中绿灯为状态指示灯,上电后为常亮状态,缺纸时灯闪。 指示灯同时是 LF 键 ,SET 键在背面,靠近通信接口处小孔内。正常上电后,LF 键为走纸键,SET 键无效。 2.1.1 打印机自检方法 打印机断电,按 LF 键不放手同时给打印机上电,松手,打印机就会打印出自检条。 2.1.2 改变打印方向的方法 1、打印机断电,按 SET 键不放手同时给打印机上电,松手,打印机打印出状态设置报告。 2、按 SET 键进入工作模式。 3、再按 SET 键进入设置打印方向状态,LF 为正向,SET 为反向打印,设置完成后打印机需重新上电。 2.1.3 改变打印浓度的方法 1、打印机断电,按 SET 键不放手同时给打印机上电,松手,打印机打印出状态设置报告。 2、按 LF 键进入改变打印浓度状态,LF 为增量,SET 为减量,设置完成后打印机需重新上电。 2.1.4 改变波特率及串口工作方式的方法 1、打印机断电,按 SET 键不放手同时给打印机上电,释放按键后,打印出状态设置报告。 2、按 SET 键进入工作模式。 3、按 LF 键进入串口设置状态。按 SET 键改变打印机的通讯模式:两种,有奇偶校验位和无奇偶校验位;按 LF 键改变波特率:1200,2400,4800,9600,19200bps.设置完成后打印机需重新上电。 2.2 并行接口 2.2.1 接口与引脚定义 本系列打印机并口与 CENTRONICS 兼容,支持 BUSY/ACK 握手协议,接口插座为 IDE 20 针插座。当打印机接口为 TTL 电平时,同时兼容 TTL 串口(见 2.3)。并行接口插座引脚序号如下图所示: 1 19 2 20 并行接口插座引脚序号 2.2.2 并行接口引脚信号时序 并口时序如下图所示: BU SY /A CK DA TA /S TB 0. 5μS 0. 5μS 0. 5μS 0. 5μS 0. 5μS 并口时序图 www.whkj.com.cn -2- 炜煌热敏打印机手册 IDE 20 针并行接口各引脚信号的定义如下图表所示: 方 面板式引脚 信 号 说 明 向 1 -STB 入 数据选通触发脉冲,上升沿时读入数据 3 DATA1 入 5 DATA2 入 7 DATA3 入 9 DATA4 入 这些信号分别代表并行数据的第一至第八位信号,每个信号当其逻辑为“1” 11 DATA5 入 时为“高”电平,逻辑为“0”为“低”电平。 13 DATA6 入 15 DATA7 入 17 DATA8 入 20 -ACK 出 回答脉冲,“低”电平表示数据已被接受而且打印机准备好接收下一数据 18 BUSY 出 “高”电平表示打印机正“忙”,不能接收数据 14 Ports&p 入 为并口时,此引脚接地。 19 PE 出 高电平表示缺纸 4 SEL 出 打印机内部经电阻上拉“高”电平,表示打印机在线 2、6、8、10、12、16 GND — 接地,逻辑“0”电平 注: 1.“入”表示输入到打印机。 2.“出”表示从打印机输出。 3.信号的逻辑电平为 TTL 电平。 2.2.3 并口例程 单片机控制打印机时汇编例程 BUSY EQU P3.2 ; 定义 BUSY 信号引脚 nSTB EQU P3.7 ; 定义 nSTB 信号引脚 ORG 0000H JMP start start: MOV DPTR, #print_content MOV main: R0, CLR #9 ; 存待打印数据的字节数 A MOVC A, @ A + DPTR LCALL PRINTB INC DPTR DJNZ R0, MAIN MOV A, LCALL SJMP #0DH PRINTB $ ;打印结束死循环 ;PRINTB 子程序将累加器 A 中的一字节数据发送到打印机 PRINTB: JB BUSY, MOV P1 , A CLR nSTB NOP $ ; 等待打印机到空闲 ; 送数据到数据口 ; 置 nSTB 为低电平 ; 延长 nSTB 信号脉冲宽度以满足时序要求 nop nop SETB nSTB ; 置 nSTB 为高电平(此时数据将被读入打印机) RET print_content: DB '北京炜煌' DB 0dh END 单片机 C51 例程 www.whkj.com.cn -3- 炜煌热敏打印机手册 #include #define PRINTER_DATA P1 sbit BUSY = P3^2; // 定义打印机数据线端口 // 定义打印机忙信号引脚 sbit nSTB = P3^7; // 定义打印机 nSTB 信号引脚 #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 */ #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 */ 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. */ void PrintByteN( unsigned char* data_src, unsigned char N) // pointer to data source // number of data(byte) { while( N--){ PrintByte(*(data_src++)); www.whkj.com.cn -4- 炜煌热敏打印机手册 } } 2.3 串行接口 2.3.1 串行接口引脚定义 本系列打印机串口电平标准为三种:TTL 电平、232 电平与 485 电平。其引脚序号为: 1 19 2 20 说明: 当打印机为 TTL 电平时,接口引脚定义如下: 引脚 信号 方向 19 20 TXD RXD 出 入 18 BUSY 出 2、6、 8 、 GND 12 、 16 — 说 明 打印机向主机发送控制码 打印机从主计算机接收数据 该信号为高电平时,表示打印机“忙”不能接受数据,而当该信号 为低电平时,表示打印机“准备好” ,可以接收数据 接地,逻辑‘0’电平 注: 1.“入”表示输入到打印机; 2.“出”表示从打印机输出;3.未标注脚为空脚。 当打印机为 232 电平时,接口引脚定义如下: 引脚 信号 方向 20 19 TxD RxD 出 入 18 BUSY 出 2、6、 8 、 GND 12 、 16 — 说 明 打印机向主机发送控制码 打印机从主计算机接收数据 该信号为高电平时,表示打印机“忙”不能接受数据,而当该信号 为低电平时,表示打印机“准备好” ,可以接收数据 接地,逻辑‘0’电平 注: 1.“入”表示输入到打印机; 2.“出”表示从打印机输出;3.未标注脚为空脚。 当打印机为 485 电平时,接口引脚定义如下: 引脚 信号 19 20 B A 2、6、8、12、16 GND 2.3.2 波特率和通讯模式 改变波特率和通讯模式的方法参见 2.1 用户可在 1200、2400、4800、9600、和 19200 B.P.S.内选择需要的波特率,出厂时设定波特率为 9600 B.P.S.。 www.whkj.com.cn -5- 炜煌热敏打印机手册 通讯模式两种:方式 1 或方式 3 通信两种,出厂时设定工作方式 1。 串行连接采用异步传输格式,如下图所示: 1位 8位 起始位 0 数据位 1 位 奇偶校验位 1 位 停止位 1 串行口工作方式 1:一帧信息为 10 位,1 位起始位,8 位数据位,1 位停止位。 串行口工作方式 3:一帧信息为 11 位,1 位起始位,8 位数据位,1 位校验位,1 位停止位。 2.3.3 串口例程 单片机控制打印机时汇编例程 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; www.whkj.com.cn -6- 炜煌热敏打印机手册 // 定义一个发送字节数据到串口的函数 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

相关文章