TCP/IP的以太網(wǎng)LCD電子標簽系統(tǒng)設(shè)計
在硬件服務(wù)層上,我們采用面向?qū)ο蟮?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/設(shè)計">設(shè)計方法將LCD顯示單元、按鈕、鍵盤、四色燈、TCP/IP封裝成一個個的對象。這樣也便于今后硬件服務(wù)系統(tǒng)的擴充。
由于我們采用的LCD顯示單元,其顯示內(nèi)容豐富,能顯示數(shù)字、字符、圖形、圖片等絕大部分數(shù)據(jù),并且支持彩色顯示。本部分的封裝是整個系統(tǒng)的核心和關(guān)鍵,因此我們在設(shè)計時采用了Composite模式,將文本、直線、圓、矩形、圖片等分別封裝成對象,通過一個公共的抽象類displayObject的接口來實現(xiàn)各自在LCD顯示單元上的重畫(paint)功能,將這些對象的公共屬性存放于接口中,而各自的個體屬性則分別放于各自的類定義中。
LCD顯示單元和這些待顯示數(shù)據(jù)對象之間為包含關(guān)系(Com.posite)。這樣設(shè)計的特點是按照LCD電子標簽系統(tǒng)的自然組成對象劃分類,各自獨立封裝,可擴展性非常好,并且結(jié)構(gòu)簡單。
由于本系統(tǒng)基于TCP/IP的以太網(wǎng),直接采用TCP/IP進行點對點的通信,所以整個類結(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的以太網(wǎng)LCD電子標簽系統(tǒng)設(shè)計,提出并實現(xiàn)了基于面向?qū)ο蠛蛙浖O(shè)計模式的裝設(shè)計方法,在實際使用中代碼靈活、結(jié)構(gòu)簡單、系統(tǒng)穩(wěn)定,而且維護起來也十分方便。
tcp/ip相關(guān)文章:tcp/ip是什么
評論