亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        農(nóng)機車載電子設(shè)備用戶界面框架設(shè)計

        2014-08-06 03:29:58李由付衛(wèi)強包涵孟志軍
        關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu)菜單單片機

        李由,付衛(wèi)強,包涵,孟志軍

        (1.國家農(nóng)業(yè)信息化工程技術(shù)研究中心,北京 100097;2.北京農(nóng)業(yè)智能裝備技術(shù)研究中心;3.國家農(nóng)業(yè)智能裝備工程技術(shù)研究中心;4.農(nóng)業(yè)部農(nóng)業(yè)信息技術(shù)重點實驗室)

        隨著農(nóng)業(yè)現(xiàn)代化步伐的加快,農(nóng)業(yè)生產(chǎn)現(xiàn)場使用到越來越多的電子設(shè)備,這些設(shè)備的顯示方式大致分為聲光信號,點陣式黑白屏幕,高分辨率彩色屏幕。其中以LCD 為主的點陣式單色屏,因具有顯示清晰,成本低廉,接口簡單,強光下可讀等優(yōu)點,在一些以監(jiān)測控制為主的車載設(shè)備上得到廣泛的應(yīng)用。

        然而在編寫其界面顯示時,由于程序可移植性差,導(dǎo)致在不同設(shè)備中需要完全重寫界面。在界面修改時牽一發(fā)而動全身,不僅拖延了設(shè)備開發(fā)周期,而且還降低了設(shè)備可靠性。彭良清等提出了基于樹形菜單結(jié)構(gòu)的通用界面的一些模型和方法[1-3],這些方法將菜單數(shù)據(jù)和顯示函數(shù)分離開來,解決了程序可移植性差的問題,但是存在界面修改困難、函數(shù)復(fù)用性差等問題,并且受嵌入式設(shè)備屏幕大小的限制,一些功能缺少實際用途。宋曉輝等對樹形菜單結(jié)構(gòu)做了一些改進[4],將功能型菜單項和數(shù)據(jù)型菜單項分開,一定程度上解決了函數(shù)冗余的問題;但仍采用適應(yīng)于桌面操作系統(tǒng)的菜單操作方式導(dǎo)致其數(shù)據(jù)結(jié)構(gòu)復(fù)雜,并不能很好應(yīng)用于小屏幕的嵌入式系統(tǒng)。

        因此,提出了一種新型的界面顯示框架,實現(xiàn)多種農(nóng)業(yè)裝備常見的界面應(yīng)用類型,解決了小屏幕嵌入式系統(tǒng)顯示界面移植性差問題。

        1 農(nóng)機車載設(shè)備常用界面簡介

        農(nóng)業(yè)現(xiàn)場的電子設(shè)備通常以監(jiān)測控制為主,監(jiān)測和控制設(shè)備一般是在農(nóng)機運行前進行參數(shù)設(shè)置,在運行過程中進行數(shù)據(jù)顯示,在很多情況下監(jiān)測和控制是合二為一的,因此要求界面是非阻塞式的,能在各種狀態(tài)下方便的相互切換,并可以通過菜單項選擇實現(xiàn)一定的功能(如:啟動,停止)。農(nóng)業(yè)上常用的計量單位標(biāo)準(zhǔn)尚不統(tǒng)一,通常還需實現(xiàn)計量單位切換功能。

        工業(yè)控制常用的界面分為5 種類型:菜單屏、變量屏、選擇屏、設(shè)定屏和顯示屏[5]。與之類似將界面類型分為:菜單選擇屏、靜態(tài)文本屏、動態(tài)文本屏和參數(shù)設(shè)定屏。各個類型界面的功能見表1。

        基于以上界面類型,參照一般人機交互的按鍵系統(tǒng)考慮到通用性及便捷性,系統(tǒng)設(shè)計時采用7 鍵制,分別為:上、下、左、右、確定、設(shè)置、返回。

        表1 界面功能分類表Table 1 The classification of interface features

        以下介紹各界面的元素類型和操作分析:

        菜單選擇界面主要用于自頂向下的樹狀界面操作,為界面設(shè)計中常用的類型,用戶通過此類界面進行界面跳轉(zhuǎn),功能設(shè)定。靜態(tài)標(biāo)簽一般為提示性文字,靜態(tài)選項為帶被選擇功能文字。

        菜單選擇界面的一般操作為:上下鍵變更選項,左右鍵翻頁,確定鍵進入下一界面,或?qū)崿F(xiàn)某一功能,返回鍵返回上一界面,設(shè)置鍵的功能一般不使用。

        靜態(tài)文本界面主要用于顯示固定的內(nèi)容,一般用于信息提示,幫助文檔,版權(quán)信息的顯示,即它只包含靜態(tài)標(biāo)簽。

        因為靜態(tài)文本界面本身操作較少,所以其按鍵響應(yīng)也相對簡單,只包含滾屏和返回,操作方法與菜單選擇界面類似。

        動態(tài)文本界面主要用于變量數(shù)據(jù),運行狀態(tài)的實時顯示,用戶主要通過這類界面實現(xiàn)對系統(tǒng)實時狀態(tài)的了解,其界面由靜態(tài)標(biāo)簽和動態(tài)標(biāo)簽組成,而動態(tài)標(biāo)簽又由固定文字,變量文字組成。

        像靜態(tài)文本界面一樣動態(tài)文本界面本身并不需要太多操作,所以其按鍵響應(yīng)也相對簡單與靜態(tài)文本界面相同。

        參數(shù)設(shè)定界面也是用戶界面中常用的界面,主要用于用戶對系統(tǒng)中的變量進行設(shè)置。它包含了幾乎所有的界面常用功能,其組成如圖1 所示。這里的動態(tài)選項指的是既可以被選中,又會因變量和單位的改變而變化顯示內(nèi)容的選項。

        圖1 參數(shù)設(shè)定界面組成Fig.1 The interface elements of parameter setting

        參數(shù)設(shè)定界面的操作相對復(fù)雜,因其有兩種狀態(tài),即選項切換和變量修改,其操作邏輯如圖2所示。

        圖2 參數(shù)設(shè)定界面操作Fig.2 The operating procedures of parameter setting interface

        以上分析了界面的組成和操作。在操作上采用了和目前大多數(shù)手持設(shè)備相仿的操作模式,并且在各種類型界面間保持了操作風(fēng)格的統(tǒng)一。

        2 界面的數(shù)據(jù)結(jié)構(gòu)設(shè)計

        目前常見的界面框架數(shù)據(jù)結(jié)構(gòu)都以菜單為單位,缺少對菜單項的精細(xì)化分,這使得界面顯示和操作函數(shù)對各種類型的菜單很難做到通用,而基于菜單項的菜單組織結(jié)構(gòu)可以很好解決這個問題。將以上分析抽象為實際的數(shù)據(jù)結(jié)構(gòu),則形成菜單和項兩種數(shù)據(jù)結(jié)構(gòu),其中項是菜單的子結(jié)構(gòu),為了適應(yīng)較小的屏幕,并簡化顯示和操作函數(shù),一項即實際屏幕顯示中的一行。

        2.1 項數(shù)據(jù)結(jié)構(gòu)設(shè)計

        項中含有文本內(nèi)容,即格式化字符串,用于格式化輸出的字符串;含有數(shù)據(jù)變量地址和單位變量地址,用于填入格式化字符串中的變量內(nèi)容;含有項狀態(tài)標(biāo)志,用于區(qū)別項的類型,以便在顯示和操作時加以區(qū)分;含有跳轉(zhuǎn)菜單指針,用于表明該項所應(yīng)該跳轉(zhuǎn)的菜單。特別指出將數(shù)據(jù)變量類型定義為無類型指針,從而使得同一種數(shù)據(jù)結(jié)構(gòu)可以實現(xiàn)多種數(shù)據(jù)變量類型的表示。具體數(shù)據(jù)結(jié)構(gòu)如下:

        一個常見的項數(shù)據(jù)如下:

        其中第一個元素表示了要顯示的數(shù)據(jù)和變量元素的顯示格式;第二、三個元素分別是數(shù)據(jù)變量地址和單位字符串首地址,在設(shè)置模式時可以利用這些指針修改變量原始值,實現(xiàn)數(shù)據(jù)設(shè)置和單位更改;第四個元素是項狀態(tài)標(biāo)志,表示該項是可選中項,用于區(qū)分標(biāo)題和選項;最后一個元素表示選擇此項后跳轉(zhuǎn)的目標(biāo)菜單。通常定義項數(shù)據(jù)時是定義一個項數(shù)組用來組成一個菜單,以減少存儲空間,并實現(xiàn)隨機存儲。

        2.2 菜單數(shù)據(jù)結(jié)構(gòu)設(shè)計

        菜單是用于表達(dá)一個界面內(nèi)容和狀態(tài)的數(shù)據(jù)結(jié)構(gòu)。它應(yīng)該含有項數(shù)組首地址,用于表示界面顯示的內(nèi)容;含有界面狀態(tài)標(biāo)志位,用于表明界面的狀態(tài)和界面的功能;含有被選項,用于表明當(dāng)前界面的被選項;含有頁頂項,用于控制界面視圖位置;含有最大項數(shù),用于防止項數(shù)組越界;含有按鍵響應(yīng)函數(shù),用于相應(yīng)按鍵操作。其中按鍵響應(yīng)函數(shù)采用帶參函數(shù)指針形式,利用界面的狀態(tài)和按鍵共同決定需要執(zhí)行的操作,既實現(xiàn)了統(tǒng)一接口,又增強了可擴展性。菜單間的關(guān)系只由項與菜單的指針決定,而與項的順序無關(guān)。具體代碼如下:

        一個常見的菜單數(shù)據(jù)如下:

        其中第一個元素表示了該菜單對應(yīng)的項數(shù)據(jù)數(shù)組;第二個元素是菜單狀態(tài)標(biāo)志,表示該菜單是參數(shù)設(shè)置類型,該元素也可以在運行過程中被改為正在設(shè)置狀態(tài);第三、四個元素默認(rèn)填充0,在程序?qū)嶋H運行中可更改,以變更選項或視圖;第五個元素是菜單最大項,與項數(shù)據(jù)數(shù)組長度相當(dāng);第六個元素是操作響應(yīng)函數(shù),對應(yīng)的函數(shù)為參數(shù)設(shè)定界面的操作函數(shù)。

        3 界面框架實現(xiàn)

        3.1 菜單顯示

        將以上數(shù)據(jù)結(jié)構(gòu)作為基礎(chǔ),菜單的操作實現(xiàn)也呼之欲出。界面顯示函數(shù),每次從PageTopSelect 對應(yīng)項開始顯示,顯示接下來的若干項到屏幕(受屏幕顯示最大行影響),顯示項數(shù)據(jù)時,先分析項字符串中的變量類型和顯示寬度,再將項數(shù)據(jù)中對應(yīng)的變量插入到顯示字符串中。同時可以利用MenuSelect 變量值反顯選中行。如此可以顯示超過屏幕長度本身的菜單,每次只顯示對應(yīng)屏幕大小的一部分內(nèi)容,相當(dāng)于擴展了屏幕。具體流程圖如圖3 所示。

        圖3 顯示函數(shù)流程圖Fig.3 The flowchart of display function

        3.2 操作功能

        實現(xiàn)樹狀菜單結(jié)構(gòu)使用堆棧,即主界面為棧底,每次執(zhí)行菜單跳轉(zhuǎn)時執(zhí)行壓棧操作,菜單返回時執(zhí)行出棧操作,并且堆棧操作都使用指針方式實現(xiàn),這樣既可以較少的代價實現(xiàn)多級菜單跳轉(zhuǎn),又將菜單的操作和菜單數(shù)據(jù)本身分離,使得在修改菜單數(shù)據(jù)時避免了對其他菜單關(guān)系的影響。

        每個菜單可以使用不同的按鍵響應(yīng)函數(shù),相同類型菜單之間還可以共用響應(yīng)函數(shù),兼顧了靈活性與復(fù)用性。

        將菜單顯示和操作分開,用戶可以將顯示刷新放在定時中斷中,將操作放在外部中斷中,增強了編程的靈活性。

        一個典型的界面操作流程如圖4 所示。

        圖4 界面操作Fig.4 The interface operation

        菜單操作對應(yīng)的軟件實現(xiàn)方式見表2。

        表2 菜單操作實現(xiàn)對照表Table 2 The implementation of menu operation function

        3.3 菜單修改

        對于已經(jīng)編寫好的菜單對其修改非常簡單,以下介紹幾種常見的菜單修改方式:

        (1)要增加(刪除)菜單中某項,直接增加(刪除)該項數(shù)據(jù),并修改相關(guān)菜單數(shù)據(jù)的最大項參數(shù)即可。

        (2)要修改項數(shù)據(jù)顯示格式,直接修改項數(shù)據(jù)中的格式化字符串即可。

        (3)要調(diào)節(jié)菜單項順序,直接調(diào)整項數(shù)組的順序而不用修改其他數(shù)據(jù)內(nèi)容。

        (4)要修改某項跳轉(zhuǎn)的菜單,直接替換掉該項數(shù)據(jù)后的跳轉(zhuǎn)菜單指針。

        (5)要修改某項顯示的變量,直接修改該項數(shù)據(jù)中的變量指針指向即可。

        (6)要將菜單中的某項移至同類型其他菜單,直接將相關(guān)項數(shù)據(jù)移至目標(biāo)菜單項數(shù)組,并修改兩個菜單數(shù)據(jù)的最大項參數(shù)即可。

        (7)要增加(刪除)某菜單只需將與其相關(guān)的項數(shù)據(jù)同時增加(刪除),并修改相關(guān)菜單數(shù)據(jù)的最大項參數(shù)即可。

        這些修改完全不涉及整個菜單的結(jié)構(gòu)調(diào)整,項與項,菜單與菜單之間沒有直接關(guān)系,在修改時也不會相互影響。

        4 結(jié)語

        文章提出的界面框架適用于農(nóng)業(yè)裝備顯示,解決了小屏幕嵌入式系統(tǒng)顯示界面移植性差問題。采用線性存儲結(jié)構(gòu)減少了數(shù)據(jù)冗余,提高了訪問速度。簡化優(yōu)化了菜單關(guān)系,使得操作函數(shù)可以統(tǒng)一,菜單建立和改寫方便。利用抽象方法使得一種菜單數(shù)據(jù)結(jié)構(gòu)實現(xiàn)多種界面類型以滿足農(nóng)業(yè)設(shè)備的一般交互需求。

        [1]彭良清.基于節(jié)點編號的通用樹狀菜單設(shè)計方法與實現(xiàn)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2002(9):36-40.

        [2]黃聲野,陳秀華,王東生.一種用C51實現(xiàn)的單片機系統(tǒng)菜單管理方案[J].計算機工程,2004,30(3):191-192.

        [3]陸錚,羅嘉.單片機C語言下LCD多級菜單的一種實現(xiàn)方法[J].工礦自動化,2006(1):50-51.

        [4]宋曉輝,葉樺,丁昊.基于單片機的多級菜單實現(xiàn)方法改進[J].東南大學(xué)學(xué)報:自然科學(xué)版,2007,37(S1):66-70.

        [5]陳冬,徐文立,夏遂華.液晶顯示多層菜單結(jié)構(gòu)的軟件設(shè)計[J].電氣傳動,2001,31(4):56-59.

        [6]周雪珍,朱志明,符策健,等.多功能數(shù)字化弧焊逆變電源人機交互系統(tǒng)[J].電焊機,2007,37(1):6-10.

        [7]納新,趙東風(fēng).非阻塞模式LCD多級菜單的設(shè)計及其數(shù)據(jù)結(jié)構(gòu)[J].云南民族大學(xué)學(xué)報:自然科學(xué)版,2007,16(4):347-349.

        [8]古容江,張珣.基于ARM的圖形用戶界面軟件開發(fā)平臺的搭建[J].液晶與顯示,2009(6):901-906.

        [9]賈志成,程敏,宋濤,等.基于狀態(tài)機的LCD多級菜單設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2012,12(2):73-75.

        [10]陳慧,王宏遠(yuǎn).一種基于AVR單片機的樹狀菜單界面的設(shè)計[J].電子工程師,2005,31(6):68-70.

        [11]許秀英,韓靜,石建飛,等.水稻田間環(huán)境參數(shù)無線智能監(jiān)測系統(tǒng)[J].黑龍江八一農(nóng)墾大學(xué)學(xué)報,2013,25(5):70-73.

        [12]李敏通,張戰(zhàn)國.一種建立單片機應(yīng)用系統(tǒng)菜單的新方法[J].計算機工程,2006,32(16):259-260.

        猜你喜歡
        數(shù)據(jù)結(jié)構(gòu)菜單單片機
        中國新年菜單
        基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        本月菜單
        美食堂(2017年1期)2017-01-13 01:37:42
        “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
        高職高專數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
        中國市場(2016年45期)2016-05-17 05:15:48
        Microchip推出兩個全新PIC單片機系列
        TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
        《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法創(chuàng)新探討
        河南科技(2014年5期)2014-02-27 14:08:57
        国产精品ⅴ无码大片在线看| 久久精品久久精品中文字幕| 亚洲白嫩少妇在线喷水| 日韩熟女系列中文字幕| 国产视频一区二区三区观看| 美女视频黄是免费| 成人做受视频试看60秒| 免费大片黄在线观看| 国产在线欧美日韩一区二区| 国产亚洲一区二区三区三州 | 日本理伦片午夜理伦片| 国产精品无码久久久一区蜜臀| 白丝美女被狂躁免费视频网站| 一本色道亚州综合久久精品| 精品国产自在现线看久久| 婷婷久久国产综合精品| 亚洲国产精品成人综合色| 国产亚洲视频在线观看网址| 99久久精品国产片| 亚洲hd高清在线一区二区| 久久99精品国产麻豆| 国产精品毛片无遮挡| 18禁美女裸身无遮挡免费网站 | 丝袜美腿国产一区精品| 精品高朝久久久久9999| 天天躁日日躁狠狠久久| 久久精品中文字幕极品| 另类人妖在线观看一区二区| 亚洲精品在线免费视频| 乱色精品无码一区二区国产盗 | 国产欧美日韩一区二区三区在线| 四虎成人在线| 精品国产一品二品三品| 久久96日本精品久久久| 国产一区二区三区乱码| 无码国产精品一区二区免费97| 亚洲一区二区三区品视频| 24小时免费在线观看av| 久久99国产精一区二区三区| 亚洲小说图区综合在线| 日韩av中文字幕少妇精品|