摘要:介紹一種采用MCS51系列單片機(jī)控制驅(qū)動(dòng)Hewlett Packard DESKJET 600/800系列噴墨打印機(jī)的硬件接口設(shè)計(jì)和軟件設(shè)計(jì)方法。以控制打印機(jī)實(shí)現(xiàn)表格打印功能為例,給出了用C51語(yǔ)言編寫的一系列相關(guān)基本控制程序。
單片機(jī)應(yīng)用系統(tǒng)中最常用的輸出打印設(shè)備是微型打印機(jī),例如TP系列、UP系列打印機(jī)等,對(duì)它們的控制技術(shù)也較為成熟。但是近年來隨著通用打印機(jī)的廣泛使用,微型打印機(jī)的缺點(diǎn)也日益明顯:一是通用性及互換性不強(qiáng);二是打印輸出文檔的幅面過小,不便于裝訂及存檔。而通用打印機(jī)都配有國(guó)際標(biāo)準(zhǔn)并行接口(CENTRONICS)和串行接口(RS232/422),紙張大小可任意選擇。這些特點(diǎn)是微型打印機(jī)所無法抗衡的。因此在越來越多的單片機(jī)應(yīng)用系統(tǒng)中逐漸趨向于使用通用打印?魑?蠐∈涑鏨璞浮1疚慕檣芰艘訫CS-51系列單片機(jī)為核心,通過CENTRONICS國(guó)際標(biāo)準(zhǔn)8位并行接口控制驅(qū)動(dòng)HP-DJ 600/800系列噴墨打印機(jī)的硬件接口電路沒計(jì)方法及控制程序設(shè)計(jì)方法。
1 CENT日ONICS接口標(biāo)準(zhǔn)
HP-DJ 600/800 系列噴墨打印機(jī)采用與C正N-TRONICS標(biāo)準(zhǔn)兼容的并行打印機(jī)接口,接口各引腳信號(hào)的定義如表1所示。
表1 CENTRONICS接口信號(hào)
引腳號(hào) 信號(hào) 方向 說明 1 STB 輸入 數(shù)據(jù)選通觸發(fā)脈沖 2~9 D0D7 輸入 數(shù)據(jù)線 10 ACK 輸出 應(yīng)答脈沖 11 BUSY 輸出 “忙”信號(hào) 13 SEL 輸出 打印機(jī)在線 14 ERR 輸出 故障指示 12、18~25 GND - 接地
2 硬件設(shè)計(jì)
本著統(tǒng)一編址控制的原則,硬件原理如圖1所示。
本設(shè)計(jì)采用MCS-51系列的89C52型單片機(jī),其內(nèi)部有8K字節(jié)的程序存儲(chǔ)器,盡可滿足本設(shè)計(jì)的程序、表格的存儲(chǔ)要求。在外部擴(kuò)展了一片數(shù)據(jù)存儲(chǔ)器62256作為打印數(shù)據(jù)緩沖區(qū),RAM62256的存儲(chǔ)容量為32K字節(jié),可以存放大量的打印數(shù)據(jù)。從原理框圖可看出,RAM62256的片選CS端由單片機(jī)的P2.7口控制,因此RAM的地址范圍為:0000H~7FFFH。
本設(shè)計(jì)采用查詢方式進(jìn)行打印驅(qū)動(dòng)控制,單片機(jī)與打印機(jī)的接口包括如下內(nèi)容:
(1)單片機(jī)的八位數(shù)據(jù)線通過74LS377鎖存后與打印機(jī)的八位數(shù)據(jù)線相連,傳送打印數(shù)據(jù)。單片機(jī)的P2.7口通過74LS04反相后與74LS377的G端相連,因此單片機(jī)向打印機(jī)傳送數(shù)據(jù)的口地址為8000H。
(2)單片機(jī)的P1.0口提供數(shù)據(jù)選通信號(hào),它與打印機(jī)STB端連接,進(jìn)行將打印數(shù)據(jù)送打印機(jī)的選通控制。
(3)單片機(jī)的P1.1口接打印機(jī)的BUSY端,以BUSY信號(hào)作為打印機(jī)"忙"或"閑"狀態(tài)查詢信號(hào)。
3 單片機(jī)驅(qū)動(dòng)控制打印機(jī)的軟件設(shè)計(jì)
3.1打印機(jī)的控制方法
系統(tǒng)上電后,當(dāng)需要打印的數(shù)據(jù)出現(xiàn)在數(shù)據(jù)線上時(shí),只要主機(jī)向打印機(jī)的STB端發(fā)一個(gè)負(fù)脈沖,就把數(shù)據(jù)送入了打印機(jī)。本設(shè)計(jì)對(duì)打印機(jī)的控制采取查詢等待方式。首先主機(jī)讀打印機(jī)BUSY線,如果BUSY為高電子則表示打印機(jī)正"忙",禁止接收數(shù)據(jù),需等待。當(dāng)打印機(jī)取走數(shù)據(jù)并處理完畢后,BUSY線被置為閑(低電平),同時(shí)輸出應(yīng)答脈沖ACK通知主機(jī),可以再次輸入數(shù)據(jù)??刂茣r(shí)序如圖2所示。
STB為數(shù)據(jù)選通信號(hào),打印機(jī)在其上升沿時(shí)讀入數(shù)據(jù)。當(dāng)主機(jī)發(fā)送數(shù)據(jù)后,需要有0.5μs以上的延時(shí)才能向STB線發(fā)負(fù)脈沖,即圖2中的t1值不小于0.5μs;當(dāng)STB信號(hào)從高電平變?yōu)榈?a target="_blank">電子后,要保證負(fù)脈沖的寬度,亦即圖2中的t2值不小于0.5μs;當(dāng)STB信號(hào)從低電平變?yōu)楦唠娖胶?,要保證有0.5μs以上的延時(shí),亦即圖2中的t3值不小于0.5μs,以確保打印機(jī)將數(shù)據(jù)可靠讀入。控制流程見圖3所示。
無論打印機(jī)打印輸出的是文字還是圖形,主機(jī)向其發(fā)送的.皆是一系列以字節(jié)為單位的數(shù)據(jù),因此如何向打印機(jī)發(fā)送數(shù)據(jù)是關(guān)鍵所在。以下為一數(shù)據(jù)發(fā)送程序?qū)?/P>
3.2 控制程序設(shè)計(jì)
HP-DJ 600/800系列噴墨打印機(jī)使用HP PCLLEVEL 3語(yǔ)言,而在單片機(jī)控制系統(tǒng)中使用十六進(jìn)制代碼。因此在以下程序設(shè)計(jì)中,將PCL命令全部替換為用十六進(jìn)制代碼表示。
在單片機(jī)實(shí)時(shí)控制系統(tǒng)中,打印機(jī)最常用的功能是將控制系統(tǒng)的測(cè)試結(jié)果打印出來。下面通過如何實(shí)現(xiàn)一張表格的打印來具體說明單片機(jī)控制驅(qū)動(dòng)噴墨打印機(jī)的軟件設(shè)計(jì)方法。
需要打印的表格如表2所示。首先在windows界面的"附件"的"畫圖"中制作好如表2的表格,將其保存為文件名:REPORT.BMP,并且在向單片機(jī)的程序存儲(chǔ)器中燒寫程序代碼時(shí)將此BMP文檔代碼一并寫入,存放在以BMP_ADDR為起始地址的程序區(qū)內(nèi)。BMP_ ADDR的值由所制作的表格大小決定,表格的寬度和長(zhǎng)度分別用paper_width和paper_length表示。
表2 需打印的表格
測(cè) 試 項(xiàng) 目 | 技 術(shù) 指 標(biāo) | 實(shí) 測(cè) 值 |
+5V電源 | +5V±0.2V | |
+15V電源 | +15V±0.3V | |
-15V電源 | -15V±0.3V | |
+20V電源 | +20V±0.5V |
由流程圖4可看出,首項(xiàng)工作是由主機(jī)向打印機(jī)發(fā)送命令,利用軟件實(shí)現(xiàn)打印機(jī)的初始化。初始化的內(nèi)容包括紙張型號(hào)、文本長(zhǎng)度、上下邊距、左右邊距的設(shè)置等。在本設(shè)計(jì)中初始化程序如下:
打印機(jī)初始化完成后,將打印緩沖區(qū)清零。這個(gè)打印緩沖區(qū)實(shí)際上就是位于外部RAM 62256內(nèi)的一段存儲(chǔ)區(qū)域,RAM 62256的地址范圍是0000H~7FFFH,在本設(shè)計(jì)中將打印緩沖區(qū)的首地址定義為0000H。為了書寫方便在以下的程序中用PRINT_BUF表示這個(gè)地址值。接著將ROM中以BMP_ADDR為首址的內(nèi)容讀出并寫入首址為PRINT_BUF的打印緩沖區(qū)內(nèi),其代碼長(zhǎng)度即所設(shè)定 打印數(shù)據(jù)全部存入打印緩沖區(qū)后,只要主機(jī)向打印機(jī)發(fā)開始打印命令,將打印緩沖區(qū)內(nèi)的數(shù)據(jù)按字節(jié)依次發(fā)往打印機(jī),一張符合要求的表格即打印出來了。具體程序如下:
打印數(shù)據(jù)全部存入打印緩沖區(qū)后,只要主機(jī)向打印機(jī)發(fā)開始打印命令,將打印緩沖區(qū)的數(shù)據(jù)按字節(jié)依次發(fā)往打印機(jī),一長(zhǎng)符合要求的表格即打印出來了。具體程序如下:
所設(shè)計(jì)的MCS-51系列單片機(jī)與噴墨打印機(jī)的硬件接口和程序在衡陽(yáng)無線電總廠的多種測(cè)試儀器中應(yīng)用,效果良好。該硬件接口和軟件編程方法具有一定的通用性,適用于采用HP PCL LEVEL 3打印機(jī)命令語(yǔ)言并且配有Centronics并行接口的各種打印機(jī),只需在程序中根據(jù)不同機(jī)型修改個(gè)別參數(shù)值,即可實(shí)現(xiàn)打印輸出。
- 控制技術(shù)(32941)
相關(guān)推薦
單片機(jī)微型打印機(jī)控制電路的設(shè)計(jì)資料分享
單片機(jī)高手請(qǐng)進(jìn),和打印機(jī)有點(diǎn)關(guān)系,求高手?。?/a>
噴墨打印機(jī)CCC認(rèn)證介紹【亞洲認(rèn)證系列】
噴墨打印機(jī)故障維修實(shí)例
噴墨打印機(jī)的參數(shù)選擇和市面上的品牌選擇
打印機(jī)打印字跡不清晰的原因
【MM32F103開發(fā)板申請(qǐng)】一種應(yīng)用于凹凸面產(chǎn)品的的噴墨打印機(jī)
業(yè)余制作PCB打印機(jī)選購(gòu)問題
使用STM32H743單片機(jī)如何判斷何時(shí)可以向打印機(jī)發(fā)送打印數(shù)據(jù)?
關(guān)于噴墨打印機(jī)墨盒的事
如何用單片機(jī)把獲取的文字和圖片傳輸?shù)?b class="flag-6" style="color: red">打印機(jī)完成打印
如何選擇打印機(jī)進(jìn)行打印?
必須了解的技巧 讓你打印機(jī)長(zhǎng)壽秘訣
怎樣去設(shè)計(jì)一種基于單片機(jī)的微型打印機(jī)控制電路
提高噴墨打印機(jī)性能的技巧
目前用噴墨方式打印薄膜電路的案例多嗎?
英創(chuàng)WinCE主板彩色打印方案
請(qǐng)問如何去驅(qū)動(dòng)并口噴墨打印機(jī)?
打印機(jī)維護(hù)及檢修技術(shù)

