農事信息采集系統的研究與設計
typedef struct
{
BYTE MenuState; // 菜單狀態(tài)
BYTE MenuLines; // 菜單總行數
BYTE MenuSelLine; // 選中的行在當前窗口中的編號
BYTE WindowUp; //顯示窗口上限
BYTE WindowDown; // 顯示窗口下限
}MenuStruct;
整個(gè)操作是由一系列的菜單界面組成。一個(gè)菜單棧描述了菜單的操作層次關(guān)系,比如,在啟動(dòng)界面下,當按下菜單鍵后,進(jìn)入到主菜單界面,此時(shí)首先要保存原來(lái)的菜單界面以方便用戶(hù)按返回按鍵時(shí)重新顯示啟動(dòng)界面。這一功能是通過(guò)對菜單棧的操作實(shí)現的[3]。其主要實(shí)現函數:
PushMenu():菜單入棧函數;
PopMenu():菜單彈棧函數;
MoveSel():移動(dòng)當前選擇的行函數;
程序中定義了若干個(gè)菜單狀態(tài),代表了不同的操作階段,根據階段進(jìn)行顯示和操作;每個(gè)操作階段就是一個(gè)菜單項。比如,主菜單共有4個(gè)子菜單,其地址由MAINMENU表示,MAINMENU是一個(gè)數組的名稱(chēng),定義入下:
code BYTE MAINMENU[][16]=
{{1 農事操作},{2 農事信息},{3 參數設置},{4 設備信息}};
4.2按鍵子程序
按鍵是在定時(shí)中斷中進(jìn)行掃描的。標準的4×4矩陣鍵盤(pán)掃描,當檢測到有鍵按下時(shí),產(chǎn)生按鍵消息,并降按鍵的代碼保存到變量中。主循環(huán)檢測到按鍵消息后,調用按鍵處理函數,該函數根據按鍵的代碼和當前菜單的狀態(tài)調用響應的處理函數進(jìn)行處理。
4.3上下位機通信子程序
定義字庫和產(chǎn)品信息下載通信協(xié)議如下:
格式: [起始符][命令][地址][幀序號][長(cháng)度][內容][校驗]
起始符:0xAA
命令: 不同命令代表不同操作,一個(gè)字節,取值范圍0x00-0xFF
地址: 0x02
禎序號:下載的數據禎的編號
長(cháng)度: 數據禎信息內容的的長(cháng)度,2字節,低字節在前,高字節在后。
內容: 信息內容
校驗: 從[起始符]開(kāi)始到信息內容結束的所有數據字節求和,溢出的部分丟棄。
4.4軟件系統主要流程
軟件總體結構采用消息驅動(dòng)的前/后臺結構,程序主體在中斷(定時(shí)、串口)的驅動(dòng)下運行[4],系統軟件主流程見(jiàn)圖4,軟件中定義了兩類(lèi)信號:UART0通信信號和主節拍信號。

定義主節拍信號定義如下:
MSI_HSEC:半秒信號
MSI_SECD:秒信號
MSI_MINU: 分信號
MSI_10MS: 10ms信號
MSI_SKEY: 按住不放,每秒產(chǎn)生一個(gè)按鍵信號
MSI_KEYC: 確定和取消鍵按鍵信號
MSI_DISP: 顯示信號
MSI_KEYD: 按鍵信號
系統定時(shí)器0中斷處理流程如圖5。
5 系統應用
上位機數據庫用SQL Server開(kāi)發(fā),該系統研制成功后,在四格莊示范基地投入試驗;有效實(shí)現了農事信息的電子存檔和管理,操作簡(jiǎn)單、可靠[5],上傳部分數據庫資料見(jiàn)表1。
6 結語(yǔ)
電子技術(shù)和計算機技術(shù)的有機結合,使得農事信息采集系統能很好的迎合農業(yè)現代化生產(chǎn)的需求,實(shí)現了全程電子無(wú)紙化可靠、便捷操作;如果現有網(wǎng)絡(luò )充分利用互聯(lián)網(wǎng)技術(shù),則可以有效實(shí)現大范圍區域農產(chǎn)品質(zhì)量追蹤體系的建立;而且區域越大,本系統體現的的技術(shù)優(yōu)勢和實(shí)現的經(jīng)濟效益更為顯著(zhù).
本文作者創(chuàng )新點(diǎn):1、手持操作終端及其多層菜單式操作方式便于農事信息記錄。
2、運用數據庫技術(shù)管理上傳的農事資料。
導師評語(yǔ):本文針對農產(chǎn)品安全追蹤體系的建立,提出了一種基于現代電子技術(shù)和計算機技術(shù)全新的信息記錄和管理思路,尤其是手持操作終端的引入,方便了信息的采集和存儲;而數據庫技術(shù)和網(wǎng)絡(luò )技術(shù)的引入,無(wú)疑方便了信息的管理和傳輸。
評論