国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

發布時間:2010-8-6 10:21    發布者:lavida
隨著社會需要和科學技術的發展,產品的競爭愈來愈激烈,更新的周期愈來愈短,因而要求設計者能很快地設計出新產品;而在產品的整體設計中,人機交互界面的設計往往占據著很大一部分工作,這樣,不但極大地增加了產品的開發成本而且延長了產品的上市周期。本文論述的基于P89C51RD2的人機交互界面是一種界面可定制、結構緊湊、價格低廉、簡單易用、性能優良的通用型人機交互界面,能很好地解決上述問題。  

1 系統工作原理

1.1 工作原理  

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

現以空壓機控制器的部分人機界面為例來說明相關概念,相關概念說明如下:   

①屏幕,即LCD顯示區,由一個或多個屏幕項組成;  
②屏幕項,即屏幕里面的按其顯示內容的性質差異來劃分的一個個整體單元,如文本屏幕項等;  
③屏幕項的分類,按其顯示內容的性質差異分為文本、整型、浮點型、枚舉型、圖形等。  

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

1.2 系統的工作過程  

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

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

本系統采用Philips公司功能強大、資源豐富的P89C51RD2單片機作為微控制器,通過擴展液晶模塊及按鍵模塊來構成人機交互界面。
  
2.1 P89C51RD2單片機簡介  

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

2.2 液晶顯示模塊  

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

2.3 按鍵輸入模塊  

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

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

3 系統軟件設計  

由于系統的功能實現不是特別復雜,故采用基于前后臺的傳統的控制程序設計方法。  

3.1 用戶引導程序設計  

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

在界面系統構建階段,通過讀取預定位置處的信息,建立一個鏈表風格。基于這個鏈表網絡的操作也就是苦于界面系統的操作。  

3.1.1 相關設定  

屏幕項組成:顯示信息(如顯示位置、類型、內容等)和鏈接信息(此項所鏈接的屏等)。綜合各方面的需要,設定主要相關數據結構如下:
  
其中,back、ahead用于構建屏幕項的雙向循環鏈表;next用于構建鏈接屏的單向循環鏈表;init用于原始的屏與屏的鏈接。  

3.1.2 鏈表網絡構成  

同一屏幕的項構成雙向循環鏈表、鏈接屏幕構成單向循環鏈表。實現方法:先以屏為單位建立每屏的橫向雙向循環鏈表;再遍歷各屏的雙向鏈表,為各屏的項建立鏈接關系,進而構成一個鏈表網絡。如界面系統示意圖(圖1)所示,功能選擇、維護信息、故障記錄、用戶設定、廠家設定5個屏幕項構成1個屏的橫向雙向鏈表,而以維護信息、濾清器使用時間、分離器使用時間3項所在的屏構成鏈接屏的單向循環鏈表。  
下面介紹具體實現步驟。  

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

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

格式說明:STA代表起始符、END代表結束符、L代表本幀數據的字節長度、x/y/LinkNo/SreenNo/Item_ID/Select/type見data_t結構中的說明。  

①文本項格式:STA+L+x,y,LinkNo,ScreenNo,Item_ID,Select,type(1),string(文本內容)+END。  
②整型、浮點項:STA+L+x,y,LinkNo,ScreenNo,Item_ID,Select,type(2/3)+END。  
③枚舉項:STA+L+x,y,LinkNo,ScreenNo,Item_ID,Select,type(4),count(枚舉項數),string1(字符串1),string2(字符串2),…,+END。  

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

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

遍歷已生成的各屏的雙向鏈表,為各屏的項建立鏈接關系,進而構成一個鏈表網絡。  

相關函數:int create_net(link_t head);遍歷各屏的雙向鏈表,建立鏈表網絡。

3.2 應用程序設計  

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

由系統的流程框圖可知,構建好鏈表網絡后就進入應用程序階段,即系統進入正常運行狀態。通過系統中設定當前屏指針、當前項指針及已構建的鏈表網絡等來實現人機交互界面的操作。  

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

