《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 農(nóng)事信息采集系統(tǒng)的研究與設(shè)計(jì)
農(nóng)事信息采集系統(tǒng)的研究與設(shè)計(jì)
摘要: 在農(nóng)業(yè)現(xiàn)代化生產(chǎn)和食品質(zhì)量安全追蹤體系的建設(shè)過(guò)程中,需要完整、及時(shí)、可靠的記錄農(nóng)事操作的信息(包括育苗、定植、灌溉、施肥、對(duì)花、防治病蟲(chóng)害等操作);然而傳統(tǒng)的記錄方法不僅操作麻煩,而且隨意性太強(qiáng),時(shí)常導(dǎo)致誤記、漏記、記錄檔案丟失及虛假記錄等現(xiàn)象時(shí)有發(fā)生。為了改善這種現(xiàn)狀,我們利用現(xiàn)代電子技術(shù)和計(jì)算機(jī)技術(shù),設(shè)計(jì)了一種電子農(nóng)事信息記錄系統(tǒng),解決了傳統(tǒng)方法存在的許多缺陷,并能有效實(shí)現(xiàn)大范圍質(zhì)量追蹤。
Abstract:
Key words :

1 引言
在農(nóng)業(yè)現(xiàn)代化生產(chǎn)和食品質(zhì)量安全追蹤體系的建設(shè)過(guò)程中,需要完整、及時(shí)、可靠的記錄農(nóng)事操作的信息(包括育苗、定植、灌溉、施肥、對(duì)花、防治病蟲(chóng)害等操作);然而傳統(tǒng)的記錄方法不僅操作麻煩,而且隨意性太強(qiáng),時(shí)常導(dǎo)致誤記、漏記、記錄檔案丟失及虛假記錄等現(xiàn)象時(shí)有發(fā)生。為了改善這種現(xiàn)狀,我們利用現(xiàn)代電子技術(shù)和計(jì)算機(jī)技術(shù),設(shè)計(jì)了一種電子農(nóng)事信息記錄系統(tǒng),解決了傳統(tǒng)方法存在的許多缺陷,并能有效實(shí)現(xiàn)大范圍質(zhì)量追蹤。
2 系統(tǒng)實(shí)現(xiàn)
農(nóng)事信息采集系統(tǒng)由手持操作終端和上位機(jī)數(shù)據(jù)庫(kù)組成。操作者使用手持終端記錄隨時(shí)進(jìn)行的農(nóng)事操作信息,信息記錄被保存在手持終端的存儲(chǔ)器中;數(shù)據(jù)記錄通過(guò)RS232傳輸?shù)缴衔粰C(jī)數(shù)據(jù)庫(kù),由上位機(jī)生成農(nóng)事操作的存檔報(bào)表(見(jiàn)圖1)。




3  手持終端的硬件組成
硬件系統(tǒng)主要組成部分如圖1所示,主控制器選用Cygnal的C8051F022芯片,該芯片具有雙串行口,內(nèi)部集成64K可自擦除的FLASH程序存儲(chǔ)區(qū)并有4K字節(jié)的RAM,此外該單片機(jī)具有豐富的外部接口(共100個(gè)引腳,64個(gè)I/O接口),其運(yùn)行速度可以高達(dá)25MIPS(25MHZ時(shí)鐘時(shí)),它是一個(gè)功能強(qiáng)大的片上系統(tǒng),具有高速、可靠等特點(diǎn)配置和開(kāi)發(fā)都比較方便。終端通過(guò)點(diǎn)陣LCD和18個(gè)按鍵與用戶(hù)交互,LCD顯示中文信息,中文字庫(kù)由容量為512K字節(jié)的存儲(chǔ)器28VF040保存,農(nóng)事信息也保存在28VF040中。
 


3.1鍵盤(pán)電路
系統(tǒng)中共有18個(gè)按鍵,4×4組成了16個(gè)按鍵,另外的兩個(gè)按鍵通過(guò)中斷口連接到單片機(jī)上。4×4的鍵盤(pán)隊(duì)列依靠程序的掃描實(shí)現(xiàn)。
3.2 28VF040和液晶的連接和地址分配
    C8051F022有較多的端口,可以設(shè)置為地址和數(shù)據(jù)線(xiàn)用不同引腳的模式;液晶和FLASH共用數(shù)據(jù)線(xiàn),他們需要設(shè)置為不同的地址空間,即通過(guò)他們的片選信號(hào)控制(見(jiàn)圖3)。
