基于VFOX的串口票据打印机系统设计

来源 :电子世界 | 被引量 : 0次 | 上传用户:evil
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】本文详细介绍了在VisualFoxPro6.0数据库中,如何完成串行口票据打印机的硬件连接,以及利用程序控制方法实现软件表格的输出。
  【关键词】打印机;串行口;波特率;控制命令
  一、系统硬件构成
  打印机采用北京讯普(SIUPO)公司SP—TL4004SK针点式80列字符串口打印机。接口为RS—232电平25针串行I/O口。打印机备有DC 5v—3A电源插口。该款打印机内部自带标准ASCII字符集,和国标二级汉字字库。可打印5X7标准字符,同时也可以打印12X12、16X16点阵汉字。打印机内部设置有35个ESC/P控制命令,与IBM/EPSON ESC/P兼容,同时具有FS标准汉字控制指令集。
  25针串口引脚连接如下:1脚+5v(可选接)、2脚RXD(输出:打印机向主机发送控制码)、3脚TXD(输入:打印机从主机接收数据)、4脚CTS(输出:信号“MARK”状态高电平,表示打印机忙;信号“space”表示就绪可接收数据。5脚GND。
  按照以上规格可以自制连接串口电缆线,用DB25针RS—232公头接口可以将2、3、4、5脚直接连DB9母头端口上,因此可将台式电脑的COM1口直接连接打印机串口。
  打印机硬件设置:串口通讯波特率可以在:150、300、600、1200、2400、4800、9600、19200中可选,默认9600。通过DIP6开关设置,本文使用设置状态是:110011,即:波特率2400,8位数据位,无校验位。
  二、VFOX软件设计
  1.有关打印机汉字控制命令
  汉字打印命令包括进入和退出汉字打印、执行和取消汉字倍宽打印和设置汉字点阵打印规格等功能,常用命令如下:
  (1)进入/退出汉字打印命令
  进入:ASCII:FS &;16进制:1C 26;退出:ASCII:FS.;16进制:1C 2E
  (2)执行/取消汉字倍宽打印
  执行:ASCII:FS SO;16进制:1C OE 取消:ASCII:FS DC4;16进制:1C 14
  打印机收到此命令后,汉字将在横向放大一倍,纵向不改变。每个倍宽方式的执行最多保持一行。
  2.选择字符集命令
  SP系列打印机汉字打印外,还提供了字符集1进行字符打印。字符集1中有6×8点阵字符224个,包括ASCII字符及一些图形及字符。
  (1)选择字符集1:ASCII:ESC 6;16进制:1B 36
  在该命令输入之后的字符均使用字符集1的字符进行打印。
  (2)设置n点行间距:ASCII:ESC I n;16进制:1B 31 n
  后面的换行命令设置n点行间距,n的值是0—255之间,在使用ESC/K命令打印点阵图形时,通常设置n=0。文本打印时通常设置n=3。
  三、有关打印机命令在VisualFoxPro上的实现
  1.有关计算机串口COM1端口的控制命令
  主要用于打开计算机串行接口COM1,并设置串行通信的波特率以及数据位,将它们放在“开始打印”按钮的click事件中就可以实现打印机和计算机的串行通信。
  #define COM1 1 &&此段程序由于串口初始化部分
  comm1=createobject("mscommlib.mscomm.1")&&创建Microsoft Communicati—ons control控件对象
  comm1.commport=COM1 &&指定COM1口工作,也可以是其它端口。
  comm1.portopen=.t. &&打开COM1口。
  comm1.settings="2400,n,8,1"&&设置传输速率(波特率2400),无奇偶校验,数据位8,停止位1
  2.利用函数chr(X)将输出的打印机命令按十六进制格式送入打印机完成控制
  例如:当从VFP命令状态下,向打印机发出下列控制码:chr(0x1c)+chr(0x26)设定进入汉字打印。再发出命令:chr(0x1b) +chr(0x36)设定字符集1;输入“How are you!”该字符串将在打印机上打印。
  注意:ASCII码打印只有在打印缓冲区满时,或遇到换行(0X0A)回车(0XOD)才执行打印。
  3.程序设计思想
  程序设计思想如图1左所示。
  4.程序实例分析
  在现阶段的打印机应用程序中,主要通过USB口/或LPT1口实现数据的传输的,较少有直接通过串口控制打印机实现打印。本例通过VisualFoxPro实现了利用COM1串口让微型票据打印机实现打印输出数据表格的作用。启动应用程序运行后其菜单功能界面如圖1右所示。
  (1)技术要点
  本例主要是通过VisualFoxPro的表单按钮实现对数据表的直接操作,实现串口打印的,其中的text属性直接和数据表关联,所有Button按钮的click(触发响应)事件都对应特定的功能代码。
  本实例具有可移植性,可以在任意计算机上实现串口通信打印。
  (2)实现过程
  ①新建一个项目,命名为Ex13_02,默认窗体为Form1。
  ②在Form1窗体中,主要添加6个Button按钮,“开始打印”按钮用于控制打印机输出,其他按钮用于对数据表的操作。
  ③打印程序部分代码如图2所示。
  参考文献
  [1]北京迅普电子技术公司.面板式微型打印机使用说明书[OL].HTTP://WWW.SIUPO.COM.
  [2]史济民,等.VisualFoxPro及其应用系统开发[M].清华大学出版社,2006,8.
其他文献
本文通过分析某市中小企业信托融资案例,力图探索出一条可行的并且可复制的中小企业信托融资模武,在实质风险可控的前提下,为不同中小企业提供个性化融资解决方案,支持中小企业的
如今,随着科学技术的飞速发展,网络技术覆盖在生活的各个领域,尤其在教育领域中,有显著作用。其中,微课教学在数学教学中得到了普及。微课在初中数学教学中成了热点,微课是以
自主创新是区域竞争力的核心要素,随着国内外经济竞争力的增强,广东省外源式的经济模式已经不能适应经济发展的需要,要想在激烈的市场竞争中求得生存和发展,就必须具备能够占据优
随着现代经济的快速发展和素质教育的不断深入,学校教育越来越重视学生的综合素质。我国初中英语课堂开始探求新型的教育模式,许多教师将“生本理念”运用于初中英语课堂上为
随着新课程改革的逐渐深入和发展,中小学的数学教学方式开始向多元化发展,都是以提升中小学生的数学水平为出发点和落脚点。思维导图是一种新兴的教学模式,是发散性思维图形
作为国家第一批创建“世界一流高科技园区示范园区”,武汉东湖高新区经过二十年创新创业实践,以“光电”的发展速度夯实产业基础,以大项目带动产业集群的集聚,在以光电子为龙头的
民间体育游戏具有一定的娱乐性和传承性,如果能够将民间游戏的内容融入到初中的体育课堂中,往往能够很好地激发学生运动的兴趣,提高学生参与体育活动的效果。所以初中体育教