噴墨打印機(jī)在單片機(jī)測控系統(tǒng)中的應(yīng)用
1.1并口打印機(jī)的工作時序
通常情況下,并口噴墨打印機(jī)(以下簡稱打印機(jī))是由普通PC機(jī)來驅(qū)動的。PC機(jī)中的并行端口有三種工作模式,分別是SPP(標(biāo)準(zhǔn)并行接口),EPP(增強(qiáng)型并行接口),ECP(擴(kuò)展型并行端口)。由于SPP實現(xiàn)起來最簡單,因此,本系統(tǒng)參照此接口。
PC機(jī)按SPP模式驅(qū)動噴墨打印機(jī)時采用17根信號線,如果要求單片機(jī)完全按照這種方式工作,實現(xiàn)起來比較繁瑣,占用了很多I/O資源。通過仔細(xì)分析SPP信號線以及打印機(jī)的工作原理之后,我們使用了10根信號線:8根數(shù)據(jù)線,1根狀態(tài)線(用來判斷打印機(jī)是否空閑),1根控制線(用來選通打印機(jī)),試驗結(jié)果表明這種簡化是完全可行的。PC機(jī)并行端口引腳定義請參考相關(guān)資料。圖1是簡化的并口打印機(jī)工作時序。簡化的打印機(jī)工作時序可以概括為:主機(jī)(在此為單片機(jī))在打印機(jī)忙線BUSY為低電平時輸出數(shù)據(jù),產(chǎn)生選通脈沖信號STROBE,將數(shù)據(jù)總線上的數(shù)據(jù)D0~D7鎖存入打印機(jī)中;在打印機(jī)處理此數(shù)據(jù)期間,忙線為高電平,此時主機(jī)不能向打印機(jī)發(fā)送數(shù)據(jù),否則將被丟失。打印機(jī)處理完此數(shù)據(jù)或執(zhí)行完打印操作后,忙線變成低電平,表示數(shù)據(jù)被接收處理完畢,打印機(jī)可以接收下一個數(shù)據(jù)了。
1.2單片機(jī)與并口打印機(jī)的接口電路
設(shè)計的51單片機(jī)和打印機(jī)的接口電路如圖2所示。單片機(jī)只用了10根信號線來驅(qū)動噴墨打印機(jī)。單片機(jī)P0口的8根數(shù)據(jù)線通過74HC377鎖存后和并口的數(shù)據(jù)線相連,向打印機(jī)傳送命令和數(shù)據(jù);I/O引腳P12接并口的BUSY信號線,單片機(jī)檢測到P12管腳為高電平時,繼續(xù)讀取該管腳的狀態(tài),直到為低電平時(表明打印機(jī)可以接受下一個字符)才往數(shù)據(jù)口發(fā)送一個字符。單片機(jī)最高位地址總線P2.7(A15)為低電平時,數(shù)據(jù)便可在單片機(jī)寫控制信號線WR的上升沿鎖入74HC377,隨后P2.6為低電平時,選通信號STROBE有效,數(shù)據(jù)進(jìn)入打印機(jī)。這樣,噴墨打印機(jī)端口地址為0x0000~0x3fff,由于51系列單片機(jī)的存儲器和外設(shè)是統(tǒng)一編址的,外部存儲器地址只能從0x4000開始。如果系統(tǒng)存儲空間不夠,可以改用全譯碼電路來實現(xiàn)。
2EPSON ESC/P打印控制語言簡介
采用EPSON公司的打印控制語言ESC/P,在它的開發(fā)網(wǎng)站上下載編程手冊,里面對這種打印機(jī)語言作了詳細(xì)介紹,本文列出了實際應(yīng)用中常用的控制代碼。
初始化打印機(jī):ESC @
選擇圖形方式:ESC (C nL nH m
其中nL=01H,nH=00H,m=01H或31H。注意,初始化后打印機(jī)處于字符方式。因此要在圖形方式下打印時,必須先執(zhí)行該命令。
設(shè)置單元大?。篍SC (U nL nH m
nL=01H,nH=00H,m=05H,0AH,14H,1Eh,28H,32H,3CH,m取不同的值時單元大小不一樣。單元越小打印機(jī)分辨率越高,因而打印質(zhì)量也就越高。
評論