微型打印机与FPGA的硬件接口及软件设计

EDA/PCB 时间:2010-12-28来源:网络

e.JPG

2.2 打印机控制命令及程序设计
RD-E型微型打印机提供了39条打印命令,打印命令与多数打印机兼容。其中,汉字打印命令其格式由16进制数表示,则为x“1B”x“3 8”x“n”。在连续3次接收数据后若接收到的是该命令,打印机将根据n值的不同选择不同点阵的汉字。在汉字打印方式中,打印机接收的汉字代码是2个字节对应一个汉字的标准机内码,即打印机每接收2个字节的机内码可调出一个汉字。打印机先接收机内码的高位字节,再接收低位字节。设计中,由于欲打印的数据分 16×16和12×12两种点阵汉字,所以n值设置为0或4,当n=O选择16×16点阵汉字打印,n=4选择12×12点阵汉字印,n的默认值为0。另一条命令是纸给进命令,即换行命令,其格式用16进制数表示为:x“OA”打印机打印当前缓冲器里的数据,并向前走纸一行,如果缓冲器里没有数据,则只执行向前走纸一行。打印空格或空行命令,其格式用16进制数表示为:x“1B”x“6 6”x“M”x“n”。如果M=O,该命令将打印n个空格;如果M=1,该命令将打印n个空行。由于打印数据必须与表头的栏目一一对应,而且每行打印的字符点阵不会完全相同,所以编程过程中对空格数的控制是需要花功夫的,调试时便出现过打印的已处理数据与表头不对应的情况。由于打印机内嵌选择字符集1和自定义字符集2,打印的数据中含有自定义字符集中的字符,所以还需选择打印输出字符集数据。字符集选择由命令x“1B”x“36和x“1B”x“37”来实现。回车命令的命令字为x“0D”。打印机收到本命令后,即对缓冲区内的命令和字符进行处理,并按要求打印缓冲区内的全部字符或汉字。
打印机内置的汉字代码为标准汉字内码,高字节数值范围A1H~F7H,对应1~87区汉字;低字节数值范围A1H~FEH,对应每一区中的汉字位码1~94。汉字的区位码与机内码之间相互计算的方法为:
区码转换为16进制数,位码转换为16进制数
机内码高字节=区码+AOH
机内码低字节=位码+AOH
例如电阻的“阻”字区位码为5572,即55区,第2个字,其机内码为D7E8,将55(十进制)转为37(16进制),37H+AOH=D7H;将 72(十进制)转为48(16进制),48H+AOH=E8H,所以对表头要打印的汉字将其区位码转换成内码后存储起来,按先高字节,后低字节的顺序,在打印命令之后写入打印机即可。
1 2 3 4

关键词: FPGA 微型打印机 软件设计 硬件接口

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版