當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]介紹基于80C51和CH375的LPTUSB打印機(jī)驅(qū)動器的設(shè)計與實現(xiàn)方法,介紹USB總線的通用接口芯片CH375的特點及工作原理,給出80C51單片機(jī)通過CH375控制USB打印機(jī)的硬件設(shè)計及其C語言軟件實現(xiàn)。

摘要:介紹基于80C51和CH375的LPTUSB打印機(jī)驅(qū)動器的設(shè)計與實現(xiàn)方法,介紹USB總線的通用接口芯片CH375的特點及工作原理,給出80C51單片機(jī)通過CH375控制USB打印機(jī)的硬件設(shè)計及其C語言軟件實現(xiàn)。利用該設(shè)計能夠?qū)崿F(xiàn)并行打印口數(shù)據(jù)在USB打印機(jī)直接打印,極大的克服了有些并口儀器必須連接并口打印機(jī)才能打印的弊端,可極大方便用戶的使用。

關(guān)鍵詞:CH375 LPT USB 打印機(jī) 80C51 單片機(jī)

引 言

  本課題來源于北京普析通用公司的一個項目。由于公司現(xiàn)有單機(jī)版光譜儀器產(chǎn)品(如1810、T6等)采用的是并行口打印技術(shù),而隨著USB打印機(jī)技術(shù)的逐漸普及,并行口打印機(jī)越來越不好買到,而且有些用戶的打印機(jī)只是USB接口而非并行口,因此現(xiàn)有儀器產(chǎn)品對打印機(jī)的支持變得不能適應(yīng)用戶需要。為了實現(xiàn)能將公司的并行口儀器直接和USB打印機(jī)相連進(jìn)行打印,決定設(shè)計開發(fā)一款LPT-USB打印機(jī)的驅(qū)動器,負(fù)責(zé)并口儀器和USB打印機(jī)的連接。

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

1 CH375芯片特點及工作原理

1.1 CH375芯片特點

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

 ?、?全速USBHOST 主機(jī)接口USB V1.1,支持動態(tài)切換主機(jī)與設(shè)備方式,外圍元器件只需要一個晶體和2個電容;

 ?、?主機(jī)端點輸入和輸出緩沖區(qū)各64 B,支持常用的12 Mbps 全速USB設(shè)備;

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

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

 ?、?內(nèi)置控制傳輸協(xié)議處理器,簡化常用的控制傳輸;

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

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

  ⑧ 支持5 V電源電壓和3.3 V電源電壓。

1. 2CH375芯片工作原理

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

       
            圖1主機(jī)通過CH375控制USB設(shè)備原理圖

  
                圖2硬件電路原理圖

2 硬件電路設(shè)計

  單片機(jī)通過CH375控制USB打印機(jī)的硬件電路,如圖2所示。

  如圖2所示,CH375芯片通過被動并行接口芯片掛接到8 位單片機(jī)的系統(tǒng)總線上,CH375 的TXD 引腳接地,從而使CH375 工作于并口方式。CH375芯片的8 位雙向數(shù)據(jù)總線D7~D0直接與單片機(jī)的P0數(shù)據(jù)口相連,RD和WR分別連接到單片機(jī)的讀選通輸出引腳和寫選通輸出引腳。片選信號CS連接到單片機(jī)的P26引腳,該引腳為低電平時選通CH375芯片。INT可以連接到單片機(jī)的中斷輸入INT0引腳,中斷請求是低電平有效。地址輸入線A0連接至單片機(jī)的P25引腳,當(dāng)A0引腳為高電平時選擇命令端口,可以寫入命令;當(dāng)A0引腳為低電平時選擇數(shù)據(jù)端口,可以讀寫數(shù)據(jù)。

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

3 軟件設(shè)計實現(xiàn)

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

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

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

      
                  圖3軟件實現(xiàn)流程圖

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

  ◇ get_descr(1),獲取設(shè)備描述符。
  ◇ rd_usb_data(buffer),從CH375中讀取數(shù)據(jù)到單片機(jī)中。
  ◇ set_addr(3),設(shè)置打印機(jī)的USB地址。
  ◇ get_full_descr(buffer),獲取配置描述符。
  ◇ set_config(unsigned char cfg),加載USB配置值。

  編者注:具體程序見本刊網(wǎng)站:www.mesnet.com.cn

結(jié)語

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