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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應用 > TCP/IP的以太網(wǎng)LCD電子標簽系統(tǒng)設(shè)計

          TCP/IP的以太網(wǎng)LCD電子標簽系統(tǒng)設(shè)計

          作者: 時間:2011-09-28 來源:網(wǎng)絡 收藏
          圖4 標簽用例圖

          本文引用地址:http://www.ex-cimer.com/article/155666.htm

            在硬件服務層上,我們采用面向?qū)ο蟮?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/設(shè)計">設(shè)計方法將顯示單元、按鈕、鍵盤、四色燈、封裝成一個個的對象。這樣也便于今后硬件服務的擴充。

            由于我們采用的顯示單元,其顯示內(nèi)容豐富,能顯示數(shù)字、字符、圖形、圖片等絕大部分數(shù)據(jù),并且支持彩色顯示。本部分的封裝是整個的核心和關(guān)鍵,因此我們在時采用了Composite模式,將文本、直線、圓、矩形、圖片等分別封裝成對象,通過一個公共的抽象類displayObject的接口來實現(xiàn)各自在LCD顯示單元上的重畫(paint)功能,將這些對象的公共屬性存放于接口中,而各自的個體屬性則分別放于各自的類定義中。

            LCD顯示單元和這些待顯示數(shù)據(jù)對象之間為包含關(guān)系(Com.posite)。這樣的特點是按照LCD系統(tǒng)的自然組成對象劃分類,各自獨立封裝,可擴展性非常好,并且結(jié)構(gòu)簡單。

            由于本系統(tǒng)基于,直接采用進行點對點的通信,所以整個類結(jié)構(gòu)比較簡單,LCD系統(tǒng)的封裝結(jié)構(gòu)如圖5所示。

            

            圖5 系統(tǒng)的類封裝系統(tǒng)圖

            由于目前的LCD還不支持真彩,因此在我們的設(shè)計中單獨采用一個COLOR類來存放能夠支持的色彩對象。其中Device類捆綁TCP/IP芯片類來接收發(fā)送數(shù)據(jù),LCD顯示屏以及其他的外設(shè)都繼承Device類,以獲取數(shù)據(jù)傳輸和接收功能。數(shù)字、字符、圖形等則繼承抽象類displayObject類。這樣設(shè)計的一個很明顯的優(yōu)勢就是:今后如果有什么新的設(shè)備或顯示功能添加,不會影響到原來已經(jīng)設(shè)計調(diào)試好的功能。

            其c++結(jié)構(gòu)代碼如下:

            

            

            

            圖6為采用本方法開發(fā)的單個電子標簽屏幕顯示系統(tǒng)的設(shè)計操作界面。圖中顯示的為主控計算機下發(fā)的一個字符串對象、一個圖片對象和兩個直線對象。

            

             圖6 電子標簽顯示圖

            3、結(jié)語

            本文介紹了基于TCP/IP的LCD電子標簽系統(tǒng)設(shè)計,提出并實現(xiàn)了基于面向?qū)ο蠛蛙浖O(shè)計模式的裝設(shè)計方法,在實際使用中代碼靈活、結(jié)構(gòu)簡單、系統(tǒng)穩(wěn)定,而且維護起來也十分方便。

          tcp/ip相關(guān)文章:tcp/ip是什么



          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();