<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > P89C51RD2的可定制人機交互界面設計

P89C51RD2的可定制人機交互界面設計

作者:廣東工業(yè)大學(xué) 張海雄 劉建群 羅繼合 余孝偉 時(shí)間:2008-07-03 來(lái)源:?jiǎn)纹瑱C與嵌入式系統應用 收藏

  引 言

本文引用地址:http://dyxdggzs.com/article/85225.htm

  隨著(zhù)社會(huì )需要和科學(xué)技術(shù)的發(fā)展,產(chǎn)品的競爭愈來(lái)愈激烈,更新的周期愈來(lái)愈短,因而要求設計者能很快地設計出新產(chǎn)品;而在產(chǎn)品的整體設計中,的設計往往占據著(zhù)很大一部分工作,這樣,不但極大地增加了產(chǎn)品的開(kāi)發(fā)成本而且延長(cháng)了產(chǎn)品的上市周期。本文論述的基于P89C51RD2的是一種界面可定制、結構緊湊、價(jià)格低廉、簡(jiǎn)單易用、性能優(yōu)良的通用型,能很好地解決上述問(wèn)題。

  1 系統工作原理

  1.1 工作原理

  按照實(shí)際應用中控制系統的需要及控制系統與人機交互界面的約定,通過(guò)PC機上的可視化人機界面定制軟件,定制好整個(gè)界面信息,再把定制好的界面信息下載到人機交互界面系統中,就可以輕松地實(shí)現人機界面的定制。在應用中,人機交互界面通過(guò)串行接口與控制系統進(jìn)行交互,發(fā)送按鍵等信息給控制系統,并接收所需的可變信息,以完成人機交互。

  現以空壓機控制器的部分人機界面為例來(lái)說(shuō)明相關(guān)概念,界面系統示意圖如圖1所示。相關(guān)概念說(shuō)明如下:

 ?、倨聊?,即顯示區,由一個(gè)或多個(gè)屏幕項組成;

 ?、谄聊豁?,即屏幕里面的按其顯示內容的性質(zhì)差異來(lái)劃分的一個(gè)個(gè)整體單元,如文本屏幕項等;

 ?、燮聊豁椀姆诸?lèi),按其顯示內容的性質(zhì)差異分為文本、整型、浮點(diǎn)型、枚舉型、圖形等。

  整個(gè)人機界面系統由一個(gè)個(gè)存在鏈接關(guān)系的屏幕構成,而每個(gè)屏幕又由一個(gè)或多個(gè)屏幕項組成。各屏幕項有其自身的屬性,也存在著(zhù)某些相互的鏈接關(guān)系(例如,由某個(gè)屏幕項鏈接到另外一個(gè)屏)。這樣,通過(guò)對各屏幕項的合理組織而構成一個(gè)鏈表網(wǎng)絡(luò ),再通過(guò)對此鏈表網(wǎng)絡(luò )的操作來(lái)實(shí)現人機界面的操作,即屏幕的顯示操作。

  1.2 系統的工作過(guò)程

  系統的軟件部分由用戶(hù)引導程序和應用程序組成。系統運行后,由用戶(hù)引導程序決定是執行界面信息的更新還是正常運行。若執行界面信息的更新,則系統通過(guò)串行接口從上位機接收界面定制信息,并通過(guò)在應用編程(IAP)功能保存所接收的信息,然后通過(guò)本地讀取新的界面定制信息建立鏈表網(wǎng)絡(luò );若正常運行,則直接從本地讀取舊的界面定制信息建立鏈表網(wǎng)絡(luò )。應用程序實(shí)現的功能包括按鍵的輸入、界面的顯示及與控制系統的通信。

  2 系統硬件設計及電路原理圖

  本系統采用Philips公司功能強大、資源豐富的P89C51RD2作為微控制器,通過(guò)擴展液晶模塊及按鍵模塊來(lái)構成人機交互界面。系統的硬件電路原理如圖2所示。

  2.1 P89C51RD2簡(jiǎn)介

  P89C51RD2是Philips公司內核基于8位80C51的派生產(chǎn)品,在完全保留80C51指令系統和硬件結構的大框架下,進(jìn)行了多方面的加強、擴展和創(chuàng )新。P89C51RD2具有64 KB并行可編程的非易失性程序存儲器,并可實(shí)現對器件串行在系統編程和在應用中編程。

  2.2 液晶顯示模塊

  本系統采用的是OCM12864圖形點(diǎn)陣液晶顯示模塊。OCM12864液晶顯示模塊是128×64點(diǎn)陣型液晶顯示模塊,可顯示各種字符及圖形,可與CPU直接相連;具有8位標準數據總線(xiàn)、6條控制線(xiàn)及電源線(xiàn)。

  2.3 按鍵輸入模塊

  根據系統的需要,系統至少需要設定如下6個(gè)屏幕操作按鍵:左、右、上、下、換屏、確定按鍵。其中,左、右鍵用于切換屏幕項;上、下鍵用于修改可變屏幕項;確定鍵用于產(chǎn)生所選屏幕項對應的功能動(dòng)作;換屏鍵用于進(jìn)入所選中項的鏈接屏幕,若當前屏幕沒(méi)有選中項,則進(jìn)入首項鏈接的屏幕。當然,可以根據需要擴充數字按鍵及功能按鍵。

  本系統采用普通的矩陣式按鍵結構,也稱(chēng)“行列式鍵盤(pán)結構”。系統中設計4行4列共16個(gè)鍵,只占用8根I/O口線(xiàn),鍵數多而占用I/O口線(xiàn)少。除上述6個(gè)屏幕操作按鍵外,余下的10個(gè)鍵可由用戶(hù)根據需要定制功能,如數字鍵或功能鍵。

  3 系統軟件設計

  由于系統的功能實(shí)現不是特別復雜,故采用基于前后臺的傳統的控制程序設計方法。系統的程序流程如圖3所示。

  3.1 用戶(hù)引導程序設計

  由系統的程序流程可知,用戶(hù)引導程序在系統上電后執行。首先它檢查是否需要下載定制界面信息,當檢查到需要下載時(shí),便接收主機經(jīng)串口傳來(lái)的定制界面數據,啟動(dòng)IAP功能,對進(jìn)行操作,把接收到的數據存入預定的位置。接著(zhù)進(jìn)入界面系統構建階段。若沒(méi)有下載請求,就直接進(jìn)入界面系統構建階段。

  在界面系統構建階段,通過(guò)讀取預定位置處的信息,建立一個(gè)鏈表風(fēng)格?;谶@個(gè)鏈表網(wǎng)絡(luò )的操作也就是苦于界面系統的操作。

  3.1.1 相關(guān)設定

  屏幕項組成:顯示信息(如顯示位置、類(lèi)型、內容等)和鏈接信息(此項所鏈接的屏等)。綜合各方面的需要,設定主要相關(guān)數據結構如下:


  其中,back、ahead用于構建屏幕項的雙向循環(huán)鏈表;next用于構建鏈接屏的單向循環(huán)鏈表;init用于原始的屏與屏的鏈接。

  3.1.2 鏈表網(wǎng)絡(luò )構成

  同一屏幕的項構成雙向循環(huán)鏈表、鏈接屏幕構成單向循環(huán)鏈表。實(shí)現方法:先以屏為單位建立每屏的橫向雙向循環(huán)鏈表;再遍歷各屏的雙向鏈表,為各屏的項建立鏈接關(guān)系,進(jìn)而構成一個(gè)鏈表網(wǎng)絡(luò )。如界面系統示意圖(圖1)所示,功能選擇、維護信息、故障記錄、用戶(hù)設定、廠(chǎng)家設定5個(gè)屏幕項構成1個(gè)屏的橫向雙向鏈表,而以維護信息、濾清器使用時(shí)間、分離器使用時(shí)間3項所在的屏構成鏈接屏的單向循環(huán)鏈表,最終構成圖4所示的鏈表網(wǎng)絡(luò )示意圖。

  下面介紹具體實(shí)現步驟。

  (1)屏幕項的橫向雙向循環(huán)鏈表構建

  因從PC機下載到人機界面的定制界面信息是按如下格式保存在預定中的(其中,各屏之間以SCREEN_END字符常量為分界),故在構建項的橫向雙向鏈表時(shí),先從預定的位置逐一讀取項的信息并填充到項的結構中,最后插入到雙向鏈表中。

  格式說(shuō)明:STA代表起始符、END代表結束符、L代表本幀數據的字節長(cháng)度、x/y/LinkNo/SreenNo/Item_ID/Select/type見(jiàn)data_t結構中的說(shuō)明。

 ?、傥谋卷椄袷剑篠TA+L+x,y,LinkNo,ScreenNo,Item_ID,Select,type(1),string(文本內容)+END。

 ?、谡?、浮點(diǎn)項:STA+L+x,y,LinkNo,ScreenNo,Item_ID,Select,type(2/3)+END。

 ?、勖杜e項:STA+L+x,y,LinkNo,ScreenNo,Item_ID,Select,type(4),count(枚舉項數),string1(字符串1),string2(字符串2),…,+END。

  相關(guān)函數:int add_item_node(link_t pNode,data_te);把項節點(diǎn)插入到橫向雙向鏈表中。

  (2)鏈接屏的單向循環(huán)鏈表構建

  遍歷已生成的各屏的雙向鏈表,為各屏的項建立鏈接關(guān)系,進(jìn)而構成一個(gè)鏈表網(wǎng)絡(luò )。

  相關(guān)函數:int create_net(link_t head);遍歷各屏的雙向鏈表,建立鏈表網(wǎng)絡(luò )。

  3.2 應用程序設計

  應用程序負責完成按鍵的掃描及處理、界面的顯示、與控制系統的通信。

  由系統的流程框圖可知,構建好鏈表網(wǎng)絡(luò )后就進(jìn)入應用程序階段,即系統進(jìn)入正常運行狀態(tài)。通過(guò)系統中設定當前屏指針、當前項指針及已構建的鏈表網(wǎng)絡(luò )等來(lái)實(shí)現人機交互界面的操作。

  3.2.1 人機界面與控制系統的通信格式

  格式說(shuō)明:STA代表起始符,END代表結束符,type代表類(lèi)型。

  (1)人機界面→控制系統

 ?、偎魅∽兞啃畔ⅲ篠TA+type(1)+Item_ID(項的ID)+END

 ?、诎存I:STA+type(2)+按鍵個(gè)數+鍵值1(,鍵值2,…)十Item_ID(項的ID)+END

  說(shuō)明:通信格式②中的Item_ID可以為0。

  當為0時(shí),表示當前無(wú)選中項或功能按鍵。

  (2)控制系統→人機界面

 ?、俜祷刈兞啃畔ⅲ篠TA+type(1)+Item_ID(項的ID)+content(內容)+END

 ?、诎存I確認:STA+type(2)+END

 ?、郯存I確認并返回修改后的變量信息:STA+type(3)+content(內容)+END

  3.2.2 界面的顯示

  通過(guò)遍歷當前屏幕的橫向雙向循環(huán)鏈表來(lái)逐一顯示屏幕項。其中對各類(lèi)項的處理如下:

 ?、佼斊聊豁検俏谋緯r(shí),直接讀取并顯示。

 ?、诋斊聊豁棡檎?、浮點(diǎn)時(shí),通過(guò)向控制系統索取其值并顯示。

 ?、郛斊聊豁棡槊杜e時(shí),通過(guò)向控制系統索取其值,再按值讀取對應的字符串并顯示。

  3.2.3 按鍵的處理

  所有的按鍵都先發(fā)送到控制系統,并等待其確認。存在如下按鍵類(lèi)型及相應的處理:

 ?、佼敒楣δ苕I時(shí),直接發(fā)送給控制系統,人機界面不做進(jìn)一步處理。

 ?、诋敒樯?、下鍵時(shí),如果當前屏幕有選中項且是可變項時(shí)(如整型、浮點(diǎn)等),則接收處理后的信息并顯示。

 ?、郛敒樽?、右鍵時(shí),如有可選項,則進(jìn)行當前屏的屏幕項選擇或切換(通過(guò)操作橫向雙向循環(huán)鏈表來(lái)實(shí)現)。

 ?、墚敒榇_定鍵時(shí),如果當前屏幕有選中項,則啟用該項的功能(通過(guò)發(fā)送該鍵值及項的ID給控制系統)。

 ?、莓敒閾Q屏鍵時(shí),如果當前屏幕有選中項并且此項有鏈接,則進(jìn)入該項的鏈接屏幕;如果沒(méi)有選中項且屏幕的首項有鏈接,則進(jìn)入此鏈接屏幕(通過(guò)操作鏈接屏的單向循環(huán)鏈表來(lái)實(shí)現)。

  結 語(yǔ)

  從數據結構的角度出發(fā),綜合利用PC機、P89C51RD2的IAP等功能,并結合控制系統,巧妙地設計出一種通用型可定制的人機交互界面。使用這種人機交互界面,無(wú)論是新產(chǎn)品的開(kāi)發(fā)還是產(chǎn)品的更新升級,都可以減少開(kāi)發(fā)的工作量,縮短開(kāi)發(fā)的時(shí)間,為產(chǎn)品贏(yíng)得寶貴的上市時(shí)間,從而可以增強企業(yè)的競爭力,因此該系統具有十分廣闊的市場(chǎng)前景。

  本設計創(chuàng )新點(diǎn):

 ?、偈褂肞89C51RD2的IAP功能把定制好的界面信息存儲于Flash中,實(shí)現界面信息的更新。

 ?、诨跀祿Y構,提出了一種通過(guò)創(chuàng )建鏈表網(wǎng)絡(luò )來(lái)實(shí)現對定制好的界面進(jìn)行動(dòng)態(tài)組織,進(jìn)而實(shí)現界面的可定制功能。該功能使人機交互界面的設計更加快捷,進(jìn)而減少開(kāi)發(fā)的工作量,縮短開(kāi)發(fā)的時(shí)間。



關(guān)鍵詞: 單片機 人機交互界面 LCD Flash

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>