智能儀器中一種菜單式人機(jī)界面的軟硬件設(shè)計(jì)_第1頁
智能儀器中一種菜單式人機(jī)界面的軟硬件設(shè)計(jì)_第2頁
智能儀器中一種菜單式人機(jī)界面的軟硬件設(shè)計(jì)_第3頁
智能儀器中一種菜單式人機(jī)界面的軟硬件設(shè)計(jì)_第4頁
智能儀器中一種菜單式人機(jī)界面的軟硬件設(shè)計(jì)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

【W(wǎng)ord版本下載可任意編輯】智能儀器中一種菜單式人機(jī)界面的軟硬件設(shè)計(jì)摘要:由點(diǎn)陣式液晶顯示器和旋轉(zhuǎn)式光電編碼開關(guān)構(gòu)成的智能儀器的人機(jī)交互界面,使儀器的操作向菜單式、傻瓜型邁進(jìn)。在闡述光電編碼開關(guān)基本原理和使用方法的根底上,介紹了I2C接口芯片電路形成的硬件輸入構(gòu)造,該構(gòu)造表達(dá)了簡(jiǎn)潔的風(fēng)格。在軟件方面,則以當(dāng)前的液晶屏顯示窗口作為界面狀態(tài),以狀態(tài)跟蹤為主線形成基于界面狀態(tài)的模塊式程序構(gòu)造,這種程序構(gòu)造的作業(yè)鏈清晰,便于調(diào)試,而且適合于儀器改良和升級(jí)時(shí)功能軟件的增加或變換。在由上位機(jī)與之組成自動(dòng)測(cè)試系統(tǒng)時(shí),操作命令下傳后的任務(wù)執(zhí)行程序也是及其簡(jiǎn)單的。

帶有微處理器的儀器的操作曾經(jīng)是通過儀器面板上眾多的功能鍵和數(shù)字鍵來實(shí)現(xiàn)人機(jī)交互的,程序用查詢的方法掃描鍵盤或響應(yīng)鍵盤中斷的方法讀回鍵值,然后散轉(zhuǎn)各分支程序去執(zhí)行相應(yīng)的功能子程序,完成相應(yīng)的作業(yè)。使用者往往不得不借助厚厚的使用說明書來熟悉、來指南儀器面板上各種按鍵的定義和操作的方法。隨著微電子技術(shù)的發(fā)展及大屏幕點(diǎn)陣式液晶顯示器的出現(xiàn),使得智能化儀器的操作也向菜單式、傻瓜型邁進(jìn)。通過液晶屏上的菜單項(xiàng)選擇項(xiàng),用面板上三四個(gè)按鍵或旋轉(zhuǎn)式光電編碼開關(guān),就能完成儀器操作所必需的參數(shù)設(shè)置、命令執(zhí)行等必要的人機(jī)交互。該類儀器的程序構(gòu)造也適應(yīng)了其菜單式"傻瓜"界面的特點(diǎn),用后臺(tái)大量的編程工作換取了前臺(tái)儀器操作的極其簡(jiǎn)單和方便。本文從軟硬件設(shè)計(jì)的角度,討論智能儀器中菜單式交互界面形成的原理和實(shí)現(xiàn)的方法。

1交互界面的輸入構(gòu)造

在菜單式界面的智能儀器中,人機(jī)交互的指令輸入部件可用按鍵或旋轉(zhuǎn)式光電編碼開關(guān)。按鍵由增鍵、減鍵和確認(rèn)鍵構(gòu)成(圖1).使用這3種操作可以用來在液晶顯示屏上移動(dòng)光標(biāo)、數(shù)據(jù)輸入和操作選定等。增鍵和減鍵用于選擇菜單中選項(xiàng)時(shí)的光標(biāo)移動(dòng),以及在設(shè)定數(shù)值時(shí)對(duì)數(shù)值大小的增減;確認(rèn)鍵用于對(duì)選中的選項(xiàng)和設(shè)定的數(shù)值大小確實(shí)定。

圖1按鍵示意圖

