近年來,,LCD顯示器的普及和微處理器向大容量的發(fā)展使嵌入式系統(tǒng)的人機(jī)交互功能得到了顯著的提高,。在很多場合下,良好的圖形用戶界面(GUI)和便捷的操作環(huán)境是影響產(chǎn)品成敗的關(guān)鍵因素之一,。如何充分利用成本低,、資源少的單片機(jī)系統(tǒng)實(shí)現(xiàn)完善的人機(jī)交互功能已成為單片機(jī)設(shè)計者需要解決的一個問題,。
目前,,國內(nèi)外許多先進(jìn)的智能儀表不僅在測量精度和采樣速率等方面有較高的性能指標(biāo),在人機(jī)交互的友好性方面也有許多獨(dú)到之處,。筆者在為德國TOX沖壓技術(shù)有限公司研制智能壓力監(jiān)控儀的過程中,,積累了一些嵌入式系統(tǒng)人機(jī)交互技術(shù)的沒計經(jīng)驗(yàn)。本文以此為實(shí)例,介紹其設(shè)計方法,。
1 智能壓力監(jiān)控儀概述
智能壓力監(jiān)控儀是為德國TOX沖壓技術(shù)有限公司研制的專用儀器,。該公司專門生產(chǎn)金屬板件連接沖壓設(shè)備,為保證連接質(zhì)量,,需對沖壓過程中的壓力進(jìn)行監(jiān)測,;并將被測值與設(shè)定的壓力上限和壓力下限進(jìn)行比較,據(jù)此判定是否合格,。圖l為TOX智能壓力監(jiān)控儀硬件系統(tǒng)的結(jié)構(gòu)框圖,。它以片機(jī)為核心,配有壓力和位移傳感器,、信號調(diào)理電路,、LCD液晶顯示電路、按鍵,、RS232和RS485通信接口,,以及與PLC連接的輸入/輸出接口等。
TOX智能壓力臨控儀除了具有普通智能儀表所具有的測量功能,、數(shù)據(jù)處理功能和通信功能外,,還為用戶提供了友好的人機(jī)交互菜單。通過按鍵和LCD顯示器,,可靈活地設(shè)定和查詢以下信息:測量程序號及對應(yīng)的壓力上,、下限值;傳感器的類型,、規(guī)格和靈敏度等,;傳感器的零點(diǎn)偏移量和允許偏移的最大范圍;自動零點(diǎn)校驗(yàn)功能是否啟用,;通信接口是否啟用,;通信接口的模式和地址;最新10組測量數(shù)據(jù),;用戶密碼,;文字種類(中文或英文);設(shè)備的維護(hù)周期和操作次數(shù)等,。另外,,設(shè)有存儲器保護(hù)功能。
2 控制面板及操作界面
圖2所示為TOX智能壓力監(jiān)控儀的控制面板,,面板上有1個160×80點(diǎn)陣的LCD顯示器和6個按鍵,。LCD顯示器每行能顯示20個英文或lO個中文符號,共5行,;6個按鍵分別為0,、ENTER和ESC,。利用這6個按鍵,用戶可以隨意切換“測量”和“菜單”界面,,進(jìn)入菜單界面后,,用戶還可以方便地設(shè)定和查詢有關(guān)信息。
打開電源后,,設(shè)備將顯示版本號,,接著進(jìn)行“傳感器校準(zhǔn)”(可關(guān)閉此項(xiàng)功能),而后進(jìn)入圖3所示的“測量”界面,。
在測量界面下,,如果接收到來自于PLC的測量命令,或用戶按下“F1”或“F2”鍵,,則開始對通道1或通道2的壓力進(jìn)行測量,,隨后處理和顯示測量結(jié)果;如果用戶按下“ESC”鍵,,則進(jìn)入網(wǎng)4所示的“主菜單”界面,。
進(jìn)入主菜單界面后,按”鍵移動光標(biāo),;按“ESC”鍵返回到上級菜單(即“測量”菜單),;按“ENTER”鍵進(jìn)入所選的子菜單。例如,,當(dāng)光標(biāo)位于“測量程序”選項(xiàng)上時,,若按下“ENTER”鍵,則進(jìn)入圖5所示的“測量程序”輸入子菜單,。
“測量程序”子菜單共有5個選項(xiàng),,分別是程序號以及通道1和通道2的壓力上、下限值(即最小值和最大值),,用戶選定的設(shè)定值也同時給出,。同樣,按鍵可以移動光標(biāo),;按“ESC”鍵返回到上級菜單(即主菜單),;按“ENTER”鍵進(jìn)入光標(biāo)所在位置下級子菜單。例如,,當(dāng)光標(biāo)位于通道l的“最小值”選項(xiàng)上時,,若按下“ENTER”鍵,則進(jìn)入圖6所示的“最小值”設(shè)定界面,。
圖6中,,“30.00”表示通道l的壓力最小值是30.00,“_”為光標(biāo)提示符,。如果用戶要修改設(shè)定值,,則可按、鍵將光標(biāo)移動到相應(yīng)的位上,,然后再按鍵修改設(shè)定值,。例如,當(dāng)光標(biāo)在當(dāng)前位置上時,,若按“▲”鍵,,則設(shè)定值由30.00變成31.00;若按鍵,,則設(shè)定值30.00由變成29.00,。這樣,只用4個按鍵,,就可以方便地輸入設(shè)定值,。
主菜單下的“傳感器配置”、“數(shù)據(jù)”和“其它”選項(xiàng)下也嵌套了不同數(shù)量的一級,、二級甚至多級子菜單,,供用戶查詢、修改數(shù)據(jù)和配置參數(shù),。
由此可見,,盡管儀有6個操作按鍵和1個LCD顯示器,但TOX智能壓力監(jiān)控儀仍給操作者提供了友好的操作環(huán)境,,實(shí)現(xiàn)了人機(jī)交互,。
3 人機(jī)交互菜單的設(shè)計
本設(shè)計中,主菜單和子菜單多達(dá)20余頁,,且有中,、英文2種文字供用戶選擇,從而增大了應(yīng)用層程序設(shè)計的難度,。程序采用模塊化結(jié)構(gòu),,主要包括以下幾個模塊:
界面切換控制模塊:為按用戶要求切換操作界面,定義了一個Page_Point映像寄存器,,其值在O~P-l之間變化,,P為操作界面的個數(shù)。如果Page_Point=O,,則LCD顯示器上顯示第0頁窗體(為圖3所示的測量界面),;如果Page_Point=l,則LCD顯示器上顯示第1頁窗體(為圖4所示的主菜單界面),。當(dāng)用戶按下“ENTER”或“ESC”鍵后,,根據(jù)選項(xiàng)光標(biāo)所在的位置修改Page_Point的值,然后更新顯示窗體,,實(shí)現(xiàn)人機(jī)交互,。
按鍵掃描模塊:對6個操作按鍵進(jìn)行掃描,,將結(jié)果存在Key_Status映像寄存器中。該寄存器有6個有效位,,分別是Key_Up,、Key_Down、Key_Left,、Key_Right,、Key_Esc及Key_Enter,依次對應(yīng)操作面板上的6個按鍵“ESC”及“ENTER”,。如果標(biāo)志位為l,,則意味著對應(yīng)的按鍵按下;反之,則松開,。
選項(xiàng)管理控制模塊:若當(dāng)前的操作界面屬于“選項(xiàng)界面”(圖4所示的主菜單界面和圖5所示的測量程序子界面均屬于選項(xiàng)界面),,則按下鍵,光標(biāo)“>”所在的位置向上或向下移動l項(xiàng),。為此,,定義了一個Option_Point映像寄存器,其值為0~N-1(N為選項(xiàng)個數(shù)),。若主菜單有4個選項(xiàng),,則N=4,此時Option_Point為O~3,;若測量程序子菜單有5個選項(xiàng),,則N=5,此時Option_Point為0~4,。圖7為選項(xiàng)管理控制模塊的程序流程圖,。
數(shù)據(jù)輸入模塊:若當(dāng)前的操作界面屬于“置數(shù)界面”(圖6所示的最小值設(shè)定界面就屬于置數(shù)界面),則按下和鍵,,光標(biāo)“_”所在的位置向左或向右移動1位,。為此,定義了一個Bit_Point映像寄存器,,用于記錄可以修改的數(shù)據(jù)位所在的位置,。按下鍵,可將當(dāng)前光標(biāo)所在數(shù)據(jù)位上的數(shù)值加“l”或減“l”,,例如,,在圖6所示的最小值設(shè)定界面中,若按“▲”鍵,,則設(shè)定值由30.00變成31.00,;若按“v”鍵,則設(shè)定值由30.OO變成29.00,。用4個鍵,,即可方便地輸入滿足用戶要求的任何數(shù)值,。圖8為數(shù)據(jù)輸入模塊的程序流程圖。
利用上述模塊,,只需少量的程序代碼就可以靈活地實(shí)現(xiàn)選項(xiàng),、修改數(shù)據(jù)及切換操作界面等功能。
本設(shè)計采用匯編語言編程,,所片j單片機(jī)為性能較低的PICl6F877A,盡管其程序存儲器只有8KB,,但卻實(shí)現(xiàn)了20多頁操作界面的顯示和切換,,以及數(shù)十個數(shù)據(jù)的設(shè)定和杳詢等人機(jī)交互功能,同時還實(shí)現(xiàn)了測量,、監(jiān)控和通信功能,。
4 結(jié)論
嵌入式系統(tǒng)的人機(jī)交互技術(shù)日趨完善。通過LCD顯示器和少量的幾個按鍵,,利用軟件在嵌入式系統(tǒng)設(shè)計中實(shí)現(xiàn)參數(shù)設(shè)定和數(shù)據(jù)管理等人機(jī)交互功能,,增強(qiáng)了操作的趣味性和功能性,有助于提高系統(tǒng)的附加值,。