新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于C8051F系列單片機的標簽打印機接口設(shè)計

基于C8051F系列單片機的標簽打印機接口設(shè)計

作者: 時間:2011-05-20 來源:網(wǎng)絡(luò) 收藏


2 EPL2打印描述語言
該系統(tǒng)采用斑馬公司的桌面型888-TT,其編程語言為EPL2打印描述語言。EPL2語言主要包含了對進行操作的一打印指令。在此主要用到了其中的A指令和B指令:A指令的作用主要是用來打印文本;B指令的作用主要是用來打印條碼。
“A”指令:用于打印文本字符。語法為:Ap1,p2,p3,p4,p5,p6,p7,“DATA”。其中包含了7個參數(shù)p1~p7,和需要打印的文本數(shù)據(jù)“DATA”。下面對參數(shù)進行介紹:
p1為以像素點為單位的水平起始位置;
p2為以像素點為單位的垂直起始位置;
p3為旋轉(zhuǎn),參數(shù)的值以及對應(yīng)的角度見表1;

本文引用地址:http://2s4d.com/article/172753.htm

b.jpg


p4為字體選擇;
p5為水平膨脹;
p6為垂直膨脹;
p7中,N代表普通,R表示反轉(zhuǎn)圖像。
“B”指令:用于打印標準條碼。語法為:Bp1,p2,p3,p4,p5,p6,p7,p8,“DATA”。它包含了8個參數(shù)p1~p8,和需要打印的條碼數(shù)據(jù)“DATA”。下面對8個參數(shù)進行介紹:
p1為以像素點為單位的水平起始位置;
p2為以像素點為單位的垂直起始位置;
p3為旋轉(zhuǎn),參數(shù)的值以及對應(yīng)的角度與A指令的
p3參數(shù)相同,見表1;
p4為條碼選擇;
p5為窄條的像素寬度;
p6為寬條的像素寬度;
p7為條碼的像素點高度;
p8為打印可讀代碼,B為是,N為否。

3 驅(qū)動程序
打印機驅(qū)動程序的流程圖如圖4所示。

c.jpg


打印機的驅(qū)動程序由三部分組成:打印機初始化、文本打印和條碼打印。打印機初始化函數(shù)Printer_Init()的程序代碼段如下:
d.jpg
首先向打印機發(fā)送“Y96,O,8,1”,作用是將打印機的波特率設(shè)置為9 600 b/s,沒有校驗,8位數(shù)據(jù)位和1位停止位,與串口參數(shù)設(shè)置一致。接下來發(fā)送“q500”,作用是將的寬度定義為500個像素點。最后發(fā)送“ZT”,作用是控制打印的方向從紙張的頭部開始打印,初始化完成時,返回發(fā)送成功的標志true。
文本打印函數(shù)Print_String()的程序代碼段如下:
e.jpg
定義一個數(shù)組,該數(shù)組的作用是用來存放需要打印的臨時數(shù)據(jù)。程序中的注釋部分給出了打印數(shù)據(jù)DATA”的具體格式,首先發(fā)送“N”指令,其作用是清空打印緩沖區(qū),然后送入要打印的文本數(shù)據(jù)。最后發(fā)送“P”指令,其作用是打印,后面的參數(shù)“1”是指打印1份。整個指令段通過數(shù)組的賦值傳入PrintBuffer中,然后通過串口發(fā)送函數(shù)將數(shù)據(jù)發(fā)送給打印機,實現(xiàn)文本的打印操作。條碼打印函數(shù)Print_Bar()的程序代碼段如下:
f.jpg
與文本打印類似,*Str為要打印的條碼數(shù)據(jù)。串口發(fā)送完成時,返回成功標志true,即實現(xiàn)條碼的打印操作。當(dāng)需要重新啟動打印機時,同樣要向打印機發(fā)送相關(guān)的指令,也就是“^@”指令,該指令的作用是重新啟動打印機。重新啟動打印機函數(shù)Printer_Reset()的程序代碼段如下:
g.jpg

4 結(jié)語
在此采用低功耗SoC020作為主機控制器,完成了斑馬公司的888-TT打印機的串行及驅(qū)動的實現(xiàn)。系統(tǒng)已成功應(yīng)用于程控耐壓絕緣測試儀中,并取得了良好的效果。不僅節(jié)省了很多人力資源,同時也提高了數(shù)據(jù)記錄的準確度和效率。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