<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于USB的嵌入式LCD圖文顯示系統(tǒng)的設計

          基于USB的嵌入式LCD圖文顯示系統(tǒng)的設計

          作者: 時間:2009-10-15 來源:網(wǎng)絡 收藏

            3.4 電源部分設計

            本系統(tǒng)的電源部分使用 LM7805芯片進行穩(wěn)壓后提供單片機 5V的電壓。其電源部分電路的設計如圖 4所示。該電源部分電路,使用四個 1N4004二極管構(gòu)成整流橋,可以輸入直流或是交流 9V電源,然后再通過 7805穩(wěn)定到 5V供單片機工作。固定式三端穩(wěn)壓電源 7805是由輸出腳 Vo,輸入腳 Vi和接地腳 GND組成,它的穩(wěn)壓值為 +5V,它屬于 LM78XX系列的穩(wěn)壓器,輸入端接電容可以進一步的濾波,輸出端也要接電容可以改善負載的瞬間影響,電路的穩(wěn)定性也比較好。

            4 軟件設計

            軟件部分由三個部分組成:單片機系統(tǒng)運行程序、主機 PC上的 設備驅(qū)動程序和主機上的客戶應用程序。單片機系統(tǒng)運行程序按功能可以劃分為 通信程序、單片機對擴展存儲器訪問程序和 顯示程序,其中 通信程序的功能是實現(xiàn) USB設備枚舉和數(shù)據(jù)傳輸;設備驅(qū)動程序是連接設備和主機應用程序的紐帶,它向上提供應用程序的訪問接口(API),向下則實現(xiàn)對具體設備的訪問和管理功能,在 USB體系的中間起到信息轉(zhuǎn)換和傳遞的中介作用。本系統(tǒng)采用 Driverworks開發(fā)WDM型USB設備驅(qū)動程序;應用程序是以 .NET為平臺進行開發(fā)的,主要功能是在設備驅(qū)動程序中查找設備,與設備交換數(shù)據(jù),并將設備發(fā)送來的數(shù)據(jù)進行處理和顯示。

            PC軟件在開始時,先進行控件及窗體的初始化,然后可以錄入數(shù)據(jù)(漢字、英文字母、數(shù)字或時間),選擇字體及字號,并對所加載數(shù)據(jù)通過點陣生成算法生成下位機數(shù)據(jù)。然后進行數(shù)據(jù)傳輸,如果 PC軟件找到設備即可與之進行通信(首先主機能發(fā)現(xiàn)硬件設備并正常驅(qū)動),否則跳出 USB傳輸模塊并返回。在下位機固件程序中,在設備接入主機后,首先對下位機進行系統(tǒng)初始化,然后進行 USB連接,被主機識別并能正常驅(qū)動,進入正常使用狀態(tài),等待數(shù)據(jù)傳輸。如果有 PC數(shù)據(jù)傳輸,則調(diào)用通訊模塊接收數(shù)據(jù),并將數(shù)據(jù)存入下位機存儲器,然后調(diào)用讀數(shù)據(jù)模塊與顯示模塊進行顯示;否則直接執(zhí)行讀數(shù)據(jù)模塊并調(diào)用顯示模塊進行顯示(顯示上次存儲的數(shù)據(jù))。系統(tǒng)軟件的流程圖如圖 5所示。

            5 總結(jié)

            本文的創(chuàng)新點是將 USB串行總線和液晶顯示技術引入到系統(tǒng)中,使系統(tǒng)具有使用簡單、即插即用、熱插拔、開放性、高速、穩(wěn)定、可靠性高和低功耗、體積小、質(zhì)量輕、使用簡單等優(yōu)點;其次,通過擴展存儲芯片,使系統(tǒng)還能夠?qū)崿F(xiàn)信息存儲功能,從而作為便攜器,用作信息的閱讀工具。


          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();