格式說明:STA代表起始符,END代表結束符,type代表類型。  

(1)人機界面→控制系統  
①索取變量信息:STA+type(1)+Item_ID(項的ID)+END  
②按鍵:STA+type(2)+按鍵個數+鍵值1(,鍵值2,…)十Item_ID(項的ID)+END  

說明:通信格式②中的Item_ID可以為0。  
當為0時,表示當前無選中項或功能按鍵。  

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

①返回變量信息:STA+type(1)+Item_ID(項的ID)+content(內容)+END  
②按鍵確認:STA+type(2)+END  
③按鍵確認并返回修改后的變量信息:STA+type(3)+content(內容)+END  

3.2.2 界面的顯示  

通過遍歷當前屏幕的橫向雙向循環鏈表來逐一顯示屏幕項。其中對各類項的處理如下:  

①當屏幕項是文本時,直接讀取并顯示。  
②當屏幕項為整型、浮點時,通過向控制系統索取其值并顯示。  
③當屏幕項為枚舉時,通過向控制系統索取其值,再按值讀取對應的字符串并顯示。  

3.2.3 按鍵的處理  

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

①當為功能鍵時,直接發送給控制系統,人機界面不做進一步處理。  
②當為上、下鍵時,如果當前屏幕有選中項且是可變項時(如整型、浮點等),則接收處理后的信息并顯示。  
③當為左、右鍵時,如有可選項,則進行當前屏的屏幕項選擇或切換(通過操作橫向雙向循環鏈表來實現)。  
④當為確定鍵時,如果當前屏幕有選中項,則啟用該項的功能(通過發送該鍵值及項的ID給控制系統)。  
⑤當為換屏鍵時,如果當前屏幕有選中項并且此項有鏈接,則進入該項的鏈接屏幕;如果沒有選中項且屏幕的首項有鏈接,則進入此鏈接屏幕(通過操作鏈接屏的單向循環鏈表來實現)。  

結 語  

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

本設計創新點:  

①使用P89C51RD2的IAP功能把定制好的界面信息存儲于Flash中,實現界面信息的更新。  
②基于數據結構,提出了一種通過創建鏈表網絡來實現對定制好的界面進行動態組織,進而實現界面的可定制功能。該功能使人機交互界面的設計更加快捷,進而減少開發的工作量,縮短開發的時間。
本文地址:http://m.qingdxww.cn/thread-19631-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 更佳設計的解決方案——Microchip模擬開發生態系統
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
  • 我們是Microchip
  • 想要避免發生災難,就用MPLAB SiC電源仿真器!
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线免费观看日本 | 欧美日韩国产一区 | 情侣偷偷看的羞羞视频网站 | 国产一级高清免费观看 | 麻豆高清视频在线观看 | 九九热最新 | 在线观看噜噜噜私人影院 | 8848com四虎| 四虎影院永久在线 | 国产精品国产三级国产普通话对白 | a一级一色一情 | 蜜桃成人精品 | 狠狠色丁香久久婷婷 | 朋友的母亲在线播放 | 99视频免费看 | 精品视频在线观看一区二区三区 | 欧美裸阴 | 国产精品久久久久久久久久一区 | 午夜成年女人毛片免费观看 | 狠狠色丁香久久婷婷综合五月 | 国产精品2018 | 欧美成人午夜精品免费福利 | 免费视频国产 | 欧美日韩国产一区二区 | 日韩久久一级毛片 | 麻豆视频传媒二区 | 热之国产 | 经典老汉gayoldmantv | 国产成a人片在线观看视频 国产产一区二区三区久久毛片国语 | xxxxx性欧美hd另类 | 91麻精品国产91久久久久 | 久久精品免费观看 | 国产精品合集一区二区三区 | 午夜a一级毛片一.成 | 一级欧美片magnet | 男人扒开女人下面狂躁的视频 | 亚洲免费一级视频 | 四虎影视成人永久在线播放 | 九九这里有精品 | 2022年果冻传媒国产 | 情侣偷偷看的羞羞视频网站 |