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

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

打印機的分類與工作原理

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

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

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

噴墨打印機液晶顯示屏

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

怎樣處理噴墨打印機堵塞噴頭

小型噴墨打印機實現(xiàn)海報打印技巧

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

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

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

Epson噴墨打印機的墨盒灌裝墨水技巧

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


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


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

教學模式趨向信息化智能化,佳能E418學生用噴墨打印機走進家庭

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

信息化智能化時代 學生打印機首選性能高 實力強的佳能打印機

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

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

噴墨打印機的優(yōu)缺點_噴墨打印機工作原理

噴墨打印機哪種好_噴墨打印機壽命延長

當下,一款佳能噴墨打印機MG3680備受大眾消費者的喜愛!

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

小米米家噴墨打印機開賣 售價999元

米家噴墨打印機高清圖集

3D打印機的簡介

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

2019年第三季度中國噴墨打印機市場出貨量為121.7萬臺同比增長1.5%

噴墨打印機到底應該是使用染料墨水還是使用顏料墨水

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


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

激光打印機和噴墨打印機的對比

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

噴墨打印機和激光打印機二者之間的比較

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

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

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

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

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

打印機有輻射嗎,對人體有什么危害?

打印機用激光二極管市場的布局與優(yōu)勢


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

評論