<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 噴墨打印機在單片機測控系統中的應用

噴墨打印機在單片機測控系統中的應用

作者: 時(shí)間:2015-04-08 來(lái)源:網(wǎng)絡(luò ) 收藏

  1.51單片機與打印機接口設計

本文引用地址:http://dyxdggzs.com/article/272206.htm

  1.1并口打印機的工作時(shí)序

  通常情況下,并口(以下簡(jiǎn)稱(chēng)打印機)是由普通PC機來(lái)驅動(dòng)的。PC機中的并行端口有三種工作模式,分別是SPP(標準并行接口),EPP(增強型并行接口),(擴展型并行端口)。由于SPP實(shí)現起來(lái)最簡(jiǎn)單,因此,本系統參照此接口。

  PC機按SPP模式驅動(dòng)時(shí)采用17根信號線(xiàn),如果要求單片機完全按照這種方式工作,實(shí)現起來(lái)比較繁瑣,占用了很多I/O資源。通過(guò)仔細分析SPP信號線(xiàn)以及打印機的工作原理之后,我們使用了10根信號線(xiàn):8根數據線(xiàn),1根狀態(tài)線(xiàn)(用來(lái)判斷打印機是否空閑),1根控制線(xiàn)(用來(lái)選通打印機),試驗結果表明這種簡(jiǎn)化是完全可行的。PC機并行端口引腳定義請參考相關(guān)資料。圖1是簡(jiǎn)化的并口打印機工作時(shí)序。簡(jiǎn)化的打印機工作時(shí)序可以概括為:主機(在此為單片機)在打印機忙線(xiàn)BUSY為低電平時(shí)輸出數據,產(chǎn)生選通脈沖信號STROBE,將數據總線(xiàn)上的數據D0~D7鎖存入打印機中;在打印機處理此數據期間,忙線(xiàn)為高電平,此時(shí)主機不能向打印機發(fā)送數據,否則將被丟失。打印機處理完此數據或執行完打印操作后,忙線(xiàn)變成低電平,表示數據被接收處理完畢,打印機可以接收下一個(gè)數據了。

  

 

  1.2單片機與并口打印機的接口電路

  設計的51單片機和打印機的接口電路如圖2所示。單片機只用了10根信號線(xiàn)來(lái)驅動(dòng)。單片機P0口的8根數據線(xiàn)通過(guò)74HC377鎖存后和并口的數據線(xiàn)相連,向打印機傳送命令和數據;I/O引腳P12接并口的BUSY信號線(xiàn),單片機檢測到P12管腳為高電平時(shí),繼續讀取該管腳的狀態(tài),直到為低電平時(shí)(表明打印機可以接受下一個(gè)字符)才往數據口發(fā)送一個(gè)字符。單片機最高位地址總線(xiàn)P2.7(A15)為低電平時(shí),數據便可在單片機寫(xiě)控制信號線(xiàn)WR的上升沿鎖入74HC377,隨后P2.6為低電平時(shí),選通信號STROBE有效,數據進(jìn)入打印機。這樣,噴墨打印機端口地址為0x0000~0x3fff,由于51系列單片機的存儲器和外設是統一編址的,外部存儲器地址只能從0x4000開(kāi)始。如果系統存儲空間不夠,可以改用全譯碼電路來(lái)實(shí)現。

  

 

  2EPSON ESC/P打印控制語(yǔ)言簡(jiǎn)介

  采用EPSON公司的打印控制語(yǔ)言ESC/P,在它的開(kāi)發(fā)網(wǎng)站上下載編程手冊,里面對這種打印機語(yǔ)言作了詳細介紹,本文列出了實(shí)際應用中常用的控制代碼。

  初始化打印機:ESC @

  選擇圖形方式:ESC (C nL nH m

  其中nL=01H,nH=00H,m=01H或31H。注意,初始化后打印機處于字符方式。因此要在圖形方式下打印時(shí),必須先執行該命令。

  設置單元大?。篍SC (U nL nH m

  nL=01H,nH=00H,m=05H,0AH,14H,1Eh,28H,32H,3CH,m取不同的值時(shí)單元大小不一樣。單元越小打印機分辨率越高,因而打印質(zhì)量也就越高。

  選擇單色/彩色命令:ESC (K nL nH m n

  nL=01H,nH=00H,m=00H,n=00H,01H,02H。當n=00H時(shí),打印機處于默認的彩色模式;當n=01H時(shí),打印機置為單色模式,即只能打印出黑色;當n=02H時(shí),打印機置為彩色模式,可打印四種顏色。

  打印光柵圖像命令:ESC . c v h m N1 Nh d1…dk

  c=0,1,2表示打印模式。當c=0時(shí),打印機工作在非壓縮模式;c=1時(shí),打印機處于壓縮模式;v:垂直方向打印密度,在這里v=30,因此垂直方向打印密度為3600/v=120(dpi);h:水平方向打印密度,在此h=10,因而水平方向打印密度為360(dpi);m:打印頭橫向移動(dòng)過(guò)程中垂直方向所含點(diǎn)數,也就是光柵個(gè)數或掃描行數;nL,nH:水平方向所含點(diǎn)數為((256*nH)+nL);k:所有數據個(gè)數,非壓縮方式下值為m*int((nH*256+nL+7)/8),壓縮方式下其值不定;d:數據。如果打印機要打印漢字或者圖形,那它一定要工作在圖形方式,因此每送一次數據給打印機都要用到它。要熟練掌握該命令才能準確、快速地編寫(xiě)應用程序。另外,打印機工作在光柵圖形模式下,它在水平方向和垂直方向上的分辨率是不一樣的,因此在打印過(guò)程中送給打印機的點(diǎn)陣和通常情況下(比如液晶顯示)是不一樣的,必須要經(jīng)過(guò)轉換后(橫向放大三倍,縱向不變)才能夠打印出正常字體。

  設置水平位置,設置水平相對位置,設置垂直位置,設置垂直相對位置這4條命令也用得比較多,其用法也很簡(jiǎn)單,另外還有一些偶爾用到的命令,詳情可參閱EPSON C4X編程手冊,在此就不一一列舉了。

  3打印程序設計

  打印機的驅動(dòng)軟件采用C51編寫(xiě),在keil C51環(huán)境下編譯通過(guò),能夠正常工作。以下是其中的一些關(guān)鍵部分:

  

51單片機相關(guān)文章:51單片機教程


單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 噴墨打印機 ECP

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>