變量穴施水穴播機(jī)人機(jī)交互界面設(shè)計(jì)
該結(jié)構(gòu)中共有6 個(gè)結(jié)構(gòu)元素,分別是5 個(gè)字符型和1 個(gè)指針變量,5 個(gè)字符型變量分別為當(dāng)前及各個(gè)按鍵按下時(shí)所對(duì)應(yīng)菜單的索引號(hào),最后1 個(gè)指針變量指向需要執(zhí)行的函數(shù)。
(3).臨時(shí)菜單ID定義
uchar iMenuID;//當(dāng)前顯示菜單的ID
uchar iMenuNextID;//當(dāng)前菜單中需高亮顯示的菜單ID
3.2.2菜單庫(kù)的構(gòu)建
菜單庫(kù)中存放的是各個(gè)菜單的內(nèi)容,每級(jí)菜單都由兩個(gè)數(shù)組組成。第一個(gè)數(shù)組存放該級(jí)菜單的顯示字符,第二個(gè)數(shù)組存放該級(jí)菜單中每個(gè)子菜單的索引號(hào),此索引號(hào)用來(lái)作為高亮顯示選中菜單時(shí)的依據(jù)。所有菜單庫(kù)都存儲(chǔ)在單片機(jī)的Flash存儲(chǔ)器中。
3.2.3變量庫(kù)的構(gòu)建
變量庫(kù)實(shí)質(zhì)上是一個(gè)結(jié)構(gòu)體數(shù)組,在結(jié)構(gòu)體數(shù)組里為每一個(gè)菜單項(xiàng)編制一個(gè)單獨(dú)的函數(shù),并根據(jù)菜單的嵌套順序排好本菜單項(xiàng)的索引號(hào),以及本級(jí)菜單項(xiàng)的上、下卷動(dòng)的索引號(hào)和上、下級(jí)菜單的索引號(hào)。變量庫(kù)存儲(chǔ)在單片機(jī)的內(nèi)部附加的RAM中。表4.2是專為變量穴施水穴播機(jī)人機(jī)交互界面設(shè)計(jì)的變量庫(kù)。表中Items表示同級(jí)菜單最大項(xiàng)目數(shù),子菜單ID=99,表示菜單已到底;父菜單ID=99,表示菜單已到頂;弟菜單ID=99和兄菜單ID=99,表示該菜單為獨(dú)生子;函數(shù)FunNull為空函數(shù)。
本文引用地址:http://2s4d.com/article/173723.htm
3.2.3主程序
主程序的任務(wù)是對(duì)菜單庫(kù)和變量庫(kù)進(jìn)行解碼操作,完成液晶顯示和鍵盤(pán)響應(yīng)的功能。主程序僅提供一個(gè)人機(jī)交互界面的柜架,因此改動(dòng)菜單時(shí)不必修改主程序。添加菜單時(shí)只需按順序向菜單庫(kù)和變量庫(kù)中加入,刪除或修改菜單也只需對(duì)菜單庫(kù)中相關(guān)菜單進(jìn)行操作,而不影響其它程序。圖2為主程序的流程圖。當(dāng)有任意鍵被按下時(shí),程序都會(huì)到變量庫(kù)中進(jìn)行查詢操作以確定當(dāng)前菜單應(yīng)執(zhí)行的具體操作。當(dāng)進(jìn)入某一菜單時(shí),通過(guò)“向上”或“向下”鍵進(jìn)行菜單項(xiàng)的選擇,被選中的菜單項(xiàng)高亮顯示(即反黑顯示)。
4.結(jié)論
本文的創(chuàng)新點(diǎn)是根據(jù)變量穴施水穴播機(jī)的結(jié)構(gòu)特點(diǎn)和使用要求,在JHD19264上設(shè)計(jì)并實(shí)現(xiàn)了由4級(jí)菜單組成的人機(jī)交互界面。應(yīng)用結(jié)果表明,該界面穩(wěn)定可靠,操作簡(jiǎn)單,交互友好。本文提供的設(shè)計(jì)方法及軟件流程也可以用在具有類似人機(jī)接口的儀器設(shè)備中,特別適合于具有自主知識(shí)產(chǎn)權(quán)產(chǎn)品的開(kāi)發(fā)。
評(píng)論