1 引言
隨著科技的飛速發(fā)展,,電腦的日益普及,,人類文明踏入數(shù)字化時(shí)代的不斷成功,數(shù)字化已經(jīng)滲透到人類社會(huì)的各個(gè)角落,。而顯示器是人與機(jī)器溝通的重要界面,,早期以顯像管顯示器為主,但隨著科技不斷進(jìn)步,,各種顯示技術(shù)不斷涌現(xiàn),。液晶顯示器件作為一種成熟的平板顯示器件,它獨(dú)具的低壓,、微功耗特性使之可以直接與大規(guī)模集成電路結(jié)合而開發(fā)出一系列具有顯示功能的產(chǎn)品,。這些產(chǎn)品不僅改變了人類生活甚至改變了整個(gè)社會(huì)??梢哉f(shuō),,有信息的地方就離不開顯示,凡是需要顯示的地方就有液晶的用武之地,,因此對(duì) LCD" title="LCD">LCD顯示技術(shù)的研究和學(xué)習(xí)具有很高的實(shí)際應(yīng)用意義,。
2 系統(tǒng)" title="系統(tǒng)">系統(tǒng)工作原理及總體設(shè)計(jì)" title="設(shè)計(jì)">設(shè)計(jì)
2.1系統(tǒng)工作原理
本系統(tǒng)將應(yīng)用單片機(jī)技術(shù)開發(fā)一種便捷的LCD圖文顯示" title="圖文顯示">圖文顯示設(shè)備,采用上/下位機(jī)設(shè)計(jì)方式,,通過(guò) USB" title="USB">USB通訊方式實(shí)現(xiàn)信息傳輸,。具體工作原理是:上位機(jī)( PC機(jī))首先安裝驅(qū)動(dòng)程序和 PC應(yīng)用軟件,然后將下位機(jī)系統(tǒng)安裝到主機(jī)機(jī)箱上,,將 USB插頭插入主機(jī)(或在機(jī)箱內(nèi)接入),,經(jīng)主機(jī)正確識(shí)別后,運(yùn)行 PC應(yīng)用軟件生成要顯示的點(diǎn)陣數(shù)據(jù),,通過(guò) USB接口將數(shù)據(jù)向下傳輸,, LCD圖文顯示設(shè)備通過(guò)單片機(jī)控制與主機(jī)進(jìn)行數(shù)據(jù)通訊,將要顯示的點(diǎn)陣數(shù)據(jù)存儲(chǔ)到下位機(jī)存儲(chǔ)單元中,,在取得要顯示的數(shù)據(jù)之后,,下位機(jī)系統(tǒng)便可實(shí)現(xiàn)顯示,比如系統(tǒng)時(shí)間,、CPU占用率,、內(nèi)存占用率等等,。如果不是安裝到機(jī)箱上,該系統(tǒng)還可作為便攜設(shè)備,,用來(lái)顯示一些其他的信息,,比如上次關(guān)機(jī)時(shí)間、 CPU占用率,、內(nèi)存占用率或者作為便攜記事本等,。
2.2 系統(tǒng)總體設(shè)計(jì)
LCD圖文顯示系統(tǒng)的系統(tǒng)結(jié)構(gòu)如圖 1所示。單片機(jī) AT89C52是整個(gè) LCD顯示系統(tǒng)的控制核心,,主要完成以下的控制功能:配合 PC機(jī)控制 USB通信電路完成硬件檢測(cè),、列舉、連接及數(shù)據(jù)的雙向傳輸,;控制 LCD顯示電路完成 PC機(jī)數(shù)據(jù)的顯示,;控制存儲(chǔ)電路完成數(shù)據(jù)的存取等。
3 硬件電路設(shè)計(jì)
基于 USB總線的 LCD圖文顯示系統(tǒng)的硬件電路結(jié)構(gòu)主要包括以下幾個(gè)部分:USB通信電路部分,、LCD顯示部分,、存儲(chǔ)管理部分。模塊的功能都是在以 AT89S52為核心的硬件平臺(tái)上實(shí)現(xiàn)的,。
3.1 USB接口電路設(shè)計(jì)
CH372是一個(gè) USB 總線的通用設(shè)備接口芯片,是 CH371的升級(jí)產(chǎn)品,,是CH375芯片的功能簡(jiǎn)化版,。CH372內(nèi)置了USB 通訊中的底層協(xié)議,具有省事的內(nèi)置固件模式和靈活的外置固件模式,。在內(nèi)置固件模式下,,CH372自動(dòng)處理默認(rèn)端點(diǎn)0的所有事務(wù),本地端單片機(jī)只要負(fù)責(zé)數(shù)據(jù)交換,,所以單片機(jī)程序非常簡(jiǎn)潔,。在外置固件模式下,由外部單片機(jī)根據(jù)需要自行處理各種USB 請(qǐng)求,,從而可以實(shí)現(xiàn)符合各種 USB 類規(guī)范的設(shè)備,。
圖 2是單片機(jī)與 CH372的連接簡(jiǎn)圖, CH372的 D0~D7是專用于與單片機(jī)連接的并行口,,接到單片機(jī)的 P0口,;片選端接地,始終處于選通狀態(tài),; RD和 WR分別接到單片機(jī)的對(duì)應(yīng)端,,INT#是中斷申請(qǐng)端,接到單片機(jī) INT0上,。在本地端,,CH372芯片以內(nèi)置的固件程序自動(dòng)處理了 USB通訊中的基本事務(wù),,A0引腳與 P3.7相接,當(dāng) A0引腳為高電平時(shí)選擇命令端口,,可以寫入命令,;當(dāng) A0引腳為低電平時(shí)選擇數(shù)據(jù)端口,可以讀寫數(shù)據(jù),。
3.2 存儲(chǔ)模塊設(shè)計(jì)
系統(tǒng)利用三片 24LC64 來(lái)作為擴(kuò)展的存儲(chǔ)器模塊,,每片容量為 8KB,共 24KB,。它們通過(guò) I2C方式與此平臺(tái)的微處理器 AT89S52相連,。芯片引腳 A0,A1, A2用來(lái)作為片選,它們直接連接邏輯“0”或者邏輯“ 1",。定義:A2A1A0=000時(shí)選中第一片,, A2A1A0=001和 010時(shí)分別選中第二片和第三片。每片 24LC64均需要 13位地址(A0-A12 ),。但在微處理器發(fā)出具體字地址之前首先要發(fā)出控制字節(jié),。控制字節(jié)的組成為: 1010+ "A2AlA0" +R/W位,??刂谱止?jié)用來(lái)確定具體是對(duì)哪一個(gè)存儲(chǔ)芯片進(jìn)行讀或者寫操作。被選中的存儲(chǔ)器芯片向微處理器發(fā)送確認(rèn)信號(hào),,微處理器確認(rèn)后將發(fā)送具體的 13位地址,,A0-A12作為低 13位地址用來(lái)進(jìn)行片內(nèi)地址的確定。如此,,程序中設(shè)定的第一片 24LC64的起止地址即為:0000F-1FFF,,第二片 24LC64的起止地址為 2000F-3FFF,第三片 24LC64的起止地址為 4000F-5FFF,。這樣編址可以使得本是獨(dú)立的三片存儲(chǔ)器統(tǒng)一起來(lái),,且地址依次遞增。
3.4 電源部分設(shè)計(jì)
本系統(tǒng)的電源部分使用 LM7805芯片進(jìn)行穩(wěn)壓后提供單片機(jī) 5V的電壓,。其電源部分電路的設(shè)計(jì)如圖 4所示,。該電源部分電路,使用四個(gè) 1N4004二極管構(gòu)成整流橋,,可以輸入直流或是交流 9V電源,,然后再通過(guò) 7805穩(wěn)定到 5V供單片機(jī)工作。固定式三端穩(wěn)壓電源 7805是由輸出腳 Vo,,輸入腳 Vi和接地腳 GND組成,,它的穩(wěn)壓值為 +5V,它屬于 LM78XX系列的穩(wěn)壓器,,輸入端接電容可以進(jìn)一步的濾波,,輸出端也要接電容可以改善負(fù)載的瞬間影響,,電路的穩(wěn)定性也比較好。
4 軟件設(shè)計(jì)
軟件部分由三個(gè)部分組成:?jiǎn)纹瑱C(jī)系統(tǒng)運(yùn)行程序,、主機(jī) PC上的 USB設(shè)備驅(qū)動(dòng)程序和主機(jī)上的客戶應(yīng)用程序,。單片機(jī)系統(tǒng)運(yùn)行程序按功能可以劃分為 USB通信程序、單片機(jī)對(duì)擴(kuò)展存儲(chǔ)器訪問(wèn)程序和 LCD顯示程序,,其中 USB通信程序的功能是實(shí)現(xiàn) USB設(shè)備枚舉和數(shù)據(jù)傳輸,;設(shè)備驅(qū)動(dòng)程序是連接設(shè)備和主機(jī)應(yīng)用程序的紐帶,它向上提供應(yīng)用程序的訪問(wèn)接口(API),,向下則實(shí)現(xiàn)對(duì)具體設(shè)備的訪問(wèn)和管理功能,,在 USB體系的中間起到信息轉(zhuǎn)換和傳遞的中介作用。本系統(tǒng)采用 Driverworks開發(fā)WDM型USB設(shè)備驅(qū)動(dòng)程序,;應(yīng)用程序是以 .NET為平臺(tái)進(jìn)行開發(fā)的,,主要功能是在設(shè)備驅(qū)動(dòng)程序中查找設(shè)備,與設(shè)備交換數(shù)據(jù),,并將設(shè)備發(fā)送來(lái)的數(shù)據(jù)進(jìn)行處理和顯示,。
PC軟件在開始時(shí),先進(jìn)行控件及窗體的初始化,,然后可以錄入數(shù)據(jù)(漢字,、英文字母、數(shù)字或時(shí)間),,選擇字體及字號(hào),,并對(duì)所加載數(shù)據(jù)通過(guò)點(diǎn)陣生成算法生成下位機(jī)數(shù)據(jù)。然后進(jìn)行數(shù)據(jù)傳輸,,如果 PC軟件找到設(shè)備即可與之進(jìn)行通信(首先主機(jī)能發(fā)現(xiàn)硬件設(shè)備并正常驅(qū)動(dòng)),否則跳出 USB傳輸模塊并返回,。在下位機(jī)固件程序中,,在設(shè)備接入主機(jī)后,首先對(duì)下位機(jī)進(jìn)行系統(tǒng)初始化,,然后進(jìn)行 USB連接,,被主機(jī)識(shí)別并能正常驅(qū)動(dòng),進(jìn)入正常使用狀態(tài),,等待數(shù)據(jù)傳輸,。如果有 PC數(shù)據(jù)傳輸,則調(diào)用通訊模塊接收數(shù)據(jù),,并將數(shù)據(jù)存入下位機(jī)存儲(chǔ)器,,然后調(diào)用讀數(shù)據(jù)模塊與顯示模塊進(jìn)行顯示;否則直接執(zhí)行讀數(shù)據(jù)模塊并調(diào)用顯示模塊進(jìn)行顯示(顯示上次存儲(chǔ)的數(shù)據(jù)),。系統(tǒng)軟件的流程圖如圖 5所示,。
5 總結(jié)
本文的創(chuàng)新點(diǎn)是將 USB串行總線和液晶顯示技術(shù)引入到圖文顯示系統(tǒng)中,,使系統(tǒng)具有使用簡(jiǎn)單、即插即用,、熱插拔,、開放性、高速,、穩(wěn)定,、可靠性高和低功耗、體積小,、質(zhì)量輕,、使用簡(jiǎn)單等優(yōu)點(diǎn);其次,,通過(guò)擴(kuò)展存儲(chǔ)芯片,,使系統(tǒng)還能夠?qū)崿F(xiàn)信息存儲(chǔ)功能,從而作為便攜器,,用作信息的閱讀工具,。