日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于MSP430F149單片機的人機界面設計

          基于MSP430F149單片機的人機界面設計

          作者: 時間:2010-01-11 來源:網絡 收藏

          菜單一般由西文字符和中文漢字組合而成,每一條菜單項定義一個數組Menu_string,格式如下:{菜單項字符數,第一個字符在字庫中的序號,第二個字符,....}。需要注意的是, 在自建西文字庫NUM_TAB 和小漢字庫HZ_TAB 時,每個中西文字符都是各自編號的。由于中西文顯示調用同一個函數,為區(qū)別中西文字符,在菜單數組編號時可以在漢字在HZ_TAB庫中的編碼前加128(0X80)作為標識, LCD在顯示內容時,需要判斷編號的值, 確定當前位內容是漢字還是西文,然后做調用相應的處理。菜單項的反亮顯示采取的辦法是將顯示內容的所有字模數據按字節(jié)取反后再進行常規(guī)顯示即可。圖3為某一項中西文菜單混合顯示流程,其中m=1表示該位為漢字, m=0表示該位為ASCII字符.

          本文引用地址:http://yuyingmama.com.cn/article/173476.htm


          2.2.3數據結構
          本系統(tǒng)采用8個按鈕來接受用戶輸入,8個按鈕為上、下、左、右、回車、退回、加、減。為方便數據顯示和處理。需要首先建立一個菜單窗口結構體并定義一個結構變量WinStruct,該結構中共有11個結構元素,分別是10個字符型和1個指針變量,指針變量指向需執(zhí)行函數。 Typedef struct{ uchar Menulndex;//當前菜單索引號 uchar BackWinlndex;//當前窗口的上一窗口索引號 uchar NextDnlndex;//下一個菜單索引號,按下“上,下”鍵時當前菜單項上下移動 uchar NextUplndex;//或可修改參數數值向上下循環(huán)變化 uchar NextLIndex; //下一個菜單索引號,按下“左,右”鍵時當前菜單項左右移動 uchar NextRtlndex;//或在可修改參數位置上左右移動 uchar Key CrState; //按下“回車”鍵時用戶選擇確認或參數輸入確定 uchar KeyBackState; //按下“退回”鍵時用戶退出當前窗口,返回上一窗口 uchar KeyPlus; / / 按下“加”鍵,可修改參數加1;uchar KeyMinus; / / 按下“減”鍵,可修改參數減1;void( CurrentOperate)();//當前狀態(tài)應該執(zhí)行的功能操作 }WinStruct; 菜單項在LCD上顯示,通過建立菜單項結構體,定義一個結構變量 MenuStruct。如下: Typedef struct{ uchar Menulndex; //當前菜單索引號 uchar NextWinlndex;//下一窗口索引號 uchar cursor_page ://菜單項起始頁位置 uchar cursor_col; / / 菜單項起始行位置 uchar type ; / / 菜單項顯示的數據類型,16x16或16x8點陣等 uchar *data; / / 指向顯示數據區(qū) uchar dataNum;/ / 需要顯示的數據的個數 uchar black; / / 是否反顯菜單項 uchar modify ; / / 數據是否需要修改 } MenuStruct;
          2.3
          交互設計的重點在于界面的顯示、滾屏、光標的管理及參數的顯示、修改和保存。系統(tǒng)在內存中特定區(qū)域開辟了1個LCD顯示緩沖區(qū),將要顯示的整個窗口的點陣數據存放在此區(qū)間。LCD的顯示程序從此區(qū)間中讀取數據到LCD點陣數據存儲區(qū),借此,LCD顯示程序可管理用戶交互界面。用戶可以用8個按鍵(向上、向下、向左、向右、確定、返回、加、減)在菜單方式下實現交互。
          參數的輸入、輸出顯示和保存是人機交互的重要環(huán)節(jié)。
          下面以第二級菜單中的參數設置為例,進行詳細介紹。在主菜單下,將光標移到“參數設置”,按下“確定”鍵,進入“參數設置”菜單。顯示的內容有:設備參數,投切條件,保護定值,電容參數,時鐘校準,通訊參數,等等。
          裝置出廠前已經對各參數進行初始化,存儲在二維數組Array[19][5]中,每個參數一行,參數每一位的值都對應存儲在數組中的相應位置。定義一個指針P指向Array,表示光標的位置,當然,進入“參數設置”菜單時P=Array[0][0],光標在首行的第一個X的位置,表示選中該參數位。按下“向上”、“向下”、“向左”、“向右”四個方向鍵來移動光標到待修改的那一位數字上時,P=Array[i][j]則根據按下的鍵不同而作相應的修改,一般如下:向上,i-1;向下,i +1;向左,j-1;向右,j+1。當然,首先要對原來的i,進行判斷。遇到特殊情況要特殊處理。如光標原在某行的第一個參數位上,j= 0,按下向左的鍵則不改變光標。
          選定待修改的那一位參數后,按“修改”鍵進行參數值的修改。過程如下:讀取光標所在的那一位數字的值,每按一次加鍵,該值加1(在0―9之間循環(huán)),每按一次減鍵,該值減1(在0―9之間循環(huán))。修改完一位后,把改值寫入Array[i][j],移動光標繼續(xù)修改其他的參數。一行參數修改完,經核對無誤后按“確定”鍵(每按一次“確定”確認一行),新的參數值被修改存入機內對應的EEPROM 地址中。參數全部修改完后需要重新開機,否則修改無效。3 結束語
          本文構建了、OCM12864圖形點陣液晶模塊和鍵盤的中文人機交互界面,實現了中文菜單顯示及參數的輸入、顯示、修改和保存等功能,完成了系統(tǒng)所要求的顯示任務。此方法也同樣適應用于ARM7與DSP其他微控制器LCD液晶人機界面上。
          本文創(chuàng)新點:充分利用了OCM12864的硬件資源,實現了友好的人機界面,并且文中介紹的方法具有非常好的靈活性和良好的可維護性,程序員可以在需要的時候很方便地修改菜單和增加子菜單,而不至于影響系統(tǒng)軟件原有的結構,而且在此菜單編程方法基礎上進行改進,還可增加滾屏,自動翻頁等功能。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