国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于VFOX的串口票據(jù)打印機系統(tǒng)設計

2012-07-12 05:07:16華中科技大學武昌分校信息科學與技術系
電子世界 2012年18期
關鍵詞:字符集數(shù)據(jù)位波特率

華中科技大學武昌分校信息科學與技術系 陳 青 周 晶

基于VFOX的串口票據(jù)打印機系統(tǒng)設計

華中科技大學武昌分校信息科學與技術系 陳 青 周 晶

本文詳細介紹了在VisualFoxPro6.0數(shù)據(jù)庫中,如何完成串行口票據(jù)打印機的硬件連接,以及利用程序控制方法實現(xiàn)軟件表格的輸出。

打印機;串行口;波特率;控制命令

一、系統(tǒng)硬件構成

打印機采用北京訊普(SIUPO)公司SPTL4004SK針點式80列字符串口打印機。接口為RS-232電平25針串行I/O口。打印機備有DC 5v-3A電源插口。該款打印機內部自帶標準ASCII字符集,和國標二級漢字字庫??纱蛴?X7標準字符,同時也可以打印12X12、16X16點陣漢字。打印機內部設置有35個ESC/P控制命令,與IBM/EPSON ESC/P兼容,同時具有FS標準漢字控制指令集。

25針串口引腳連接如下:1腳+5v(可選接)、2腳RXD(輸出:打印機向主機發(fā)送控制碼)、3腳TXD(輸入:打印機從主機接收數(shù)據(jù))、4腳CTS(輸出:信號“MARK”狀態(tài)高電平,表示打印機忙;信號“space”表示就緒可接收數(shù)據(jù)。5腳GND。

按照以上規(guī)格可以自制連接串口電纜線,用DB25針RS-232公頭接口可以將2、3、4、5腳直接連DB9母頭端口上,因此可將臺式電腦的COM1口直接連接打印機串口。

打印機硬件設置:串口通訊波特率可以在:150、300、600、1200、2400、4800、9600、19200中可選,默認9600。通過DIP6開關設置,本文使用設置狀態(tài)是:110011,即:波特率2400,8位數(shù)據(jù)位,無校驗位。

二、VFOX軟件設計

1.有關打印機漢字控制命令

漢字打印命令包括進入和退出漢字打印、執(zhí)行和取消漢字倍寬打印和設置漢字點陣打印規(guī)格等功能,常用命令如下:

圖1 程序設計思想

(1)進入/退出漢字打印命令

進入:ASCII:FS &;16進制:1C 26;退出:ASCII:FS.;16進制:1C 2E

(2)執(zhí)行/取消漢字倍寬打印

執(zhí)行:ASCII:FS SO;16進制:1C OE取消:ASCII:FS DC4;16進制:1C 14

打印機收到此命令后,漢字將在橫向放大一倍,縱向不改變。每個倍寬方式的執(zhí)行最多保持一行。

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上的實現(xiàn)

1.有關計算機串口COM1端口的控制命令

主要用于打開計算機串行接口COM1,并設置串行通信的波特率以及數(shù)據(jù)位,將它們放在“開始打印”按鈕的click事件中就可以實現(xiàn)打印機和計算機的串行通信。

#define COM1 1 &&此段程序由于串口初始化部分

comm1=createobject("mscommlib.mscomm.1")&&創(chuàng)建Microsoft Communications control控件對象

圖2 打印程序部分代碼

comm1.commport=COM1 &&指定COM1口工作,也可以是其它端口。

comm1.portopen=.t. &&打開COM1口。

comm1.settings="2400,n,8,1"&&設置傳輸速率(波特率2400),無奇偶校驗,數(shù)據(jù)位8,停止位1

2.利用函數(shù)chr(X)將輸出的打印機命令按十六進制格式送入打印機完成控制

例如:當從VFP命令狀態(tài)下,向打印機發(fā)出下列控制碼:chr(0x1c)+chr(0x26)設定進入漢字打印。再發(fā)出命令:chr(0x1b)+chr(0x36)設定字符集1;輸入“How are you!”該字符串將在打印機上打印。

注意:ASCII碼打印只有在打印緩沖區(qū)滿時,或遇到換行(0X0A)回車(0XOD)才執(zhí)行打印。

3.程序設計思想

程序設計思想如圖1左所示。

4.程序實例分析

在現(xiàn)階段的打印機應用程序中,主要通過USB口/或LPT1口實現(xiàn)數(shù)據(jù)的傳輸?shù)模^少有直接通過串口控制打印機實現(xiàn)打印。本例通過VisualFoxPro實現(xiàn)了利用COM1串口讓微型票據(jù)打印機實現(xiàn)打印輸出數(shù)據(jù)表格的作用。啟動應用程序運行后其菜單功能界面如圖1右所示。

(1)技術要點

本例主要是通過VisualFoxPro的表單按鈕實現(xiàn)對數(shù)據(jù)表的直接操作,實現(xiàn)串口打印的,其中的text屬性直接和數(shù)據(jù)表關聯(lián),所有Button按鈕的click(觸發(fā)響應)事件都對應特定的功能代碼。

本實例具有可移植性,可以在任意計算機上實現(xiàn)串口通信打印。

(2)實現(xiàn)過程

①新建一個項目,命名為Ex13_02,默認窗體為Form1。

②在Form1窗體中,主要添加6個Button按鈕,“開始打印”按鈕用于控制打印機輸出,其他按鈕用于對數(shù)據(jù)表的操作。

③打印程序部分代碼如圖2所示。

[1]北京迅普電子技術公司.面板式微型打印機使用說明書[OL].HTTP://WWW.SIUPO.COM.

[2]史濟民,等.VisualFoxPro及其應用系統(tǒng)開發(fā)[M].清華大學出版社,2006,8.

猜你喜歡
字符集數(shù)據(jù)位波特率
A320飛機大氣數(shù)據(jù)的采集和計算在排故中的應用
CAN 總線波特率自適應程序設計
智能制造(2020年5期)2020-07-03 06:24:00
MySQL數(shù)據(jù)庫字符集的問題研究
ORACLE字符集問題的分析
基于FPGA的異步串行通信波特率容錯設計
電子測試(2018年7期)2018-05-16 06:27:18
ORACLE數(shù)據(jù)庫字符集問題及解決方法
醫(yī)院信息系統(tǒng)Oracle數(shù)據(jù)庫中導入數(shù)據(jù)中文亂碼的解決技術
一種適用于FPGA系統(tǒng)中的變速箱電路設計
減少調度自動化設備通訊串口丟包率的措施
電子測試(2016年3期)2016-03-12 04:46:52
C*Core芯片SCI串口波特率容限優(yōu)化
普定县| 开化县| 乐山市| 浙江省| 建湖县| 北票市| 吉木乃县| 马尔康县| 阳新县| 棋牌| 威海市| 葫芦岛市| 九寨沟县| 晋中市| 林州市| 陵水| 阿坝| 同仁县| 临西县| 马公市| 建昌县| 伊金霍洛旗| 叙永县| 郯城县| 青阳县| 科技| 静宁县| 西城区| 溆浦县| 邯郸县| 封开县| 福海县| 四会市| 民丰县| 通许县| 山丹县| 平阳县| 麻城市| 鄄城县| 开江县| 巴南区|