按鍵的功能可以用旋轉(zhuǎn)式光電編碼開關(guān)來替代。旋轉(zhuǎn)式光電編碼開關(guān)的功能類似計(jì)算機(jī)上使用的鼠標(biāo),它有3種操作:"左旋""右旋"和"按下選定",可對(duì)應(yīng)著按鍵輸入時(shí)的增鍵、減鍵和確認(rèn)鍵。

圖2是光電編碼開關(guān)的外形圖、電原理圖、輸出信號(hào)真值表和波形圖。該開關(guān)壓下時(shí)②和③短路輸出,旋轉(zhuǎn)時(shí),由把柄帶動(dòng)穿孔圓盤一起轉(zhuǎn)動(dòng)。開關(guān)內(nèi)有2個(gè)發(fā)光二極管、2個(gè)光敏三極管和1個(gè)穿孔圓盤,圓盤上的穿孔按特定規(guī)律分布。光敏二極管接收發(fā)光二極管發(fā)出的光,形成二路旋轉(zhuǎn)輸出信號(hào)"輸出A"和"輸出B".旋轉(zhuǎn)時(shí),當(dāng)穿孔圓盤上的某個(gè)圓孔正對(duì)著發(fā)光二極管時(shí),發(fā)光二極管發(fā)出的光通過該圓孔照射到光敏三極管上,三極管導(dǎo)通,輸出低電平信號(hào);當(dāng)圓盤上的所有圓孔都錯(cuò)開發(fā)光二極管時(shí),光敏三極管因收不到光信號(hào)而截止,輸出高電平信號(hào)。

圖2光電編碼開關(guān)

由圖2(c)真值表可見,其實(shí)"輸出B"和"輸出A"的編碼對(duì)應(yīng)著2位循環(huán)碼(格雷碼),循環(huán)碼的特點(diǎn)是由一個(gè)計(jì)數(shù)狀態(tài)變到下一個(gè)計(jì)數(shù)狀態(tài)的過程中,只有一位數(shù)碼變化,因此在循環(huán)碼的譯碼器中,不會(huì)產(chǎn)生競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象。在智能儀器中微處理器引腳狀態(tài)變化的中斷輸入中也不會(huì)產(chǎn)生中斷事件的競(jìng)爭(zhēng)。但循環(huán)碼不能用二進(jìn)制計(jì)算來判別大小和順序,所以要判別光電編碼開關(guān)是"左旋"還是"右旋"時(shí),要引入"輸出B"和"輸出A"電平的現(xiàn)狀態(tài)和前狀態(tài)開展分支邏輯判斷,軟件編程稍稍復(fù)雜一點(diǎn)。

現(xiàn)在很多單片微控制器的I/O口線都帶有鍵盤中斷功能,圖1所示的按鍵和圖2所示的旋轉(zhuǎn)式光電編碼開關(guān),可通過上拉電阻的形式直接接到這些I/O口線上。有操作信號(hào)時(shí),口線的電平改變會(huì)引起鍵盤中斷的發(fā)生,CPU響應(yīng)中斷后可去處理相應(yīng)的操作。在微處理器I/O口線或外中斷口線緊張的情況下,可以如圖3所示,通過I2C總線外擴(kuò)一片串行變并行的PCF8574芯片,芯片P0~P7的8根口線可用作輸入或輸出;用作輸入時(shí),口線電平的變化會(huì)引起芯片13腳電平變低向微處理器申請(qǐng)中斷。圖3中RLK是旋轉(zhuǎn)式光電編碼開關(guān),它的"輸出A""輸出B"和"按下開關(guān)"接到了PCF8574的P4、P5和P6,在筆者研制的"電流互感器伏安特性試驗(yàn)儀"中,PCF8574的P0~P3被用作輸出,經(jīng)接插件J9,通過光耦去驅(qū)動(dòng)試驗(yàn)電壓量程切換的繼電器。

圖3節(jié)省I/O口線的按鍵輸入接口電路

2交互界面的輸出構(gòu)造

