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