智能儀器中一種菜單式人機界面的軟硬件設計
這種結構還很適合儀器在改進和升級時功能程序模塊的增加和變換。比如系統要增加子任務B2d,只要在如圖4 所示的win3 屏顯中插入這個選項為opt = 3 ,使該屏為5 選項,則當標志■選中該項時程序即調用執行子任務B2d的子程序。要增加主任務D的方法是類似的,只要在win1 屏顯中加入這個選項,然后程序根據菜單的選擇來分支就行了。

圖4 顯示界面的部分屏顯匯總
3 基于界面狀態的程序結構
儀器儀表的系統程序結構,由按鍵和作業的對應關系可分為一鍵一義型和一鍵多義型兩種結構。
對于一鍵多義型系統程序,作業的調度條件是多因數的,不僅與外因(鍵盤操作) 有關,也與內因(系統當前所處的狀態) 有關。為此,引入系統狀態的概念,即將系統運行情況分成若干狀態(如圖4 所示的界面狀態和選項狀態,選項狀態屬于界面狀態的子狀態) ,使得在任何一個狀態下每一個按鍵只有唯一的定義。這樣一來,系統運行去向就可以由當前狀態和當前鍵碼來共同決定了。智能化儀器儀表正由一鍵一義型向一鍵多義型進化。如用圖4 所示的顯示界面來表征系統當前所處的狀態,其程序結構稱之為基于界面狀態的程序結構。
為提高系統效率,對鍵盤(或旋轉式光電編碼開關) 的操作響應可采用中斷的方式進行。進入鍵中斷服務程序后,先判別是增建、減鍵、確認鍵(或旋轉式光電編碼開關的左旋右旋按下選定) 的哪一個鍵碼觸發中斷;接著判別當前系統所處的狀態(當前的顯示屏號win 及選項號opt ) ; 再由鍵碼key ,系統狀態win 和opt 決定執行什么作業。程序框圖如圖5 所示。值得一提的是,對那些不適合在中斷服務程序中執行或執行時間過長的作業(如打印等) ,可在中斷服務程序中置位該作業的啟動標志,待中斷返回后在主程序中再執行選中的作業,完成后清除該作業的啟動標志。

圖5 基于界面的交互過程
4 操作界面的上位機介入
電子技術的飛速發展,使嵌入式系統中的存儲器體積越來越小、容量越來越大。但是,如果要在一臺試驗用的儀器上進行日積月累的試驗數據的查詢和管理,如果要使儀器的實時試驗曲線具有較高的分辨率和對局部曲線進行分析,如果要使儀器的操作能遠程控制,那么,儀器單機的資源就略顯不足。
滿足上述要求的通常做法是用PC 機(或筆記本電腦) 作為儀器的上位機,通過RS232 串口(或USB口) 與儀器通信構成自動測試系統,使儀器共享上位計算機的資源,進一步增強智能儀器的性能。
基于界面狀態的程序結構為上位計算機介入后對儀器的控制提供了很好的軟件平臺。微處理器在響應串口中斷的中斷服務程序中,首先從接收到的上位機傳來的信息判斷是何種作業,然后用調用子程序的方法,調用圖4 所示的基于界面狀態的opt 作業程序。這樣,原來基于界面狀態的程序結構幾乎不用改動,只要在串口中斷服務程序中根據上位機的命令來分支調用子程序就行了。當然,在上位機控制下執行相應作業時,儀器上的液晶顯示界面仍然將同步顯示當前作業,為遠程操作儀器和實地監視儀器提供了方便。
5 結 語
大屏幕點陣式液晶顯示器和內置大容量程序存儲器的微處理器的出現,給儀器儀表的智能化進程推波助瀾。上述人機交互界面的軟硬件設計,僅是筆者在工程項目中的初步嘗試,基本達到了結構簡單、操作方便、編程高效和界面友好的效果。用后臺大量的工作換取前臺操作的極其簡單和方便,應是儀器儀表業內同行始終追求的境界。
電能表相關文章:電能表原理
評論