菜單式交互界面的輸出部件可采用能顯示字符、漢字及圖形和曲線的大屏幕點(diǎn)陣式液晶顯示器。

帶有驅(qū)動(dòng)控制器的點(diǎn)陣式LCD液晶屏與微處理器的接口信號(hào)線除了8位數(shù)據(jù)線外,一般還帶有讀有效線、寫有效線及地址譯碼的片選線,所以對(duì)它的連接和讀寫操作,可看作是對(duì)微處理器片外的RAM單元的連接和讀寫操作。讀寫操作中,不同的驅(qū)動(dòng)控制器具有不同的指令格式,如常用于驅(qū)動(dòng)320×240點(diǎn)陣式液晶顯示屏的SED1335液晶驅(qū)動(dòng)芯片就帶有13條指令,能方便地完成各種顯示功能。多任務(wù)下的選擇菜單可由多屏菜單形成多級(jí)鏈?zhǔn)綐?gòu)造,為便于表達(dá),以三級(jí)任務(wù)菜單為例,將作業(yè)分為主任務(wù)(用大寫字母A、B、C等表示)、子任務(wù)(用小寫字母a、b、c等表示)和支任務(wù)(用數(shù)字1、2、3等表示),圖4是顯示界面的部分屏顯的匯總。每屏界面都有自己的編號(hào):win1、win2、win3??.圖中win1為主屏菜單,提供了主任務(wù)A、B和C3個(gè)選項(xiàng);win2、win3、win4為級(jí)子菜單,為每項(xiàng)主任務(wù)提供了各自的子任務(wù)的選擇(如win2屏是主任務(wù)A的子任務(wù)A2a、A2b和A2c的選項(xiàng));win5、win6和win7是第二級(jí)子菜單,為級(jí)子菜單中的子任務(wù)提供下支任務(wù)(如win5屏為win2中的子任務(wù)選項(xiàng)A2a提供A2a21、A2a22和A2a23的支任務(wù)選項(xiàng));各級(jí)子菜單中均有"返回"的選項(xiàng),選擇執(zhí)行后返回上菜單。圖4中的選項(xiàng)標(biāo)志用■和□來指示,■表示該項(xiàng)選中,選項(xiàng)的變動(dòng)由增鍵和減鍵(或旋轉(zhuǎn)式光電編碼開關(guān)的"左旋"和"右旋")來完成,選項(xiàng)的執(zhí)行由確認(rèn)鍵(或旋轉(zhuǎn)式光電編碼開關(guān)的"按下選定")來完成,根據(jù)■所在的位置,選項(xiàng)號(hào)opt=0,1,2…….圖中舉例win14~win18是具體任務(wù)的執(zhí)行情況界面,可以是測(cè)量值顯示,也可以是某參數(shù)的動(dòng)態(tài)曲線顯示,可以是歷史數(shù)據(jù)查詢,等等。這些界面的"返回"功能在作業(yè)完成后自動(dòng)開展,或默認(rèn)按"確認(rèn)"鍵返回。

這種構(gòu)造還很適合儀器在改良和升級(jí)時(shí)功能程序模塊的增加和變換。比方系統(tǒng)要增加"子任務(wù)B2d",只要在如圖4所示的win3屏顯中插入這個(gè)選項(xiàng)為opt=3,使該屏為5選項(xiàng),則當(dāng)標(biāo)志■選中該項(xiàng)時(shí)程序即調(diào)用執(zhí)行"子任務(wù)B2d"的子程序。要增加"主任務(wù)D"的方法是類似的,只要在win1屏顯中參加這個(gè)選項(xiàng),然后程序根據(jù)菜單的選擇來分支就行了。

圖4顯示界面的部分屏顯匯總

3基于界面狀態(tài)的程序構(gòu)造

儀器儀表的系統(tǒng)程序構(gòu)造,由按鍵和作業(yè)的對(duì)應(yīng)關(guān)系可分為一鍵一義型和一鍵多義型兩種構(gòu)造。

