單片機控制在農田水肥自動調控系統_第1頁
單片機控制在農田水肥自動調控系統_第2頁
單片機控制在農田水肥自動調控系統_第3頁
單片機控制在農田水肥自動調控系統_第4頁
單片機控制在農田水肥自動調控系統_第5頁
已閱讀5頁,還剩64頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

經典word整理文檔,僅參考,轉Word此處可刪除頁眉頁腳。本資料屬于網絡整理,如有侵權,請聯系刪除,謝謝!摘要ATMEL公司的AT89S51單片機作為核心處理器控制整個系統的工作,系統由濕度傳感器,信號采集電路、鍵盤、顯示電路、輸出控制電路、串行通信電路、EPROM2氣濕度,自動控制水肥調控設備;同時,系統的參考濕度值可修改,并有斷電保存功能;信去修改水肥調控系統的參考濕度值,從而實現對整個系統的管理。S302H5V5的A/D轉換模塊采用了ADC0809LCD程序、鍵盤掃描子程序、A/D采樣子程序、串行接收和發送子程序、LCD顯示子程序等。經過實驗室的連續調試證明:該控制器具有可靠性高、功能強、自動化控制、操作簡建議。關鍵詞:智能,水肥調控,單片機IAbstractThehardwarelayoutandsoftwaredevelopmentforsinglechipmicroprocessorintelligentmicro-irrigationsystemandsystemprogrammingarepresentedindetailinthispaper.BasedontheAT89S51singlechipmicrocomputer,themicro-irrigationsystemconsistsofhumiditymoisturesensors,signalgatheringcircuit,keyboardandmonitordisplaycircuit,outportcontrolcircuit,serialcommunicationcircuit,EPROMreading-writingcircuitandirrigatingequipmentsandsoon.Thesystemisabletoautomaticallydetectthehumidityofenvironmentandcontroltheirrigatingequipment.Thus,thesettinghumiditycanbemodified.Thehumiditymodifiedwillbesavedtopreventfromthatthedataislostwhenthepoweriscutoff.Then,thegatheringhumidityofenvironmentandsettinghumiditywillbesentseriallytothecomputer.Ontheotherhand,thecomputercanmodifythesettinghumidityofthemicro-irrigationsystembytheserialcommunication.Sowecanusethecomputertomanagethemicro-irrigationsystem.Asfarasthedesignofthehardwareisconcerned,herechosetheS302H5V5capacitivehumiditysensorasthehumiditysensor,ADC0809astheA/Dconversion,thetouchingstylekeyasthekeyboard,LCDasthemonitordisplay.Theoutportcircuitisconsistsoftriode,NORgate,relay,light-emittingdiodeandsoon.Thedevelopmentofsoftwareadoptsthepopularmodularizedstructureandthemodularizeddebugfacilities.Thedesignofsoftwareadoptsassemblylanguageentirely.Theprimaryprogramiscomposedofmainprogram,keyboardscanningsubroutine,A/Dsamplingsubroutine,serialtransmitandreceivesubroutine,displayingsubroutineofLCDandsoon.Thesuccessivedebugexperimentsprovethatthesystemischaracterizedbyhighreliability,capablecontrolfunction,controllingbyautomationandsimpleoperations.Inaddition,therearesomesuggestionsaboutthefurtherdevelopmentandimprovementofthemicro-irrigationsysteminthispaper.Keywords:intelligence,micro-irrigation,singlechipmicrocomputerII目錄·······························································································································································I····················································································································································II第1章··················································································································································1·································································································································1········································································································································1·····························································································································1··············································································································2··············································································································3·································································································································4·····················································································································4········································································································································4第2章·······················································································································5自動化灌溉概述·····························································································································5··································································································5······································································································7··································································································8········································································································································8第3章········································································································9·····················································································································9·······························································································································10···················································································································10···························································································································10·······························································································································11·····································································································11濕度模塊···········································································································11ADC0809·····························································································································12···························································································································13E································································································································162····································································································································17······································································································································18第4章·································································································································19········································································································19·······························································································································20····················································································································21····························································································································23···························································································································26···························································································································29E·······················································································································322···························································································································37······································································································································39·····························································································································································40·····························································································································································421······················································································································································431·······································································································································442第1章緒論水資源危機被公認為未來10年人類共同面臨的最嚴重挑戰之一。農業是用水大戶,農業灌溉又占用了農業總用水量中的絕大部分,世界各國均非常重視發展水肥調控技術。業的最佳經濟效益、社會效益、生態環境效益而采取多種措施的總和?,F階段國內外采[1]經常保持適宜于作物生長的水分、通氣和營養狀況。一般來講,水肥調控系統由水泵、[2]分為滴灌、滲灌、微噴灌和小管涌泉灌四類。目前,常用的水肥調控技術有滴灌和微噴[3]灌溉水噴灑在土壤表面進行灌溉的一種新型灌水方法。[4]1.2.1研究背景在所有自然資源中,水是最重要的有限資源,必須合理開發和利用。聯合國環境與21[5]均淡水約為200萬m,可直接利用的淡水資源人均不到1萬m,而且水資源分布不均,33有50多個國家嚴重缺水,1/3的人口得不到安全用水,缺水形勢日趨嚴重。我國水資源2200m1/413個貧水國之一。2[6]然選擇。我國水資源總量為2.8萬億m,居世界第六位,畝均占有1888m占世界平均的4/5,33人均2320m,僅為世界人均的28.6%,排名為109位,農業用水量約為4000億m,占總331用水量的80%,單方水生產糧食不足1kg[7]0.4利工程引蓄的5000多億m的水量,有60%左右是在輸水、配水和田間灌溉過程中被白白3地浪費掉,而先進國家的灌溉水利用系數可達0.8~0.9。我國目前噴灌面積僅占同期有效灌溉面積的1~2%,大大低于80年代末以色列50%和美國40%的先進水平。[8]1.2.2國內外的發展情況水肥調控最先是從地下滴灌發展起來的,1860年在德國首次利用排水瓦管進行地下灌溉試驗。第二次世界大戰以后,由于塑料工業迅速發展,出現了各種塑料管,使滴灌系20世紀50列研制成功長流道管式滴頭,在滴灌技術的發展中又邁出了重要的一步,20世紀70年代以來許多國家開始重視滴灌,認識到滴灌不僅是一種缺水地區有效利用資源的灌水方式,而且是一種現代化的農業技術措施,發展很快從1981~1986年世界水肥調控面積增加了136%1986~1991年增加77%1991~2000年增加了76%1981~2000年的19年間世界水肥調控面積增加了633%,達到了377萬hm。其中,發展最快為發達國家,以美國和2以色列為代表。[9]20世紀70年代,美、蘇、法等國就開始大量采用自動或半自動的噴灌機來代替人工移動的支管,尤其是中心支軸式、平移式等大型噴灌機的應用,大大地減輕了勞動強度,提高了效率,降低了單位面積的投資,到1983年,世界噴灌面積已達2645.9萬hm2知,以色列是一個水資源嚴重緊缺的國家,2/3的國土是沙漠荒山,全年7個月無雨,人均水資源占有量僅365m,只有世界平均水平的3%,因此,以色列必須大力發展水肥調控技術,3而在此當中,1981~2000年的20年時間里,以色列的水肥調控面積翻了一番,達到16萬hm,占總灌溉面積的70%2列傳統耕耘觀念,使每寸土地都包含著高科技。滴灌系統把混合了肥料、農藥的水滲入植株根部,90%,,沙漠出現成片的綠色,使以色列農業用水大量減少,產出則較以前翻了5番。[10]我國從70,入90年代后,隨著我國科學技術水平的提高,塑料工業的不斷發展和完善,世界范圍的水肥調控技術越來越成熟,從國家領導到一大批直接受益的用戶都認識到了發展水肥調控的重要性。到1998年已經發展水肥調控面積18.21萬hm,占節水工程總面積的1.19%。2[11]主要經過了引進、消化和試制,設備和理論的深化研究,改進、研制、制定技術標準和規要問題為:[11]2一、是水肥調控設備種類少,性能差,生產工藝水平還比較落后,材質不耐老化;二、是水肥調控系統抗防堵塞研究不夠深入,過濾設備等水凈化裝置種類少,造成了水肥調控系統的報廢;三、是我國目前的水肥調控主要集中在果菜等經濟作物,大田作物水肥調控技術及適應設備亟待研究解決。1.2.3研究的意義和目的現實意義。率很小。噴水肥調控技術可以實現節省勞力、節省水量,獲取更高的勞動生產率、水分生,要節約灌溉用水,提高水分生產率,水肥調控(包括滴灌)主要應用于園藝作物、花卉、葡萄、果園、油橄欖等。從我國目前的233.3萬hm,而水肥調控面積僅30萬hm22潛力。[10]另外,水肥調控技術本身具有很多的優點。[11](170%,灌水均勻度在90%以上,能有效控制作物實際需要的灌水量;(2,節省肥藥在50%以上,能做到肥藥不流失,不污染環境;(3)提高灌溉效果,澆水不過量,土地不板結,提高地溫大大減少棵間蒸發,降低棚內濕度,減少病蟲害,座果率提高;(430%~50%,而且提高了灌水質量;術和水肥調控技術結合起來,實現水肥調控自動化。3溉的自動化控制,減少人力投入,提高科學管理。本課題的設計任務為利用ATMEL公司的AT89S51單片機作為智能水肥調控系統的核心控制器件,利用S302H5V5濕度傳感器采集土壤周圍空氣濕度,按照設定好的程序,根據情況。課題的技術要求:(1)熟練運用單片機控制整個水肥調控系統;(2)單片機能正確接收到濕度傳感器傳送的信號;(3)A/D轉換模塊能將傳感器的模擬信號準確轉換成數字信號;(4出相應的動作;(5應的濕度,并將轉換后的濕度送到液晶顯示出來;(6)濕度傳感器要能夠采集到土壤周圍空氣的濕度變化;第1義、研究目的和論文主要結構。第2章:介紹水肥調控自動化技術的發展情況及種類。第3章:介紹系統總體設計思想、硬件構成、主要器件及其應用技術。第4章:介紹整個系統的軟件設計思想及過程。結論部分對本文進行了總結,并對未來的工作方向提出一些建議。4第2章水肥調控自動化技術(1)灌溉自動化概念連[12]和經濟地運行。這樣就使其不僅具有較高的科技含量而且具有較強的實用性。時、適量灌溉,具有節能、高產、高效益等顯著優點。[13](2)灌溉自動化的分類溉系統不需要人直接參與,而是根據預先編制好的控制程序和反映作物需水的某些參量,和灌溉周期等,只是根據預先編制的程序進行控制的。[14]系統。(1)國外水肥調控自動化技術的發展也為世界的前列,其中以美國、以色列、法國、澳大利亞等為代表。5國外在水肥調控自動控制技術和設備的研究上發展迅速,美國微型電子計算機及PLC(ProgrammableLogicController,可編程控制器)的應用使自動化系統發生了根本[12]農田灌溉和田間管理完全自動連續的進行。PLC是以微處理器為核心,綜合了計算機技術、通信技術而發展起來的一種新型、通用的自動控制裝置,具有結構簡單、性能優越、可靠性高、靈活通用、易于編程、使用方第一臺可編程控制器196030PLC構基本上與微機相同,即由微處理器存儲器(CPUI/O)模塊、外設I/O接口、電源等組成。各部分通過總線(電源總線、控制總線、地址總線、數據總線)連接而成。[12]用裝置,擁有1-4個流路,注入流量為0-57h/L,每一路均配有流量計和調節閥。[15]PLC全部采用水肥調控,以滴灌為主。以色列溫室滴灌的最高水利用率為95%。新近研制的壓發出的系列化縫隙式、折射式、旋轉式微噴頭及連接件產品,材質好、耐磨損、噴灑效果效果更好,但成本也相對較高。[15]設現代化的灌溉管理技術體系,應用高、新技術使農業灌溉向精準化方向發展。在美國、溉效果。此外,流域的天氣情況、河湖水位、水質等信息均可傳輸到監測中心,用于輔助普羅旺斯渠道工程可實現中央控制室對整個工程的自動監測控制4800個信息采集點對水位、流量、閘門開度和水質進行遙控,15min便可自動采集一次數據。[1]6(2)國內水肥調控自動化技術的發展我國自20世紀50年代以來[13]達國家的技術存在著相當大的差距。自1974年由墨西哥政府贈送我國3套滴灌設備開始引進滴灌技術以來,水肥調控技術在我國已有30余年的發展歷程。進入90年代后,國家對農業水肥調控更加重視,[16][16]模。但絕大數,還是引進以色列、美國、法國、韓國等國家的部分先進技術和設備。引進一些設備并不適合我國的土壤環境。為多,各灌區限于設備和儀器的原因,沒有準確測定土壤墑情、土壤溫度等信息的能力。自20世紀50年代起,我國便對主要農作物需水量、需水規律、灌溉制度進行了較多的試驗研究,繪制了全國主要農作物需水量等值線圖,建立了全國灌溉試驗資料數據庫。[17]系統和數據傳輸系統,全灌區測試數據參差不齊,很難作匯總分析??刂葡到y方面已開[1]術,改善生態環境,建立生態高科技農業。(1)農業精確灌溉技術(RS)、地理信息系統(CIS)和全球定位系統(CPS)以及計算機等先進技術,對農作物、土壤墑情、氣候等從宏觀到微觀進行監測預報,并根據監測結果,采用高科技(滴灌、滲灌、微噴、脈沖)灌溉設施,以緩慢精確向作物根部直接供水供肥的灌水技術。受技術的限制,這[18]推廣和發展。(2)預報灌溉7勢,作物生長及需水量預測,預報適宜灌水時間、灌水量,做到適時適量灌溉作物。它[18]的有效利用率。(3)調控灌溉而且能夠改善作物的品質。[18]土壤墑情、土壤濕度、降雨、蒸發、水資源供給、作物的需水及需肥規律等信息的綜合分以適應高效農業和精細農業的要求。本章對水肥調控自動化技術的概念進行簡單的介紹,重點講述了水肥調控自動化技發展方向。8第3章系統設計思想及主要應用器件得到廣泛應用[19]應用軟件也日趨完善,采用AT89S51作為核心控制器件。智能水肥調控系統的總體設計思想如下:(1)濕度采集:利用濕度傳感器采集土壤周圍空氣濕度,從而間接測量土壤濕度,并將其轉換成足夠大的模擬電壓信號;(2)信號處理:利用A/D轉換器件ADC0809將模擬電壓信號轉換成數字信號,然后傳給單片機AT89S51;(3)鍵盤:采用4×4的點觸式鍵盤,實現系統參考濕度值的修改;(4)顯示模塊:采用LCD顯示,顯示兩個系統參數——采集的濕度值和當前的參考濕度值;(5)控制灌溉:繼電器的常開開關在線圈通電后會閉合,利用這種特性,將其作為外部灌溉電路的控制開關,實現系統灌溉的自動化;(6)存儲參考濕度值:采用EPROM器件存儲參考濕度值,保證斷電后,修改后的參2考濕度值不丟失;(7)串行通信:通過單片機的串行發送TXD和串行接收RXD,實現單片機與PC之間的通信。(8)軟件:①實現數字量到電壓值的轉換,電壓值到濕度值的轉換;②LCD顯示系統的兩個參數——當前濕度值和參考濕度值;③將修改的參考濕度值保存在EPROM;2④實現灌溉的自動化;⑤鍵盤掃描和處理;⑥AT89S51與PC之間的通信;93.2.1硬件設計思想部處理傳感器傳送過來的數據,然后做出決策,控制系統。本系統的硬件電路基本思想:(1我們選擇了將濕度轉換成電壓信號輸出;(2)考慮到輸出的電壓信號可能較小,因此在系統中加入信號放大電路;(3)單片機只能接收數字信號,因此,利用A/D轉換將模擬電壓信號轉換成數字信號,再通過數據口傳給單片機;(4)利用三極管的開關特性,實現單片機對控制電路的控制;(5)LCD顯示:單片機送出數據,由LCD顯示系統參數;(6)串行通信:單片機與PC之間的電平標準不一樣,因此要實現二者之間的通信,就要在二者之間加入電平電路;(7)單片機內部提供的存儲器為RAM和ROM。其中RAM存儲的數據可以隨時更改,ROMROM中便無法更改。為了實現數據可以隨時更改和斷電不丟失,我們加了外部存儲器EPROM;2(8)鍵盤:采用4×4的點觸式按鍵。3.2.2硬件構成(1)核心控制:采用ATMEL公司的AT89S51作為核心控制器件;(2)濕度傳感器:采用北京寶力馬傳感器技術有限公司的S302H5V5,其為濕度采集模塊元件,無需外加的信號放大電路;(3)AD轉換:采用8位AD轉換器件ADC0809作為A/D轉換的核心;(4)電平轉換:采用MAX232實現TTL電平到RS-232電平的轉換;(5)EPROM存儲:采用AT24C02作為存儲器件;2(6)控制電路:主要由繼電器、三極管和LED組成。103.3.1核心控制器件AT89S51從20世紀70片微型計算機(singlechipmicrocomputer),簡稱單片機。由于單片機面向控制性應用領域,裝入到各種智能化產品之中,所以其又稱為嵌入式微控制器(embeddedmicrocontroller)。從性能和和用途上,單片機正朝著面向多層次用戶的多規格方向[20]發展。效率和產品的質量。本系統應用的AT89S51,性能穩定,價格便宜,易購買。其為8位面向控制的51系列單片機,內部的數據存貯器為靜態隨機存取存貯器SRAM,其屬于FlashMemory型單片機,內部含有快速的FlashMemory程序存貯器,容量為4K字節,可以利用工具對程序存貯器反復擦除和寫入,使用方便。同時,其支持(InSystemProgram寫文件為FLASH文件,在系統編程的接口圖如圖3-1所示。它和Intel的MCS-51系列單片機中典型產品兼容、開發和使用簡便。圖同時,AT89S51擁有一個全雙工的異步串行口,這為實現和上位機的通信提供了便利。3.3.2S302H5V5濕度模塊S302H5V5為高分子薄膜型電容感濕元件,厚膜制造工藝,保護樹脂密封,抵抗環境110.8~3.9v,集有重要作用。3.3.3ADC0809ADC0809為一種8路模擬輸入8位數字輸出的A/D擬信號轉換為數字信號。其內部為樹形開關和多個比較器。其將參考電壓V256等分,ref然后通過比較器得出數字信號。單5v供電,輸出電壓為0~5v范圍的TTL標準電壓,與微處理器的兼容性好,輸出為三態(高電平1ADC0809主要控制引腳:[20](1)A、B、C:通路選擇輸入線,可以實現8路輸入。(2)ALE:通路鎖存控制信號輸入線,ALE電平正跳變時把A、B、C指定的通路地址鎖存到片內通路地址寄存器。(3)CLK:轉換時鐘輸入線,其范圍在10~1200kHz,一般取640kHz,此時的轉換速度為100us一次;該信號由單片機的ALE端提供。(4)START:啟動轉換控制信號輸入線,該信號的上升沿清除內部寄存器,下降沿啟動控制電路開始A/D轉換,在系統中,此信號由單片機的寫信號WR和高位地址線信號異或提供。(5)EOC:轉換結束信號輸出線,轉換結束后EOC線輸出一個寬為8個CLK周期的負脈沖。(6OE:輸出允許控制信號輸出線,OE為高平時把轉換結果送數據線2~2OE為-1-8低電平時2~2為浮空態;這樣處理可以保證單片機和A/D轉換二者不互相干擾。-1-8ADC0809主要控制引腳時序圖如圖3-2所示。12圖3.3.4串行通信中央處理器CPU行口來實現。與并行通信相比,串行通信速度較慢,但其適合遠距離的通信。3.3.4.1串行通信的分類按照串行數據的時鐘控制方式,串行通信可分為同步通信和異步通信兩類。(1)同步通信13字符和校驗字符CRC[21]CyclicRedundancyCheck)三部分組成。同步字符可以采用統同步通信的單同步字符幀的傳輸格式如圖3-3所示;雙同步字符幀傳輸格式如圖3-4所示。圖圖(2)異步通信(AsynchronousCommunication)幀地發送,每一幀數據均是低位在前,高位在后,通過傳輸線被接收端一幀一幀地接收。發送端和接收端可以由各自獨立的時鐘來控制數據的發送和接收,這兩個時鐘彼此獨立,步通信對硬件要求較低,實現起來比較簡單、靈活,適用于數據的隨機發送/接收,但因機中主要采用異步通信方式。異步通信有兩個重要的指標——字符幀格式和波特率。①字符幀也叫數據幀,由起始位、數據位、奇偶校驗位和停止位等4部分組成。起始位:位于字符幀開頭,只占一位,為邏輯0低電平,用于向接收設備表示發送端開始發送一幀信息。數據位:緊跟起始位之后,用戶根據情況可取5位、6位、7位或8位,低位在前高位在后。偶校驗,由用戶決定,或者也可以不使用。停止位:位于字符幀最后,為邏輯1高電平。通常可取1位、1.5位或2位,用于向接收端表示一幀字符信息已經發送完,也為發送下一幀做準備。143-5若干空閑位,有3個空閑位的字符幀格式如圖3-6所示。圖圖②波特率為每秒鐘傳送二進制數碼的位數,也叫比特數,單位為b/s,即位/秒。際傳輸速率不同,字符的實際傳輸速率是每秒內所傳字符幀的幀數,和字符幀格式有關。3.3.4.2串行通信的制式單工、半雙工和全雙工三種制式。(1)在單工制式下,通信線的一端接發送器,一端接接收器,數據只能按照一個固定的方向傳送。(2)半雙工制式下,系統的每個通信設備都由一個發送器和一個接收器組成。數據能從A站傳送到BB站傳送到A能一端發送,一端接收。其收/發開關一般是由軟件控制的電子開關。(3)全雙工通信系統的每端都有發送器和接收器,可以同時發送和接收,即數據可以在兩個方向上同時傳送。AT89S51就屬于這種制式的。于半雙工制式下,因為這種用法簡單、實用。15CPU給CPU,或從CPU接收并行數據,轉換成串行數據后輸出到外部邏輯。這樣的處理方法,有利提高反應時間和傳輸速度。3.3.4.3串行通信總線標準及其接口RS-232C是使用最早、應用最多的一種異步串行通信總線標準。它是美國電子工業協EIA19621969RS表示RecommendedStandard,232是該標準的標識號,C表示最后一次修訂。RS-232C主要用來定義計算機系統的一[23]些數據終端設備和數據電路終接設備之間的電氣性能。RS-232C采用串行格式,其標準規定:信息的開始為起始位,信息的結束為停止位;信息本身可以是5678表示空。RS-232C串行格式如圖3-7所示。圖RS-232CTTL是+5V和地,而是采用負邏輯,即邏輯“0”:+5v~+15v;邏輯“1”:-5v~-15v。而TTL12.8v~5v00v~0.8vRS-232C不能和TTLTTL電路燒壞。MCS-51單片機與PC機的通信就是采用該種類型的接口,電平轉換采用MAX232。MAX232內部存在兩組電平轉換門,第一組是實現從TTL/CMOS到RS-232,第二組實現從RS-232到TTL/CMOS。3.3.5EPROM2選用AT24C022K字節。AT24C02讀寫采用IC串行總線來2實現。IC總線是通過兩根線(SDA串行數據線和SCL串行時鐘線)實現器件之間通信的2IC總線標準的單片機或ICIC2216的連接。CPU不僅能通過指令將某個功能單元電路掛靠或摘離總線,還可對該單元的工作狀況進行檢測,從而實現對硬件系統的既簡單又靈活的擴展與控制。IC總線接口具有雙向傳輸的接口特性。IC總線根據器件的功能通過軟件程序使其可22工作于發送或接收方式。當某個器件向總線上發送信息時,它就是發送器(也叫主器件),(也叫從器件)據并產生時鐘以開放傳送的器件,此時任何被尋址的器件均被認為是從器件。IC總線的2沒有優先機。3.3.6LCD顯示器件采用JHD1620,它帶有背光源,為慢顯示器件。其模塊內部的字符發生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數字、英文字制器共有11條控制指令,顯示全部通過編程來實現。指令庫如表3-1所示。表3-1液晶顯示編程指令指令RSRWD7D6D5D4D3D2D1D0清顯示0000000000000010100000001000001000010001001D011*光標返回0置輸入模式顯示開/關控制光標或字符移位置功能0I/DS0CB**0S/CR/L*0DLNF*置字符發生存貯器地址00字符發生存貯器地址(AGG)置數據存貯器地址讀忙標志或地址001顯示數據存貯器地址(ADD)計數器地址(AC)要寫的數BF寫數到CGRAM或DDRAM1從CGRAM或DDRAM讀數1讀出的數據(1)指令1:清顯示,指令碼01H,光標復位到地址00H位置。(2)指令2:光標復位,光標返回到地址00H。17(33:光標和顯示模式設置。I/DS:屏幕上所有文字是否左移或者右移,高電平表示有效,低電平則無效。(4)指令4D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示;C:控制光標的開與關,高電平表示有光標,低電平表示無光標;B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。(55S/C(6)指令6:功能設置命令。DL:高電平時為4位總線,低電平時為8位總線;N:F:低電平時顯示5×7顯示5×10的點陣字符。(7)指令7:字符發生器RAM地址設置。(8)指令8:DDRAM地址設置。(9)指令9:讀忙信號和光標地址。BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙。(10)指令10:寫數據。(11)指令11:讀數據。本章簡單介紹了系統的設計思想、硬件組成及主要器件的工作原理。18第4章系統軟件設計(1ADC0809ADC0809A/D轉換完畢后取數據、ADC0809數據采集的間隔。(2ADC0809將其還原成采集到的電壓值,同時要保證一定的精度。(3)電壓值到濕度值的轉換:系統最終要得到是濕度值,電壓值只是一個中間信號,要根據傳感器的特性,確定傳感器輸出電壓與采集到的濕度的關系,算法要在(1)的基礎上,將其再轉換成濕度,在這過程中還要解決精度的問題。(4)EPROM寫數據和讀數據:EPROM讀寫采用IC總線傳輸形式,而IC總線的讀寫2222遵循嚴格的時序,要確保時序的準確性,存儲參考濕度值,保證數據斷電不丟失。(5閉合與斷開。(6)鍵盤掃描:當進入設置狀態后,實現對鍵盤的16個按鍵的掃描,鍵盤按鍵要實現功能為:輸入0~9十個數字、數據加1和減1操作、數據更改后確認、數據清零、開/關LCD的背光燈。(7)串行通信:①PC接收單片機發送的采集到的濕度值和參考濕度值。②接收PC鍵盤發送的數據,當發送數據的格式符合要求,就對參考濕度值進行相應的更改。(8)LCD顯示模塊:LCD顯示初始化、顯示。19系統軟件的主控程序流程如圖4-1所示。理采集的濕度是否小于參考濕度?調用顯示中斷返回圖204.2.1A/D轉換模塊4.2.1.1設計思想ADC080916位的數據指針DPTRDPH(DPTR高8位)和DPL(DPTR低8P2口為高8位地址,P0口為低8位地址。由于ADC0809采集只用到一路,因此,地址線ABC全部接地,即地址為000,選通ADC0809的0通道。最高位地址選用P2.7,同時規定有用的地址線設為0(低ADC0809存在一個轉換結束標志EOC,EOC在轉換結束后會產生一個寬度為8個轉換時鐘周期的負脈沖。要在EOC來臨后,完成送數的操作??梢圆捎脙煞N方式進行送數:(1)查詢方式:即在啟動ADC0809之后,利用語句判斷EOC是電平是否為低電平。如果為低電平話,則進行讀轉換結果;否則,就等待。(2)中斷方法:轉換結束后,EOC的電平會觸發中斷,在中斷處理子程序里面進行讀A/D轉換結果。鑒于中斷無須等待、處理方便的特點,采用中斷方法。4.2.1.2程序框圖先將中斷初始化,然后啟動ADC0809,一旦A/D轉換結束完,EOC就會觸發中斷,這時程序就會跳入中斷處理子程序。當中斷事件處理完畢,就返回到原來產生中斷的位置,接著執行下面的程序——數據處理和調用顯示。A/D轉換流程如圖4-2所示。21Y讀A/D數據處理子程序中斷返回圖4.2.1.3匯編語言設計A/D轉換完后采用中斷方式讀轉換結果。在這里,選用中斷1,即ADC0809的EOC接單片機的P3.3。因為,轉換完畢后,EOC為負脈沖,所以中斷1采用邊沿觸發方式。由于LCD與A/D共用數據口P0LCD干擾單片機讀A/D子程序后,要首先關閉LCD。(1)中斷初始化:SETBSETBSETBEAEX1IT1以上為中斷1的初始化語句。EX1為外部中斷1中斷允許位,EX1=1允許外部中斷1。IT1為外部中斷源1觸發方式控制位,有兩種觸發方式。IT1=0,外部中斷1程控為是電平觸發方式;IT1=1,外部中斷1程控為邊沿觸發方式,即當外部中斷信號由高電平向負低電平跳變時,CPU響應中斷。22(2)啟動ADC0809:AD_CONV:MOVDPTR,#7FFFHMOVX@DPTR,ADPTR為16位的數據指針,硬件上選擇P2.7作為最高位地址線,而P2口的其它地址線和P0地址口都沒有使用,所以DPTR為7FFFH。(3)中斷處理子程序:INT_1:SETBRSCLRRWSETBEMOVDPTR,#7FFFHMOVXA,@DPTRMOVAD_DATA,ALCALLDATA_PROCESS_1LCALLVOL_CONV_HDYLCALLDESPLAYINT_1_D3:RETI在中斷處理子程序的開始,為了避免在讀轉換結果時,數據口P0受到液晶讀寫的干擾,所以要關液晶,即RS=1RW=0E=1。接下來就是把A/D轉換的結果讀進來,然后存入內存中。4.2.2LCD顯示4.2.2.1設計思想LCD的讀寫操作、屏幕和光標的操作都是通過指令編程來實現的。LCD存在三條控制線RS、RW、E。(1)RS為寄存器選擇線,高電平時選擇數據寄存器、低電平時選擇指令寄存器。(2)RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW同為低電平時可以寫入指令或者顯示地址。當RS為低電平、RW為高電平時可以讀忙信號,當RS為高電平、RW為低電平時可以寫入數據。(3)E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。志。當其為低電平時,則表示不忙,否則此指令失效。液晶地址分布如圖4-3所示。23圖4.2.2.2程序框圖LCD顯示字符流程如圖4-4所示。YNN結束圖244.2.2.3匯編語言設計(1)液晶初始化:MOVP0,#01HLCALLLCD_ENMOVP0,#38HLCALLLCD_ENMOVP0,#0CHLCALLLCD_ENMOVP0,#06HLCALLLCD_EN初始化過程的主要工作為清屏幕、設置液晶晶示模式(包括總線的位數、顯示行數、用寫命令子程序即可完成顯示初始化。(2)寫顯示地址寫入的地址并非直接等于顯示位置的實際地址,因為寫入顯示地址時,要求最高位D7定為高電平1,所以實際寫入的地址數據應該是實際地址與80H相加的結果。(3)寫入顯示字符(以寫入I為例)MOVSETBCLRCLRP0,#49HRSRWELCALLLCD_BUSY要讓液晶某一字符,應向液晶的數據口該字符的ASCII碼,然后選擇數據寄存器(RS=1RW=1E=1(4)寫命令子程序LCD_EN:CLRRSRWECLRCLRACALLBUSYESETBRET寫命令主要是對三個控制位進行操作,包括:選擇指令寄存器(RS=1(RW=0E=0(5)忙判斷子程序25LCD_BUSY:MOVP0,#0FFHCLRRSSETBRWCLRENOPSETBEJBP0.7,BUSYRET忙判斷主要是借助忙判斷指令,去讀取高位D7的狀態,如果其為高電平說明液晶仍處于忙狀態,這時候是不可以再對液晶寫數據的,否則,數據無效,一旦高位為高電平,就讓其進入循環判斷狀態,直到高位為低電平時,才退出判斷子程序;當其為低電平時,則說明液晶處于空閑狀態,可以對其進行其它的操作。4.2.3濕度算法4.2.3.1程序思路讀取的A/D轉換結果為數字量,因此,第一步是要將其轉換成電壓值。ADC0809將參考電壓256等分,參考電壓V=5v,故算法的基數為51。采集到的電壓是小數的,為了ref算法處理后得到的電壓值、電壓值的個位和十分位。濕度模塊S302H5V5的電壓值與相對濕度之間的函數關系近似為線性,濕度電壓關系如圖4-5所示。設輸出電壓為V,相對濕度為H,二者的近似關系式如公式(4-1)所示。H3V4-1)將帶小數點的電壓全部換成整數來處理,即將電壓放大10倍,放大電壓后濕度轉換公式如公式(4-2)所示。10V9H公式(4-2)3放大后的電壓范圍V'為:9~39,當其減去9后直接乘以10,就會存在溢出問題,因此,在算法中,將V'-H函數關系分成兩段處理。V'小于34時,采用的計算公式如公式(4-2)所示;V'大于等于34時,采用的計算公式如公式(4-3)所示。26H25010(V34)公式(4-3)33圖H4.2.3.2程序框圖(1)數字信號轉換成電壓數字量轉換在電壓流程如圖4-6所示。27電壓的十位乘10,加上個位得到放大10倍電壓值余數除以5,得到電壓的個位圖(2)電壓轉換成濕度電壓轉換成濕度值過程如圖4-7所示。28轉換后電壓賦給累加器結束圖4.2.4鍵盤掃描4.2.4.1按鍵功能定義按鍵功能的定義如圖4-8所示。29圖4.2.4.2鍵盤掃描原理4×4鍵盤的分成四行和四列,當鍵盤上某一按鍵閉合時,則該鍵所對應的行線和列線被短路。掃描從行線開始,行線完畢后,移到下一列,再掃描,直到全部的列線都掃描到。先使P2.3為低電平(0),其余三根列線P2.2P2.1P2.0都為高電平,讀行線P2.7,P2.6P2.5P2.6。如果P2.7P2.6P2.5P2.6都為高電平,則說明P2.3這一列沒有鍵閉合。如果讀出的行線狀態不全為高電平,則為低電平的行線和P2.3相交的按鍵處于P2.3P2.2平,用同樣方法檢查P2.2這一列上有無鍵閉合。以此類推,直至P2.0列。4.2.4.3程序處理為鍵盤設置一個SETTING鍵,其接中斷0。當SETTING按下時,則響應中斷0,置標志。返回主程序中,判斷標志位,如果標志為FFH,則轉入鍵盤掃描,否則,程序去處理短和開關的機械特性有關。因此,在按鍵處理子程序中要消除抖動。4.2.4.4鍵盤掃描程序框圖鍵盤掃描過程如圖4-9所示。30Y其他處理程序按鍵處理子程序圖314.2.5EPROM讀寫24.2.5.1IC總線時序2在IC總線上傳送信息時的時鐘同步信號是由掛接在SCL時鐘線上的所有器件的邏輯2“與”完成的。SCL線上由高電平到低電平的跳變將影響到這些器件,一旦某個器件的時SCLSCL線上的所有器件開始低電平期。SCL件將進入高電平等待的狀態。當所有器件的時鐘信號都上跳為高電平時,低電平期結束,SCL線被釋放返回高電平,即所有的器件都同時開始它們的高電平期。其后,第一個結束高電平期的器件又將SCLSCL器件確定。SCL據線SDA由高電平跳變為低電平定義為“開始”信號;當SCLSDA線發生以后,總線即被認為處于忙狀態;在結束信號以后的一段時間內,總線被認為是空閑的。開始信號和結束信號時序如圖4-10所示。圖C4.2.5.2數據傳送格式IC總線的數據傳送格式:在IC總線開始信號后,送出的第一個字節數據是用來選2278位為方向位(R/W)0即主器件把信息寫到所選擇的從器件;方向位為“1”表示主器件從所選擇的從器件讀信息。開始信號后,系統中的各個器件將自己的地址和主器件送到總線上的地址進行比較,32還是發送信息則由第8位(R/W)確定。IC總線上每次傳送的數據字節數不限,但每一個字節必須為8位,而且每個傳送的字節后面必須跟一個認可位(第9ACKSCL使時鐘SCLSDA1個結束信號,SCLSCLACK)認可位,在此時鐘內主器件釋放SDA線,一個字節傳送結束,而從器件的響應信號將SDASDASDA線返回高電平,進入下一個傳送周期。4.2.5.3AT24C02的程序讀寫原理對AT24C02的寫數據過程為單片機向它發送開始信號,然后向SDA送器件地址;接SDA時序如圖4-11所示,寫多個字節SDA時序如圖4-12所示。圖33圖對AT24C02后送停止信號。讀過程SDA時序如圖4-13所示。圖寫入器件地址和數據結束后,都要判斷ACK,即寫入是否成功,有接到ACK標志位,說明器件有接收數據;如果沒有接收ACK,單片機就會處于等待狀態。4.2.5.4程序框圖對AT24C02的某一地址寫入數據過程如圖4-14所示;讀出AT24C02某一地址的讀數據過程如圖4-15所示。34)NNN圖35送器件地址(方向位為寫)寫器件地址(方向位為寫)送結束信號送器件地址(方向位為讀)寫器件地址(方向位為讀)Y圖364.2.6串行通信4.2.6.1串行通信原理單片機內部有數據發送緩沖器和數據接受緩沖器,都用SBUF表示。發送數據即將數據賦給發送緩沖器,再由外部的接收設備從SBUF中讀取數據;而接收數據,則是外部設備將數據發送到SBUFSBUF方式和波特率。工作方式通過控制寄存器(SCON)設置。SCON為8位寄存器,包括工作方式選擇位(SM0、SM1SM29位數據TB8、RB8;以及發送和接收中斷標志TI、RI。當串行口發送完一個字符由內部硬件置位發送中斷標志TI,接收一個個字符后也由內部硬件置位接收中斷標志RI。當CPU響應串行中斷時,TI和RI要有軟件來清零。波特率由波特率發生器產生,設B為波特率,f為振蕩器頻率,TH1為定時器T1的計數初值高8位數,工作方式1的波特率計算公式如公式(4-4)所示。f3212256THB2S公式(4-4)4.2.6.2程序設計串行通信采用工作方式1,允許串行接收,采用串行中斷,中斷子程序中接收數據和SCON設置為SMO=0SM1=1SM2=0REN=1TB8=0RB8=0TI=0RI=0,即SCON=40H。波特率為1200b/s,設置為SOMD=0,f=11.0592MHz,TH1=E8H。PC向單片機發送的數據格式如表4-1所示,其中N,N,N為9的數字。只有格10式符合時,單片機才會對數據做出處理,否則就放棄數據。2表開始位數據位結束位SNNNO0124.2.6.3程序框圖串行通信的單片機發送過程如圖4-16所示;接收數據過程如圖4-17所示。37結束圖38結束圖本章詳細介紹了系統軟件的設計思想、各個軟件模塊的設計原理以及具體的軟件框圖。39結論一、系統總結通過查閱大量文獻資料,了解水肥調控自動化技術,本系統利用匯編語言、WAVE仿真軟件VW和仿真機實現了對系統軟件的設計和調試,實現了系統控制的自動化。系統軟件設計的關鍵在于濕度算法、EPROM讀寫、串行通信、鍵盤掃描這四大模塊。2系統經過調試和測試,可以實現:(1)采集土壤周圍空氣濕度,自動與參考濕度值比較,實現灌溉的自動化。(2)采集到的濕度值和參考濕度值可以由LCD顯示出來。(3)可以通過鍵盤對參考濕度值進行修改。(4)修改后的參考濕度值會被保存在EPROM中,防止斷電丟止。2(5)采集到的濕度值和參考濕度值可以通過串口傳給PC,PC的鍵盤也可以通過串口對參考濕度值進行修改。實驗測試結果表明,該系統具有穩定、實用、經濟、操作簡單等方面的優勢。二、在進行本次設計的過程中主要遇到以下問題:(1)在讀A/D轉換結果程序設計的實現過程中,遇到數據讀取錯誤的問題。原因就在于單片機AT89S51的P0同時作為多個讀寫器件的數據口時,各個讀寫器件之間存在著干擾,影響器件工作。因此,在對某一器件操作時,其他的讀寫器件應當關閉,保證這一器件在整個數據的讀寫過程不受干擾。(2)在EPROM讀寫程序設計的實現過程中,主要遇到了時序匹配控制問題。串行時2鐘SCL和數據SDA寫轉換過程需要有足夠的延時,保證狀態轉換的正確。(3)系統軟件中用到多個中斷。多個中斷的開放就會存在優先級高的中斷影響優先處理完畢要返回才可再開放那些被關閉的中斷。(4)串行通信的設計主要要注意的就是在字符接收和字符發送完畢后,要將標志位RI和TI軟件清零,保證下一個字符操作的順利進行。三、未來工作展望統軟件進行完善。(1)土壤灌溉的參數包括空氣濕度、土壤濕度、土壤質量、地形、空氣溫度等多個方因素。(240,會經濟信息相結合提出實施計劃,通過全球定位系統的控制,即可使農業機械完成播種、施肥、灌溉、除草、培土及收割等工作。這些技術在未來可以應用于土壤參數的監控中,使灌溉管理更加合理和科學。(3)記錄保存系統的采集到的參數。將這些系統參數建成一個灌溉智能決策庫,以此為系統灌溉決策的依據,形成一個科學的智能決策系統。41謝辭42參考文獻吳修文,孫玉娟,袁修坤.我國溫室水肥調控技術的現狀及發展趨勢.農業裝備與車輛工,,.CAPABILITYOF43附錄1軟件程序#include<reg52.h>#include<intrins.h>typedefunsignedcharuchar;typedefunsignedcharuint;//****************************************IO***************************************sbitMISO=P1^3;端口定義sbitMOSI=P1^1;sbitSCK=P1^4;sbitCE=P1^5;sbitCSN=P1^0;sbitIRQ=P1^2;sbitLcdRssbitLcdRwsbitLcdEn=P2^3;=P2^2;=P2^1;sbitACC0=ACC^0;sbitACC7=ACC^7;sbitSet=P2^5;sbitUp=P2^6;//模式切換鍵//加法按鈕sbitDown=P2^7;sbitDQ=P2^0;//減法按鈕//溫度傳送數據IO口//發光二極管模擬繼電器輸出sbitJDQ=P2^4;chardone,count,temp,flag,up_flag,down_flag;inttemp_value;//溫度值inttemp_value;//報警溫度ucharTempBuffer[5];/***********1602液晶顯示部分子程序****************/44//PortDefinitions***************************************sfrDBPort=0x80;//P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.數據端口/內部等待函數***********************************************unsignedcharLCD_Wait(void){LcdRs=0;LcdRw=1;_nop_();LcdEn=1;_nop_();LcdEn=0;returnDBPort;}//向LCD寫入命令或數據****************************#defineLCD_COMMAND#defineLCD_DATA0//Command1//Data#defineLCD_CLEAR_SCREEN0x01//清屏#defineLCD_HOMING0x02//光標返回原點voidLCD_Write(bitstyle,unsignedcharinput){LcdEn=0;LcdRs=style;LcdRw=0;_nop_();DBPort=input;_nop_();//注意順序LcdEn=1;_nop_();//注意順序LcdEn=0;_nop_();LCD_Wait();}//設置顯示模式********************************************45#defineLCD_SHOW#defineLCD_HIDE#defineLCD_CURSOR#defineLCD_NO_CURSOR#defineLCD_FLASH0x04//顯示開0x00//顯示關0x02//顯示光標0x00//無光標0x01//光標閃動#defineLCD_NO_FLASH0x00//光標不閃動voidLCD_SetDisplay(unsignedcharDisplayMode){LCD_Write(LCD_COMMAND,0x08|DisplayMode);}//設置輸入模式************************************************************#defineLCD_AC_UP#defineLCD_AC_DOWN#defineLCD_MOVE0x020x00//default0x01//畫面可平移#defineLCD_NO_MOVE0x00//defaultvoidLCD_SetInput(unsignedcharInputMode){LCD_Write(LCD_COMMAND,0x04|InputMode);}//初始化LCD************************************************************voidLCD_Initial(){LcdEn=0;LCD_Write(LCD_COMMAND,0x38);LCD_Write(LCD_COMMAND,0x38);//8位數據端口,2行顯示,5*7點陣LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);//開啟顯示,無光標LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);//清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);//AC遞增,畫面不動}//液晶字符輸入的位置************************46voidGotoXY(unsignedcharx,unsignedchary){if(y==0)LCD_Write(LCD_COMMAND,0x80|x);if(y==1)LCD_Write(LCD_COMMAND,0x80|(x-0x40));}//將字符輸出到液晶顯示voidPrint(unsignedchar*str){while(*str!='\0'){LCD_Write(LCD_DATA,*str);str++;}}voidshow_value()//液晶顯示程序{ReadTemp();//開啟溫度采集程序temp_to_str();GotoXY(12,1);Print(TempBuffer);GotoXY(12,0);Print(maxtemp);//溫度數據轉換成液晶字符//液晶字符顯示位置//顯示測量溫度//液晶字符顯示位置//顯示報警溫度Delay1ms(400);//掃描延時}voidWarming(){if(temp_value>=maxtenp)47JDQ=~JDQ;elseJDQ=0;}#include<reg52.h>#include<intrins.h>typedefunsignedcharuchar;typedefunsignedcharuint;//****************************************IO***************************************sbitMISO=P1^3;端口定義sbitMOSI=P1^1;sbitSCK=P1^4;sbitCE=P1^5;sbitCSN=P1^0;sbitIRQ=P1^2;sbitLcdRs=P2^3;sbitLcdRw=P2^2;sbitLcdEn=P2^1;sbitACC0=ACC^0;sbitACC7=ACC^7;sbitSet=P2^5;sbitUp=P2^6;//模式切換鍵//加法按鈕sbitDown=P2^7;//減法按鈕sbitDQ=P2^0;sbitJDQ=P2^4;//溫度傳送數據IO口//發光二極管模擬繼電器輸出chardone,count,temp,flag,up_flag,down_flag;inttemp_value;//溫度值inttemp_value;//報警溫度ucharTempBuffer[5];/***********1602液晶顯示部分子程序****************/48//PortDefinitions***************************************sfrDBPort=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論