單片機(jī)與微型打印機(jī)的接口設(shè)計(jì)

打印機(jī)的分類與工作原理

氣泡噴墨打印機(jī)的工作原理是什么?

激光打印機(jī)工作原理

激光打印機(jī)的類型

噴墨打印機(jī)的產(chǎn)品類型

噴墨打印機(jī)的介質(zhì)類型

噴墨打印機(jī)液晶顯示屏

噴墨打印機(jī)的存儲(chǔ)卡類型

條碼打印機(jī)打印速度

噴墨打印機(jī)出現(xiàn)打印頭撞擊的處理方法

電腦提示“服務(wù)請(qǐng)求,打印機(jī)的部件到使用期限”,應(yīng)該如何解決?

噴墨打印機(jī)常見問題

怎樣處理噴墨打印機(jī)堵塞噴頭

小型噴墨打印機(jī)實(shí)現(xiàn)海報(bào)打印技巧

噴墨打印機(jī)打印頭撞擊故障的處理

部分噴墨打印機(jī)、超一體機(jī)可以正常打印,但無法檢測(cè)墨水余量,如

如何解決電腦提示“服務(wù)請(qǐng)求,打印機(jī)的部件到使用期限”?

噴墨打印機(jī)的維護(hù)保養(yǎng)

噴墨打印機(jī)的假故障問題及解決辦法