對(duì)于一鍵多義型系統(tǒng)程序,作業(yè)的調(diào)度條件是多因數(shù)的,不僅與外因(鍵盤操作)有關(guān),也與內(nèi)因(系統(tǒng)當(dāng)前所處的狀態(tài))有關(guān)。為此,引入系統(tǒng)狀態(tài)的概念,即將系統(tǒng)運(yùn)行情況分成若干狀態(tài)(如圖4所示的界面狀態(tài)和選項(xiàng)狀態(tài),選項(xiàng)狀態(tài)屬于界面狀態(tài)的子狀態(tài)),使得在任何一個(gè)狀態(tài)下每一個(gè)按鍵只有的定義。這樣一來,系統(tǒng)運(yùn)行去向就可以由當(dāng)前狀態(tài)和當(dāng)前鍵碼來共同決定了。智能化儀器儀表正由一鍵一義型向一鍵多義型進(jìn)化。如用圖4所示的顯示界面來表征系統(tǒng)當(dāng)前所處的狀態(tài),其程序構(gòu)造稱之為基于界面狀態(tài)的程序構(gòu)造。

為提高系統(tǒng)效率,對(duì)鍵盤(或旋轉(zhuǎn)式光電編碼開關(guān))的操作響應(yīng)可采用中斷的方式開展。進(jìn)入鍵中斷服務(wù)程序后,先判別是增建、減鍵、確認(rèn)鍵(或旋轉(zhuǎn)式光電編碼開關(guān)的"左旋""右旋""按下選定")的哪一個(gè)鍵碼觸發(fā)中斷;接著判別當(dāng)前系統(tǒng)所處的狀態(tài)(當(dāng)前的顯示屏號(hào)win及選項(xiàng)號(hào)opt);再由鍵碼key,系統(tǒng)狀態(tài)win和opt決定執(zhí)行什么作業(yè)。程序框圖如圖5所示。值得一提的是,對(duì)那些不適合在中斷服務(wù)程序中執(zhí)行或執(zhí)行時(shí)間過長的作業(yè)(如打印等),可在中斷服務(wù)程序中置位該作業(yè)的啟動(dòng)標(biāo)志,待中斷返回后在主程序中再執(zhí)行選中的作業(yè),完成后去除該作業(yè)的啟動(dòng)標(biāo)志。

圖5基于界面的交互過程

4操作界面的上位機(jī)介入

電子技術(shù)的飛速發(fā)展,使嵌入式系統(tǒng)中的存儲(chǔ)器體積越來越小、容量越來越大。但是,如果要在一臺(tái)試驗(yàn)用的儀器上開展日積月累的試驗(yàn)數(shù)據(jù)的查詢和管理,如果要使儀器的實(shí)時(shí)試驗(yàn)曲線具有較高的分辨率和對(duì)局部曲線開展分析,如果要使儀器的操作能遠(yuǎn)程控制,那么,儀器單機(jī)的資源就略顯缺陷。

滿足上述要求的通常做法是用PC機(jī)(或筆記本電腦)作為儀器的上位機(jī),通過RS232串口(或USB口)與儀器通信構(gòu)成自動(dòng)測(cè)試系統(tǒng),使儀器共享上位計(jì)算機(jī)的資源,進(jìn)一步增強(qiáng)智能儀器的性能。

基于界面狀態(tài)的程序構(gòu)造為上位計(jì)算機(jī)介入后對(duì)儀器的控制提供了很好的軟件平臺(tái)。微處理器在響應(yīng)串口中斷的中斷服務(wù)程序中,首先從接收到的上位機(jī)傳來的信息判斷是何種作業(yè),然后用調(diào)用子程序的方法,調(diào)用圖4所示的基于界面狀態(tài)的opt作業(yè)程序。這樣,原來基于界面狀態(tài)的程序構(gòu)造幾乎不用改動(dòng),只要在串口中斷服務(wù)程序中根據(jù)上位機(jī)的命令來分支調(diào)用子程序就行了。當(dāng)然,在上位機(jī)控制下執(zhí)行相應(yīng)作業(yè)時(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論