由于28VF040有19條地址線(xiàn),共512K字節(jié)的存儲(chǔ)空間,而51單片機(jī)的可以訪(fǎng)問(wèn)的地址空間是64K,即16條地址線(xiàn),所以把28VF040分成了16頁(yè),每頁(yè)為32K,也就是單片機(jī)的A0-A14連接28VF040的A0-A14,A15-A18則由P40:P43這4個(gè)IO口控制,P40-P43選擇頁(yè),低地址選擇該頁(yè)內(nèi)的地址。P45做為28VF040的片選信號(hào),在訪(fǎng)問(wèn)時(shí),首先輸出片選信號(hào),然后設(shè)置頁(yè)地址,最后通過(guò)MOVX指令訪(fǎng)問(wèn)該頁(yè)內(nèi)的地址即可。
LCD通過(guò)并行方式訪(fǎng)問(wèn),與28VF040共用數(shù)據(jù)線(xiàn)。因此,兩個(gè)芯片不允許同時(shí)使能。
 


4 手持終端軟件系統(tǒng)的構(gòu)成及功能實(shí)現(xiàn)
手持終端軟件部分較復(fù)雜,其主要部分為菜單子程序、按鍵子程序、上下位機(jī)通信子程序、漢字輸入法子程序、存儲(chǔ)器操作子程序等。
4.1菜單子程序
多層菜單的實(shí)現(xiàn)主要由菜單結(jié)構(gòu)體、菜單棧和菜單項(xiàng)來(lái)實(shí)現(xiàn);其中菜單結(jié)構(gòu)體用來(lái)描繪每一個(gè)菜單畫(huà)面,通過(guò)菜單結(jié)構(gòu)體,實(shí)現(xiàn)了菜單操作界面[2]。

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

 


 
定義主節(jié)拍信號(hào)定義如下:
MSI_HSEC: 半秒信號(hào)
MSI_SECD: 秒信號(hào)
MSI_MINU:  分信號(hào)
MSI_10MS:  10ms信號(hào)
MSI_SKEY:  按住不放,每秒產(chǎn)生一個(gè)按鍵信號(hào)
MSI_KEYC:  確定和取消鍵按鍵信號(hào)
MSI_DISP:  顯示信號(hào)
MSI_KEYD:  按鍵信號(hào)
系統(tǒng)定時(shí)器0中斷處理流程如圖5。
5 系統(tǒng)應(yīng)用
   上位機(jī)數(shù)據(jù)庫(kù)用SQL Server開(kāi)發(fā),該系統(tǒng)研制成功后,在四格莊示范基地投入試驗(yàn);有效實(shí)現(xiàn)了農(nóng)事信息的電子存檔和管理,操作簡(jiǎn)單、可靠[5],上傳部分?jǐn)?shù)據(jù)庫(kù)資料見(jiàn)表1。


6 結(jié)語(yǔ)
電子技術(shù)和計(jì)算機(jī)技術(shù)的有機(jī)結(jié)合,使得農(nóng)事信息采集系統(tǒng)能很好的迎合農(nóng)業(yè)現(xiàn)代化生產(chǎn)的需求,實(shí)現(xiàn)了全程電子無(wú)紙化可靠、便捷操作;如果現(xiàn)有網(wǎng)絡(luò)充分利用互聯(lián)網(wǎng)技術(shù),則可以有效實(shí)現(xiàn)大范圍區(qū)域農(nóng)產(chǎn)品質(zhì)量追蹤體系的建立;而且區(qū)域越大,本系統(tǒng)體現(xiàn)的的技術(shù)優(yōu)勢(shì)和實(shí)現(xiàn)的經(jīng)濟(jì)效益更為顯著.

本文作者創(chuàng)新點(diǎn):1、手持操作終端及其多層菜單式操作方式便于農(nóng)事信息記錄。
2、運(yùn)用數(shù)據(jù)庫(kù)技術(shù)管理上傳的農(nóng)事資料。
導(dǎo)師評(píng)語(yǔ):本文針對(duì)農(nóng)產(chǎn)品安全追蹤體系的建立,提出了一種基于現(xiàn)代電子技術(shù)和計(jì)算機(jī)技術(shù)全新的信息記錄和管理思路,尤其是手持操作終端的引入,方便了信息的采集和存儲(chǔ);而數(shù)據(jù)庫(kù)技術(shù)和網(wǎng)絡(luò)技術(shù)的引入,無(wú)疑方便了信息的管理和傳輸。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。