0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于單片機和USB接口實現(xiàn)LPT-USB打印機驅(qū)動器的設(shè)計

電子設(shè)計 ? 來源:電子設(shè)計工程 ? 作者:王小芳,鄭寬磊,強 ? 2021-03-22 16:20 ? 次閱讀

作者:王小芳,鄭寬磊,強偉鋒

1 引言

本課題來源于北京普析通用公司。 由于該公司現(xiàn)有光譜儀器的單機版(如1810和T6等)采用的是并行口打印技術(shù),而隨著USB打印機技術(shù)的逐漸普及,并行口打印機越來越少,有些用戶原有的打印機只是USB接口而非并行口,因此現(xiàn)有儀器對打印機的支持不能適應(yīng)用戶需要。為了使該公司的并行口儀器直接和USB打印機相連,設(shè)計了一種LPT-USB打印機驅(qū)動器,實現(xiàn)并口儀器與USB打印機的連接。

利用單片機和USB總線接口器件實現(xiàn)LPT-USB打印機驅(qū)動器的設(shè)計。利用該設(shè)計將能夠?qū)崿F(xiàn)并行打印口數(shù)據(jù)在USB打印機上的直接打印,克服了有些并口儀器必須連接并口打印機才能打印的弊端,極大地方便了用戶的使用。

2 CH375的特點及工作原理

2.1 CH375的特點

CH375是一個USB總線通用接口電路,支持HOST主機方式和SLAVE設(shè)備方式。CH375內(nèi)部集成了PLL倍頻器、主從USB接口SIE、數(shù)據(jù)緩沖區(qū)、被動并行接口、異步串型接口、命令解釋器、控制傳輸?shù)膮f(xié)議處理器、通用的固件程序等。在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線及中斷輸出,可以方便地掛接到單片機、DSP、MCU控制器的系統(tǒng)總線上。CH375的USB主機方式支持各種常用的USB全速設(shè)備,外部單片機、DSP、MCU可以通過CH375按照相應(yīng)的USB協(xié)議與USB設(shè)備通信。CH375的特點如下:

(1)全速USB-HOST主機接口符合USB1.1,支持動態(tài)切換主機與設(shè)備方式,外圍元器件只需要1個晶體和2個電容;

(2)主機端點輸入和輸出緩沖區(qū)各有64字節(jié),支持常用的12Mb/s全速USB設(shè)備;

(3)支持USB設(shè)備的控制傳輸、批量傳輸、中斷傳輸;

(4)自動檢測USB設(shè)備的連接和斷開,提供設(shè)備連接和斷開的通知;

(5)內(nèi)置控制傳輸?shù)膮f(xié)議處理器,簡化常用的控制傳輸;

(6)并行接口包含8位數(shù)據(jù)總線,4線控制:讀選通、寫選通、片選輸入和中斷輸出;

(7)串行接口包括串行輸入、串行輸出和中斷輸出,支持通信波特率的動態(tài)調(diào)整。

(8)支持5V電源電壓和3.3V電源電壓。

2.2 CH375的工作原理

如圖1所示,CH375通過被動并行接口電路可以方便地掛接到各種8位單片機、DSP、MCU的系統(tǒng)總線上,并且可以與多個外圍器件共存。并口信號線包括8位雙向數(shù)據(jù)總線D7-DO、讀選通輸入RD、寫選通輸入WR、片選輸入CS、中斷輸出INT及地址輸入線AO。CH375的RD和WR可以分別連接到單片機的讀選通輸出引腳和寫選通輸出引腳。INT可以連接到單片機的中斷輸入引腳,中斷請求是低電平有效。當(dāng)CS、RD及AO都為低電平時,CH375中的數(shù)據(jù)通過D7-DO輸出;當(dāng)CS和WR以及AO都為低電平時,D7-DO上的數(shù)據(jù)被寫入CH375;當(dāng)CS、WR都為低電平而A1為高電平時,D7-DO上的數(shù)據(jù)被作為命令碼寫入CH375。

[/table]

3 硬件電路設(shè)計

