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