1.引言
變量穴施水穴播機(jī)為一種可根據(jù)田間土壤濕度,實現(xiàn)自動變量穴施水的節(jié)水抗旱型播種機(jī)具,在使用前需對整機(jī)進(jìn)行初始化設(shè)置并對相關(guān)傳感器及附件進(jìn)行有效性檢測,在使用中需根據(jù)田間土壤水分的分布狀況對工作模式進(jìn)行切換。為便于用戶對該機(jī)具的操作,利于其推廣應(yīng)用,設(shè)計一簡單、實用的人機(jī)交互界面是必不可少的。
2.硬件簡介
變量穴施水穴播機(jī)控制系統(tǒng)組成如圖1所示。圖中的單片機(jī)是系統(tǒng)的控制中心,選用臺灣Winbond公司的W78E58,它屬8位總線快速51系列單片機(jī),其片內(nèi)程序存儲空間為32kB,片內(nèi)數(shù)據(jù)存儲器空間為512字節(jié)。系統(tǒng)采用4×4型矩陣鍵盤,各鍵分別代表“0”-“9”、4個方向鍵(“↑”、“↓”、“→”、“←”)、確認(rèn)鍵以及返回鍵。液晶顯示模塊則采用型號為JHD192×64的點陣型LCD,,最多可顯示48個(16×16點陣)漢字或92個(16×8點陣)英文字符。GPS接收機(jī)用來對機(jī)組進(jìn)行田間定位,USB模塊則用來從U盤相關(guān)文件中讀出施水量并上傳給單片機(jī),單片機(jī)根據(jù)施水量來控制執(zhí)行機(jī)構(gòu)進(jìn)行施水。為實現(xiàn)水種同步,系統(tǒng)采用光電傳感器對種子的下落進(jìn)行監(jiān)控。
500)this.style.width=500;" border="0" />
3.人機(jī)交互用戶界面設(shè)計
3.1 功能設(shè)計
變量穴施水穴播機(jī)在工作之前控制系統(tǒng)要進(jìn)行自檢,工作過程中可根據(jù)需要對工作模式進(jìn)行切換,同時用戶也可單獨對其中一個附屬部件進(jìn)行檢測和試驗,因此,在設(shè)計人機(jī)交互界面時必須進(jìn)行充分的考慮。根據(jù)該機(jī)具的具體結(jié)構(gòu)及使用要求,本文設(shè)計了由4級菜單組成的人機(jī)交互界面,表1列出了各級菜單名稱及索引號(ID)。為增加程序的可讀性,菜單的ID定義為有代表意義的字符。從表1可看出,整個菜單呈樹形拓?fù)浣Y(jié)構(gòu),每個節(jié)點的父節(jié)點都是唯一的。
500)this.style.width=500;" border="0" />
3.2 軟件設(shè)計
系統(tǒng)軟件采用C51語言編寫,在Keil環(huán)境下編譯和調(diào)試。人機(jī)交互界面設(shè)計的總體思想是以固定格式建立一個變量庫和一個菜單庫,以索引號作為各個變量和菜單的主關(guān)鍵字。變量庫中專門存放液晶顯示所涉及的變量,每個變量有一個變量索引號;菜單庫中專門存放各個菜單的內(nèi)容,每個菜單有一個菜單索引號,菜單中所涉及的變量可以從變量庫中抽取。
3.2.1相關(guān)參數(shù)及結(jié)構(gòu)體定義
(1).與菜單操作有關(guān)的按鍵定義
#define KeyUp 10 //“向上”鍵鍵碼
#define KeyEnter 11 //“向下”鍵鍵碼
#define KeyEsc 12 //“返回”鍵鍵碼
#define KeyDown 14 //“回車”鍵鍵碼
(2).根據(jù)需求,建立一個結(jié)構(gòu),并定義一個結(jié)構(gòu)體變量KeyTabStruct。
typedef struct
{
uchar KeyTab_MenuIndex; //當(dāng)前菜單的ID號
uchar KeyTab_MaxItems; //當(dāng)前菜單最大項目數(shù)
uchar KeyTab_PressEnter; //按下“回車”鍵時轉(zhuǎn)向的菜單ID號
uchar KeyTab_PressEsc; //按下“返回”鍵時轉(zhuǎn)向的菜單ID號
uchar KeyTab_PressDown; //按下“向下”鍵時轉(zhuǎn)向的菜單ID號
uchar KeyTab_PressUp; //按下“向上”鍵時轉(zhuǎn)向的菜單ID號
void (*CurrentOperate)(); //當(dāng)前菜單對應(yīng)的功能操作函數(shù)指針
}KeyTabStruct;
該結(jié)構(gòu)中共有6 個結(jié)構(gòu)元素,分別是5 個字符型和1 個指針變量,5 個字符型變量分別為當(dāng)前及各個按鍵按下時所對應(yīng)菜單的索引號,最后1 個指針變量指向需要執(zhí)行的函數(shù)。
(3).臨時菜單ID定義
uchar iMenuID;//當(dāng)前顯示菜單的ID
uchar iMenuNextID;//當(dāng)前菜單中需高亮顯示的菜單ID
3.2.2菜單庫的構(gòu)建
菜單庫中存放的是各個菜單的內(nèi)容,每級菜單都由兩個數(shù)組組成。第一個數(shù)組存放該級菜單的顯示字符,第二個數(shù)組存放該級菜單中每個子菜單的索引號,此索引號用來作為高亮顯示選中菜單時的依據(jù)。所有菜單庫都存儲在單片機(jī)的Flash存儲器中。
3.2.3變量庫的構(gòu)建
變量庫實質(zhì)上是一個結(jié)構(gòu)體數(shù)組,在結(jié)構(gòu)體數(shù)組里為每一個菜單項編制一個單獨的函數(shù),并根據(jù)菜單的嵌套順序排好本菜單項的索引號,以及本級菜單項的上、下卷動的索引號和上、下級菜單的索引號。變量庫存儲在單片機(jī)的內(nèi)部附加的RAM中。表4.2是專為變量穴施水穴播機(jī)人機(jī)交互界面設(shè)計的變量庫。表中Items表示同級菜單最大項目數(shù),子菜單ID=99,表示菜單已到底;父菜單ID=99,表示菜單已到頂;弟菜單ID=99和兄菜單ID=99,表示該菜單為獨生子;函數(shù)FunNull為空函數(shù)。
500)this.style.width=500;" border="0" />
3.2.3主程序
主程序的任務(wù)是對菜單庫和變量庫進(jìn)行解碼操作,完成液晶顯示和鍵盤響應(yīng)的功能。主程序僅提供一個人機(jī)交互界面的柜架,因此改動菜單時不必修改主程序。添加菜單時只需按順序向菜單庫和變量庫中加入,刪除或修改菜單也只需對菜單庫中相關(guān)菜單進(jìn)行操作,而不影響其它程序。圖2為主程序的流程圖。當(dāng)有任意鍵被按下時,程序都會到變量庫中進(jìn)行查詢操作以確定當(dāng)前菜單應(yīng)執(zhí)行的具體操作。當(dāng)進(jìn)入某一菜單時,通過“向上”或“向下”鍵進(jìn)行菜單項的選擇,被選中的菜單項高亮顯示(即反黑顯示)。
500)this.style.width=500;" border="0" />
4.結(jié)論
本文的創(chuàng)新點是根據(jù)變量穴施水穴播機(jī)的結(jié)構(gòu)特點和使用要求,在JHD19264上設(shè)計并實現(xiàn)了由4級菜單組成的人機(jī)交互界面。應(yīng)用結(jié)果表明,該界面穩(wěn)定可靠,操作簡單,交互友好。本文提供的設(shè)計方法及軟件流程也可以用在具有類似人機(jī)接口的儀器設(shè)備中,特別適合于具有自主知識產(chǎn)權(quán)產(chǎn)品的開發(fā)。
根據(jù)最新預(yù)測,由于明年新冠疫苗的交付量幾乎減半,有史以來最賺錢的一些醫(yī)藥產(chǎn)品制造商將面臨收入下滑的局面。健康數(shù)據(jù)分析集團(tuán)Airfinity表示,輝瑞(Pfizer)、BioNTech和莫德納(Moderna)已開始提高疫...
關(guān)鍵字: 數(shù)據(jù)分析 TE RF NI上海2022年10月13日 /美通社/ -- 當(dāng)下,Matter已成為全球物聯(lián)網(wǎng)行業(yè)最熱門的話題之一。經(jīng)過兩輪全球性測試活動SVE1及SVE2后,DEKRA德凱西班牙馬拉加和中國廣州實驗室率先成為CSA聯(lián)盟(Connec...
關(guān)鍵字: TE CE STANDARDS CONNECTIVITY(全球TMT2022年10月12日訊)Exyte已完成對美國廢氣凈化技術(shù)專家Airgard Inc.的收購。Airgard成立于1988年,總部位于加利福尼亞州的Milpitas,是 "濕式" 洗滌器開發(fā)和制造領(lǐng)域的領(lǐng)...
關(guān)鍵字: TE AIR 進(jìn)程 半導(dǎo)體行業(yè)