圖2所示為單片機通過CH375控制USB打印機的硬件電路。CH375通過被動并行接口電路掛接到8位單片機的系統(tǒng)總線上,CH375的TXD引腳接地,使CH375工作于并口方式。CH375的8位雙向數(shù)據(jù)總線D7-DO直接與單片機的PO數(shù)據(jù)口相連,RD和WR分別連接到單片機的讀選通輸出引腳和寫選通輸出引腳。片選信號CS連接到單片機的P2.6引腳,該引腳為低電平時選通CH375。INT可以連接到單片機的中斷輸入INTO引腳,中斷請求是低電平有效。地址輸入線AO連接至單片機的P2.5引腳,當(dāng)AO引腳為高電平時選擇命令端口,可以寫入命令,當(dāng)AO引腳為低電平時選擇數(shù)據(jù)斷口,可以讀寫數(shù)據(jù)。

采用74HC245型三態(tài)雙向總線驅(qū)動器作為打印機口向單片機傳送并口數(shù)據(jù)的接口,其片選信號與單片機的P2.7相連,方向控制位DIR與單片機的P3.4相連,當(dāng)DIR為高電平時,數(shù)據(jù)從A端口向B端口傳送,此時單片機可以通過讀取74HC245數(shù)據(jù)端口得到并口的數(shù)據(jù),打印機狀態(tài)信號BUSY連接至單片機的P1.5引腳,并口數(shù)據(jù)采集控制信號CTRL直接連至單片機的INT1中斷引腳,當(dāng)INT1產(chǎn)生中斷時,單片機從并口讀取數(shù)據(jù),然后再發(fā)送至打印機進(jìn)行打印。

4 軟件設(shè)計

4.1 軟件流程

軟件流程如圖3所示。該軟件用C語言編程,通信過程主要包括初始化和并口數(shù)據(jù)的采集。

并口數(shù)據(jù)的采集是通過中斷方式進(jìn)行的。采集數(shù)據(jù)的控制信號CTRL連接至單片機的中斷INT1引腳,通過不斷檢測INT1的狀態(tài)進(jìn)行并口數(shù)據(jù)的采集。當(dāng)打印機不忙(BUSY=0)時,如果產(chǎn)生INT1中斷,則從74HC245的數(shù)據(jù)斷口讀出并口數(shù)據(jù),同時將打印機忙標(biāo)志BUSY置1(表示打印機忙),當(dāng)數(shù)據(jù)已經(jīng)發(fā)送至打印機打印時,則將打印機忙標(biāo)志BUSY置0。然后重復(fù)上述步驟進(jìn)行并口數(shù)據(jù)的采集及打印。

初始化過程分為單片機初始化和打印機的枚舉初始化。單片機的初始化過程是直接向相應(yīng)的I/0口寫初始化值及設(shè)置看門狗,可調(diào)用函數(shù)watchdog_init()設(shè)置看門狗。

打印機的枚舉初始化過程是很重要的,要打印采集到的并口數(shù)據(jù)首先必須成功地枚舉初始化打印機。初始化USB打印機函數(shù)init_print()主要使用以下幾個主要函數(shù):

4.2 主程序源代碼

程序代碼如下:

[table]

5 結(jié)束語

本文詳細(xì)介紹了基于80C51型單片機和CH375型USB總線通用接口電路的LPT-USB打印機驅(qū)動器的設(shè)計及C語言實現(xiàn)。測試結(jié)果表明,利用該設(shè)計能夠?qū)崿F(xiàn)并口儀器數(shù)據(jù)直接經(jīng)USB打印機打印,打印結(jié)果正確無誤。該設(shè)計現(xiàn)已用于并口儀器上,并行口儀器利用該驅(qū)動器可以直接和USB打印機相連并進(jìn)行打印,克服了有些并口儀器必須連接并口打印機才能打印的弊端,方便了用戶。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635303
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7945

    瀏覽量

    264657
  • 打印機
    +關(guān)注

    關(guān)注

    10

    文章

    771

    瀏覽量

    45687
