智能儀器中一種菜單式人機界面的軟硬件設計
摘 要: 由點陣式液晶顯示器和旋轉式光電編碼開關構成的智能儀器的人機交互界面,使儀器的操作向菜單式、傻瓜型邁進。在闡述光電編碼開關基本原理和使用方法的基礎上,介紹了I2C 接口芯片電路形成的硬件輸入結構,該結構體現了簡潔的風格。在軟件方面,則以當前的液晶屏顯示窗口作為界面狀態(tài),以狀態(tài)跟蹤為主線形成基于界面狀態(tài)的模塊式程序結構,這種程序結構的作業(yè)鏈清晰,便于調試,而且適合于儀器改進和升級時功能軟件的增加或變換。在由上位機與之組成自動測試系統(tǒng)時,操作命令下傳后的任務執(zhí)行程序也是及其簡單的。
本文引用地址:http://www.ex-cimer.com/article/167446.htm帶有微處理器的儀器的操作曾經是通過儀器面板上眾多的功能鍵和數字鍵來實現人機交互的,程序用查詢的方法掃描鍵盤或響應鍵盤中斷的方法讀回鍵值,然后散轉各分支程序去執(zhí)行相應的功能子程序,完成相應的作業(yè)。使用者往往不得不借助厚厚的使用說明書來熟悉、來指南儀器面板上各種按鍵的定義和操作的方法。隨著微電子技術的發(fā)展及大屏幕點陣式液晶顯示器的出現,使得智能化儀器的操作也向菜單式、傻瓜型邁進。通過液晶屏上的菜單選項,用面板上三四個按鍵或旋轉式光電編碼開關,就能完成儀器操作所必需的參數設置、命令執(zhí)行等必要的人機交互。該類儀器的程序結構也適應了其菜單式傻瓜界面的特點,用后臺大量的編程工作換取了前臺儀器操作的極其簡單和方便。本文從軟硬件設計的角度,討論智能儀器中菜單式交互界面形成的原理和實現的方法。
1 交互界面的輸入結構
在菜單式界面的智能儀器中,人機交互的指令輸入部件可用按鍵或旋轉式光電編碼開關。按鍵由增鍵、減鍵和確認鍵構成(圖1) .使用這3 種操作可以用來在液晶顯示屏上移動光標、數據輸入和操作選定等。增鍵和減鍵用于選擇菜單中選項時的光標移動,以及在設定數值時對數值大小的增減;確認鍵用于對選中的選項和設定的數值大小的確定。
圖1 按鍵示意圖
按鍵的功能可以用旋轉式光電編碼開關來替代。旋轉式光電編碼開關的功能類似計算機上使用的鼠標,它有3 種操作:左旋右旋和按下選定, 可對應著按鍵輸入時的增鍵、減鍵和確認鍵。
圖2 是光電編碼開關的外形圖、電原理圖、輸出信號真值表和波形圖。該開關壓下時②和③短路輸出,旋轉時,由把柄帶動穿孔圓盤一起轉動。開關內有2 個發(fā)光二極管、2 個光敏三極管和1 個穿孔圓盤,圓盤上的穿孔按特定規(guī)律分布。光敏二極管接收發(fā)光二極管發(fā)出的光,形成二路旋轉輸出信號輸出A和輸出B.旋轉時,當穿孔圓盤上的某個圓孔正對著發(fā)光二極管時,發(fā)光二極管發(fā)出的光通過該圓孔照射到光敏三極管上,三極管導通,輸出低電平信號;當圓盤上的所有圓孔都錯開發(fā)光二極管時,光敏三極管因收不到光信號而截止,輸出高電平信號。
圖2 光電編碼開關
由圖2 (c) 真值表可見,其實輸出B和輸出A的編碼對應著2 位循環(huán)碼(格雷碼) ,循環(huán)碼的特點是由一個計數狀態(tài)變到下一個計數狀態(tài)的過程中,只有一位數碼變化,因此在循環(huán)碼的譯碼器中,不會產生競爭冒險現象。在智能儀器中微處理器引腳狀態(tài)變化的中斷輸入中也不會產生中斷事件的競爭。但循環(huán)碼不能用二進制計算來判別大小和順序,所以要判別光電編碼開關是左旋還是右旋時,要引入輸出B和輸出A電平的現狀態(tài)和前狀態(tài)進行分支邏輯判斷,軟件編程稍稍復雜一點。
現在很多單片微控制器的I/ O 口線都帶有鍵盤中斷功能,圖1 所示的按鍵和圖2 所示的旋轉式光電編碼開關,可通過上拉電阻的形式直接接到這些I/ O 口線上。有操作信號時,口線的電平改變會引起鍵盤中斷的發(fā)生,CPU 響應中斷后可去處理相應的操作。在微處理器I/ O 口線或外中斷口線緊張的情況下,可以如圖3 所示,通過I2 C 總線外擴一片串行變并行的PCF8574 芯片,芯片P0~ P7 的8根口線可用作輸入或輸出;用作輸入時,口線電平的變化會引起芯片13 腳電平變低向微處理器申請中斷。圖3 中RL K 是旋轉式光電編碼開關,它的輸出A輸出B和按下開關接到了PCF8574 的P4、P5 和P6 ,在筆者研制的電流互感器伏安特性試驗儀中,PCF8574 的P0~P3 被用作輸出,經接插件J9 ,通過光耦去驅動試驗電壓量程切換的繼電器。
圖3 節(jié)省I/ O 口線的按鍵輸入接口電路
2 交互界面的輸出結構
菜單式交互界面的輸出部件可采用能顯示字符、漢字及圖形和曲線的大屏幕點陣式液晶顯示器。
帶有驅動控制器的點陣式LCD 液晶屏與微處理器的接口信號線除了8 位數據線外,一般還帶有讀有效線
、寫有效線
及地址譯碼的片選線
,所以對它的連接和讀寫操作,可看作是對微處理器片外的RAM 單元的連接和讀寫操作。讀寫操作中,不同的驅動控制器具有不同的指令格式,如常用于驅動320 ×240 點陣式液晶顯示屏的SED1335 液晶驅動芯片就帶有13 條指令,能方便地完成各種顯示功能。多任務下的選擇菜單可由多屏菜單形成多級鏈式結構,為便于敘述,以三級任務菜單為例,將作業(yè)分為主任務(用大寫字母A 、B、C 等表示) 、子任務(用小寫字母a 、b 、c 等表示) 和支任務(用數字1 、2 、3 等表示) ,圖4 是顯示界面的部分屏顯的匯總。每屏界面都有自己的編號:win1 、win2 、win3 ??.圖中win1 為主屏菜單,提供了主任務A、B 和C 3 個選項;win2 、win3 、win4 為第一級子菜單,為每項主任務提供了各自的子任務的選擇(如win2 屏是主任務A 的子任務A2a 、A2b 和A2c 的選項) ;win5 、win6和win7 是第二級子菜單,為第一級子菜單中的子任務提供下一級支任務(如win5 屏為win2 中的子任務選項A2a 提供A2a21 、A2a22 和A2a23 的支任務選項) ;各級子菜單中均有返回的選項,選擇執(zhí)行后返回上一級菜單。圖4 中的選項標志用■和□來指示, ■表示該項選中,選項的變動由增鍵和減鍵(或旋轉式光電編碼開關的左旋和右旋) 來完成,選項的執(zhí)行由確認鍵(或旋轉式光電編碼開關的按下選定) 來完成,根據■所在的位置,選項號opt =0 ,1 ,2 …….圖中舉例win14~win18 是具體任務的執(zhí)行情況界面,可以是測量值顯示,也可以是某參數的動態(tài)曲線顯示,可以是歷史數據查詢,等等。這些界面的返回功能在作業(yè)完成后自動進行,或默認按確認鍵返回。
電能表相關文章:電能表原理
評論