自動儀器人工關聯構建的預設
軟件設計根據設計者的不同習慣,菜單編寫常常采用不同的方法。本程序采用C語言編寫,使程序更加直觀,利于程序的編寫、閱讀和修改。建立菜單目錄樹本設計中的菜單目錄樹如示。
制備漢字庫MGLS12864模塊沒有字庫,在屏幕上顯示任何符號、漢字等都須利用自建的字庫。同時,由于HD61202顯示存儲器的特性,不能從微機常用的漢字庫和西文字符庫中提取字模直接使用,而需要將其旋轉90后再寫入自建小字庫,并按圖形方式進行顯示。
這里使用了共享軟件zimo221,將所需的漢字從計算機內的漢字庫提取并旋轉90后生成專用的用戶字庫。將軟件設置為豎向倒序取模,得到1616點陣字庫,每個字庫數據共32個字節,數據格式是:前16個字節為上半部168點陣字模數據,后16個字節為下半部168點陣字模數據。將漢字點陣數據,放入程序中的漢字庫中,并為每個漢字進行編號,方便詞語的組合調用。
程序編寫1)為鍵盤編寫一個讀取鍵值的子程序Key_va-lue()<3>,使按不同的鍵返回不同的值,例如按1鍵就返回值1,部分程序如下<4>。
UcharKey_value(void)//讀取鍵值的子程序{Uchar;iEkey=0;i=KEY;switch(i)//按鍵低電平有效{case1:Ekey=1;return(1);case2:Ekey=1;return(2);;}2)定義一個全局變量t,來定位當前所選行,具體方法是,t初始值為0,按一下上選擇鍵t減1,按一下下選擇鍵t加1,當t小于0時,根據菜單數目程序把t賦值為一個適當的值。例如程序a=Key_value().//得鍵值if(a==5)//上選擇鍵t++;elseif(a==2)//下選擇鍵t--;if(t>3)t=0;if(t<0)t=3;if(a==2)gotomenu;//返回菜單程序使菜單得到刷新elseif(a==5)gotomenu;//返回菜單程序使菜單得到刷新3)編寫菜單,每一行設一個標志量,這里定義一個局部變量w,第一行w=0,第二行w=1,依次類推。
4)編寫一個漢字顯示子程序,這里編寫了Putc-do,t原理就是先顯示前16個字節上半部168點陣字模數據,再顯示后16個字節下半部168點陣字模數據,從而完成整個字符的顯示。在Putcdot子程序中判斷是否反顯示字符,如果t=w則反顯示,否則就正常顯示。
5)進入菜單程序的編寫。原理是判斷在菜單被選中的同時有沒有按確定鍵,如果有按鍵則進入相應菜單,否則繼續循環。例如程序if(a==8t==0)//8為確定鍵,進入菜單1if(a==8t==1)//8為確定鍵,進入菜單2if(a==8t==2)//8為確定鍵,進入菜單3依次類推3結論本設計利用MGLS12864點陣液晶顯示模塊和8位獨立式鍵盤搭建人機交互界面的硬件平臺,運用單片機C語言編寫程序,實現菜單式人機交互界面,包括:菜單的上下選擇、菜單進入、菜單退出、數值輸入等功能。本設計實用性強,程序簡單,可廣泛用于各種智能儀器中。
【中國糧油儀器在線】部分信息來自互聯網,力求安全及時、準確無誤,目的在于傳遞更多信息,并不代表本網對其觀點贊同或對其真實性負責。