收藏 人收藏

    評論

    相關(guān)推薦

    基于飛思卡爾微型熱敏打印機的設(shè)計與實現(xiàn)

    LPT-USB打印機驅(qū)動器,負(fù)責(zé)并口儀器和USB打印機的連接。本文利用單片機
    發(fā)表于 09-22 16:00

    80C51和CH375的USB打印機驅(qū)動設(shè)計

    本帖最后由 luna 于 2011-3-3 12:05 編輯 介紹基于80C51和CH375的LPTUSB打印機驅(qū)動器的設(shè)計與實現(xiàn)方法,介紹USB總線的通用
    發(fā)表于 03-02 15:19

    80C51和CH375的USB打印機驅(qū)動設(shè)計

    USB打印機的連接。本文利用單片機USB總線接口芯片實現(xiàn)
    發(fā)表于 03-03 17:43

    采用CH375接口電路實現(xiàn)LPT-USB打印機驅(qū)動器設(shè)計

    USB接口而非并行口,因此現(xiàn)有儀器對打印機的支持不能適應(yīng)用戶需要。為了使該公司的并行口儀器直接和USB打印機相連,筆者設(shè)計了一種
    發(fā)表于 06-18 05:00

    如何設(shè)計一種LPT-USB打印機驅(qū)動器?

     本文詳細(xì)介紹了基于80C51型單片機和CH375型USB總線通用接口電路的LPT-USB打印機驅(qū)動器
    發(fā)表于 04-23 06:20

    如何利用單片機USB總線接口芯片實現(xiàn)LPT-USB打印機驅(qū)動器設(shè)計

    本文利用單片機USB總線接口芯片實現(xiàn)LPT-USB打印機
    發(fā)表于 04-26 06:36

    微型打印機單片機接口

    微型打印機單片機接口:是PDG格式的電子書.
    發(fā)表于 12-13 22:32 ?92次下載
    微型<b class='flag-5'>打印機</b>與<b class='flag-5'>單片機</b><b class='flag-5'>接口</b>

    MCS-51單片機與鍵盤、顯示、微型打印機接口

    MCS-51單片機與鍵盤、顯示、微型打印機接口
    發(fā)表于 09-13 08:07 ?150次下載

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

     摘要:介紹一種采用MCS51系列單片機控制驅(qū)動Hewlett Packard DESKJET 600/800系列噴墨打印機的硬件接口設(shè)計和軟件設(shè)計方法。以控制
    發(fā)表于 03-11 11:48 ?2248次閱讀
    基于<b class='flag-5'>單片機</b>的噴墨<b class='flag-5'>打印機</b>控制技術(shù)

    基于80C51和CH375的LPT-USB打印機驅(qū)動器設(shè)計及

    引 言             隨著USB打印機技術(shù)的逐漸普及,并行口打印機越來越不好買到,而且有
    發(fā)表于 07-16 09:54 ?1657次閱讀
    基于80C51和CH375的<b class='flag-5'>LPT-USB</b><b class='flag-5'>打印機</b><b class='flag-5'>驅(qū)動器</b>設(shè)計及

    EPSON C4X系列打印機電源原理分析

    在EPSON C4X系列的打印機中,SC和UX打印機僅僅是與電腦連接的接口不同,SX打印機采用LPT接口
    發(fā)表于 09-18 07:48 ?3360次閱讀
    EPSON C4X系列<b class='flag-5'>打印機</b>電源原理分析

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

    基于美國Silicon Labs公司生產(chǎn)的SoC單片機C8051f020作為主控制芯片,通過RS 232串行接口與標(biāo)簽打印機進(jìn)行串行通信,采取單片機向標(biāo)簽
    發(fā)表于 05-20 09:32 ?4399次閱讀
    基于C8051F<b class='flag-5'>單片機</b>的標(biāo)簽<b class='flag-5'>打印機</b><b class='flag-5'>接口</b>設(shè)計

    linux支持usb打印機

    配置CONFIG_USB_PRINTER=y inux內(nèi)核默認(rèn)運行打印機驅(qū)動,直接在配置上CONFIG_USB_PRINTER=y添加上去就好了。 make menuconfig
    發(fā)表于 01-16 20:59 ?1250次閱讀

    USB打印機開關(guān)電路設(shè)計資料分享

    這是USB打印機開關(guān)電路設(shè)計,帶有兩個USB輸入端口和一個USB輸出端口。這是一個非常簡單的設(shè)備,允許兩臺計算機(臺式/筆記本電腦)選擇一
    的頭像 發(fā)表于 05-14 10:51 ?2392次閱讀
    <b class='flag-5'>USB</b><b class='flag-5'>打印機</b>開關(guān)電路設(shè)計資料分享

    3D打印機USB接口和SD卡接口防靜電設(shè)計

    3D打印機USB接口和SD卡接口防靜電設(shè)計3D打印機的平民化帶來了一場應(yīng)用革命,越來越多的教學(xué),模型,設(shè)計,廣告場合應(yīng)用。但由于眾多
    的頭像 發(fā)表于 12-31 10:54 ?1019次閱讀
    3D<b class='flag-5'>打印機</b>的<b class='flag-5'>USB</b><b class='flag-5'>接口</b>和SD卡<b class='flag-5'>接口</b>防靜電設(shè)計