Epson噴墨打印機(jī)的墨盒灌裝墨水技巧

基于C8051F單片機(jī)的標(biāo)簽打印機(jī)接口設(shè)計(jì)


噴墨打印機(jī)在單片機(jī)測(cè)控系統(tǒng)中的應(yīng)用


顏值與高性能兼具,佳能TS308噴墨打印機(jī)美好你的生活

教學(xué)模式趨向信息化智能化,佳能E418學(xué)生用噴墨打印機(jī)走進(jìn)家庭

打印機(jī)種類和區(qū)別

信息化智能化時(shí)代 學(xué)生打印機(jī)首選性能高 實(shí)力強(qiáng)的佳能打印機(jī)

LG發(fā)布速度最快的彩色噴墨打印機(jī)

打印機(jī)的種類

激光打印機(jī)和噴墨打印機(jī)有什么區(qū)別

噴墨打印機(jī)的優(yōu)缺點(diǎn)_噴墨打印機(jī)工作原理

噴墨打印機(jī)哪種好_噴墨打印機(jī)壽命延長(zhǎng)

愛普生r230噴墨打印機(jī)如何進(jìn)行拆解詳細(xì)圖文說明

當(dāng)下,一款佳能噴墨打印機(jī)MG3680備受大眾消費(fèi)者的喜愛!

小米米家噴墨打印機(jī)將于9月17日開售 售價(jià)999元

噴墨打印機(jī)機(jī)械部分結(jié)構(gòu)及原理的詳細(xì)資料講解

小米米家噴墨打印機(jī)開賣 售價(jià)999元

米家噴墨打印機(jī)高清圖集

3D打印機(jī)的簡(jiǎn)介

噴墨打印機(jī)打印微型鋰離子電池電極技術(shù)有望實(shí)現(xiàn)

2019年第三季度中國(guó)噴墨打印機(jī)市場(chǎng)出貨量為121.7萬臺(tái)同比增長(zhǎng)1.5%

噴墨打印機(jī)到底應(yīng)該是使用染料墨水還是使用顏料墨水

愛普生噴墨打印機(jī)的復(fù)位程序詳細(xì)資料說明

國(guó)產(chǎn)激光打印機(jī)廠商的“突圍戰(zhàn)”


噴墨打印機(jī)和激光打印機(jī)有什么區(qū)別

CANON噴墨打印機(jī)的維修手冊(cè)免費(fèi)下載

激光打印機(jī)和噴墨打印機(jī)的對(duì)比

噴墨打印機(jī)的保養(yǎng)與清潔

噴墨打印機(jī)和激光打印機(jī)二者之間的比較

如何使用FPGA芯片設(shè)計(jì)打印機(jī)控制系統(tǒng)的詳細(xì)論文說明

關(guān)于EPSON噴墨打印機(jī)的問題

愛普生 EPSON L800 L801 L805 噴墨打印機(jī)中文

激光打印機(jī)和噴墨打印機(jī)的區(qū)別是什么

打印機(jī)墨盒壓力平衡防水膜的作用是什么

3D打印機(jī)和普通打印機(jī)的區(qū)別

工業(yè)級(jí)噴墨打印機(jī)的多種應(yīng)用

打印機(jī)有輻射嗎,對(duì)人體有什么危害?

打印機(jī)用激光二極管市場(chǎng)的布局與優(yōu)勢(shì)


基于單片機(jī)的噴墨打印機(jī)控制技術(shù)

評(píng)論