畢業(yè)論文模板-基于單片機的自動灌溉系統
《畢業(yè)論文模板-基于單片機的自動灌溉系統》由會員分享,可在線閱讀,更多相關《畢業(yè)論文模板-基于單片機的自動灌溉系統(32頁珍藏版)》請在裝配圖網上搜索。
基于單片機的自動灌溉系統 摘要 自動灌溉系統的設計應用對于我國這個農業(yè)大國有著重要的意義。本論文提出一種基于單片機的自動灌溉系統的設計方案,系統由若干節(jié)點組成,以STC12C5A60S2單片機作為控制芯片。節(jié)點采用土壤濕度檢測模塊YL-69對土壤的濕度進行檢測,通過單片機A/D轉換進行數據處理并顯示在液晶顯示器上。系統具有安全可靠,經濟實用,節(jié)能低耗,軟硬件擴展性強等特點。 關鍵詞:自動灌溉,STC12C5A60S2,土壤濕度,A/D轉換 Abstract The design of automatic irrigation system is of great significance for our agricultural country. This thesis presents a design scheme of automatic irrigation system based on single chip microcomputer, and the system is composed of several nodes, STC12C5A60S2 single-chip microcomputer being the control chip. Nodes use soil moisture detection module YL - 69 to test the soil humidity, through the MCU A/D transformation and data processing and then display on the LCD. This system is safe and reliable, economical and practical, energy saving and with low consumption and great extensibility of the hardware and software and so on. Keywords:automatic irrigation, STC12C5A60S2,soil humidity,A/D transformation 目錄 1 前言 1 1.1選題背景及意義 1 1.2國內外自動灌溉系統研究現況 1 1.3內容章節(jié)概述 3 2 自動灌溉系統設計方案 4 2.1系統設計目標及技術指標 4 2.1.1系統功能特點 4 2.1.2技術指標 4 2.2系統結構 4 3 節(jié)點的硬件設計 6 3.1硬件設計 6 3.1.1中心節(jié)點 6 3.1.2土壤濕度檢測節(jié)點 7 3.1.3液晶檢測節(jié)點 7 3.2主要功能電路 8 3.2.1單片機最小系統 8 3.2.2土壤濕度檢測電路 10 3.2.3 5V電源電路 11 3.2.4單片機與計算機串行通信電路 12 3.2.5液晶顯示電路 13 3.2.6蜂鳴器電路 14 4 單片機軟件設計 18 4.1中心節(jié)點程序流程 18 5 總結 20 附錄 21 參考文獻 27 致謝 28 2828 1 前言 1.1選題背景及意義 水資源是人類賴以生存的基礎性資源,是農業(yè)的命脈,是生態(tài)環(huán)境的控制性要素,同時又是戰(zhàn)略性的經濟資源。一方面我國的水資源卻十分緊缺。雖然我國水資源總量居世界第六位,但人均占有量只有2500m,約為世界人均水量的1/4,在全世界屬于貧水國家之一。另一方面,我國作為世界上的農業(yè)大國之一,農業(yè)用水浪費十分嚴重,就全國范圍而言,水資源的利用率僅%為45%,而水資源利用率高的國家已達70%~80%。由于農業(yè)灌溉用水的利用率低下,因此,提高節(jié)水灌溉的利用率,對于解決我國農業(yè)灌溉用水,緩解水資源的緊缺非常重要。 我國的自動灌溉技術,在經過幾十年的快速發(fā)展,在總結相關成果的基礎上,初步形成了相應的技術體系,在某些方面已經達到或接近國家先進水平。但由于受我國經濟發(fā)展水平及科研體制的限制,我國的自動灌溉技術與發(fā)達國家還有很大的差距。隨著我國水資源的供需矛盾日益尖銳,農業(yè)用水分配額減少的問題勢必日益突出,同時為了緩解我國水資源短缺對我國農業(yè)發(fā)展的壓力,如果快速發(fā)展我國的節(jié)水灌溉技術及配套設備,從而緩解我國農業(yè)用水壓力已經成為一個不容忽視的嚴峻問題。 在灌溉系統中,合理地推廣自動化控制,不僅可以提高水資源的利用率,從而緩解我國水資源日趨緊張矛盾,還可以減少大量的人力物力,從而減低農產品的生成成本,為了我國農業(yè)的發(fā)展提供技術保障十分必要。 當前我國包括灌溉水和降水在內的農田利用效率也很低,單方水生產糧食的能力約為0.84kg,一些發(fā)達國家大體都在2kg以上,差距很大。為了提高灌溉水的利用率,使單方水生產糧食的能力得到提高,為保證21世紀中國的糧食安全,靠傳統的灌水方式是很難達到期望的,必須從高新技術入手,在管理上下功夫,從過去那種澆地轉變成澆植物的思想觀念。做到作物需要多少水,灌溉系統就能及時而準確的提供多少水。要實現這一目標,只有發(fā)展先進的灌溉系統,使灌溉過程達到自動控制才有可能實現。因此,實現灌溉系統的自動控制,對節(jié)水、提高灌溉的利用率以及對我國糧食安全將起到極為重要的作用,具有重要的實現意義。 1.2國內外自動灌溉系統研究現況 國內自 20 世紀 70 年代以來就非常重視灌溉設備的研制,但引進較多,自主開發(fā)且有影響的成果較少。灌區(qū)灌水自動控制技術在“九五”期間才真正開始研制,進行示范。目前我國在灌溉控制系統方面還處于研制、試用階段,能實際投入應用,且應用廣泛的灌溉控制器還不多見。 節(jié)水農業(yè)就是以節(jié)約用水、提高農業(yè)用水效率為核心的農業(yè),是現代化農業(yè)的重要內涵。其核心是在有限的水資源條件下,通過采用先進的工程技術、適宜的農業(yè)技術和用水管理等綜合技術措施,充分提高農業(yè)用水利用率和水的生產效率及效益,保證農業(yè)持續(xù)穩(wěn)定發(fā)展。面對 WTO 的挑戰(zhàn),節(jié)水農業(yè)更應該賦予其新的內涵,其內涵應擴展為節(jié)水、高產、高效、優(yōu)質的農業(yè)。 節(jié)水灌溉技術是發(fā)展節(jié)水農業(yè)的基礎性工作,選擇適當的技術有助于節(jié)水農業(yè)的發(fā)展;研究開發(fā)節(jié)水灌溉技術,有助于提高節(jié)水農業(yè)的效益。因此,我們非常有必要對現狀節(jié)水灌溉技術,節(jié)水的水平以及技術的適應性,發(fā)展現狀及存在問題做認真分析,為真正實現提高農業(yè)用水效率和水的生產效率打好基礎。 結合我國各地區(qū)特點,認為適宜各地區(qū)推廣應用的節(jié)水農業(yè)技術主要有,渠道防滲技術、低壓管道輸水技術、地面灌水技術、雨水利用技術、農業(yè)節(jié)水配套技術、劣質水利用技術及農業(yè)節(jié)水管理等技術。 節(jié)水農業(yè)在國外的發(fā)展已有幾十年的歷史,在西方發(fā)達國家,節(jié)水灌溉的應用面積和產業(yè)化程度很高。目前,約有80多個國家和地區(qū)推廣應用微灌技術。美國、前.蘇聯的噴灌面積己占其總灌溉面積40%以上,英國、德國、奧地利、丹麥、瑞典、日本等國的旱地灌溉面積中90%以上采用噴灌。一些發(fā)達國家的噴灌系統中廣泛使用多功能壓力流量控制設備,如法國和日本均開發(fā)并使用集給水拴、壓力控制、流量顯示、水量控制等功能于一體的多功能壓力流量控制給水拴。節(jié)能效果良好的恒壓噴灌技術也得到了廣泛的應用,如日本在大多數旱地灌溉系統的五泵站中使用調壓罐控制。微灌領域,以色列和美國水平很高。他們對灌溉的新概念是:把含有肥料的水一滴滴的輸入作物根系層的土壤中,使土壤中的水、肥、氣、熱等保持協調關系,達到作物高產的目的。尤其是以色列,在水資源極度缺乏的情況下,通過發(fā)展節(jié)水農業(yè)和節(jié)水灌溉工程技術,建立起了高度發(fā)達的外向型農業(yè)產業(yè)。世界著名的耐特費姆Netfim灌溉設備和滴灌系統公司生產的微灌系統基本由計算機自動控制運行,可根據作物的生長及水、肥狀況進行灌水和施肥,節(jié)約大量人力,且管理及時,使作物產量和品質都有較大幅度的提剮161。除了大力推廣微灌與噴灌技術外,發(fā)達國家發(fā)展高效農業(yè)的另一個重要途徑是灌溉管理的自動化舊。如美國、法國、英國、日本、以色列等發(fā)達國家已采用了先進的灌溉系統。他們采用先進的節(jié)水灌溉制度,由傳統的充分灌溉向非充分灌溉發(fā)展,對灌區(qū)用水進行監(jiān)測預報,實行動態(tài)管理,采用遙感技術,監(jiān)測土4壤墑情和作物生長,開發(fā)和制造了一系列用途廣泛,功能強大的數字式灌溉控制器,并得到了廣泛的應用。仍然以以色列為例,以色列是世界上微灌技術發(fā)展最具有代表性的國家,目前全國農業(yè)土地基本上實現了灌溉管理自動化,并且普遍推行自動控制系統,按時、按量將水、肥直接送入作物根部,水資源利用率和單方水的糧食產量都相當高。北美、澳大利亞、韓國等國家和地區(qū)都已有發(fā)展成熟并形成系列的灌溉控制器產品,微灌方式普遍采用計算機控制,埋在地下的濕度傳感器可以傳回有關土壤水分的信息,還有的傳感器系統能通過檢測植物的莖和果實的直徑變化來決定對植物的灌水間隔。在溫室等設施內較多使用小型灌溉管、理程序,澆水時間可按日期設定每次每路灌水起止時聞,操作便于小規(guī)模經營。計算機化操作運行精密、可靠、節(jié)省人力,對灌溉過程的控制可達到相當的精度,在以色列,已經出現了在家里利用電腦對灌溉過程進行全部控制無線、有線的農場主。 總之,目前國外灌溉控制器已逐步趨于成熟、系列化,并朝著大型分布式控制系統和小面積單機控制兩個方向發(fā)展,產品一般都能與微機進行通信,并由微機對其施行控制。 1.3內容章節(jié)概述 本章是前言,對課題的研究背景、意義以及國內外的發(fā)展現狀和前景進行論述。第2章提出以單片機為控制系統的土壤濕度監(jiān)測系統的總體設計方案,詳細列出系統的設計目標和技術性能,并給出系統組成框圖。第3章分別對節(jié)點的硬件和軟件設計進行詳細的分析。首先介紹傳感器節(jié)點和中心節(jié)點的硬件設計,然后對各功能模塊的實現和主要元器件進行詳細論述,最后細述傳感器節(jié)點和中心節(jié)點的軟件設計思路。第4章首先介紹單片機軟件設計的開發(fā)環(huán)境,然后該系統程序設計的思路的流程圖。第5章為本系統的測試結果與分析。第6章總結本設計實現的功能和系統的特點,簡要分析本設計的實用價值。 2 自動灌溉系統設計方案 自動灌溉系統的檢測和控制方式可以有多種,本章以性能可靠、實用經濟的角度出發(fā),提出以單片機為控制系統的土壤濕度監(jiān)測系統的總體設計方案,該方案可以解決目前土壤濕度監(jiān)測系統中布線、成本、數量、通信等方面存在的諸多問題,實現自動化灌溉。 2.1系統設計目標及技術指標 2.1.1系統功能特點 課題研究預期功能 現實生活中很多農作物溫度、濕度和光照需要保持在一個既定的值上,超出或者低于這個預定值將對農作物的生長產生影響。該系統要求用單片機測控來實現農作物生長環(huán)境因子信息數據的實時采集、處理,而后輸出控制執(zhí)行機構,以實現環(huán)境濕度的測控,達到節(jié)水節(jié)能,省時省工的效果。具體功能如下: (1)實現按需灌溉功能。按照農作物的需求開啟和關閉灌溉系統,實現一般的控制。具有結構簡單,成本低,操作方便。 (2)通過土壤濕度傳感器檢測農作物生長的環(huán)境濕度,依據設定的植物要求的濕度的上下限值,由單片機來控制灌溉開關,從而調節(jié)濕度。當土壤濕度高于上限值時,自動關閉灌溉開關。 2.1.2技術指標 系統的技術指標主要涉及傳感器測量精度和A/D轉換精度等,具體參數如下: (1)傳感器測量范圍:濕度:20%~90%RH; (2)傳感器測量精度:濕度:5.0%RH(20%~90%RH); (3)A/D轉換精度:8通道10位高速ADC,速度可達25萬次/秒; (4)電源管理:節(jié)點和傳感器均使用5V直流電源。 2.2系統結構 本系統由土壤濕度傳感模塊、帶A/D單片機最小系統、液晶顯示模塊三大部分組成。如圖2-1所示,單片機最小系統作為系統的中樞,YL-69土壤濕度檢測模塊通過探頭對土壤濕度進行檢測,并通過其內置的信號處理電路把土壤濕度轉換成模擬信號,STC12C5A60S2單片機通過內置A/D轉換模塊把模擬信號進行轉換和處理,并顯示在LCD液晶模塊上。當土壤濕度值到達下限值時,單片機啟動灌溉電路。 圖2-1 系統組成框圖 3 節(jié)點的硬件設計 3.1硬件設計 本設計的硬件系統由以STC12C5A60S2系列單片機為核心的中心節(jié)點和傳感器檢測節(jié)點組成,它們均由Altium Designer 09進行布線及畫PCB板[8]。 3.1.1中心節(jié)點 中心節(jié)點的硬件結構如圖3-1所示,主要由STC12C5A60S2單片機、發(fā)光二極管、LCD1602、5V直流電源電路和串口通信電路組成。發(fā)光二極管用于當土壤濕度低于預設的報警值時發(fā)光報警;LCD1602作為人機交互界面,顯示土壤濕度節(jié)點采集到的實時數據;1x3矩陣鍵盤是控制器件,可以按相應的按鍵進行LCD1602顯示界面切換、預設報警值;5V電源電路采用7805作為直流穩(wěn)壓芯片,為單片機和土壤濕度模塊提供電源;串口通信電路使用MAX232作為電平轉換芯片,實現單片機與計算機的數據通信。 圖3-1 中心節(jié)點結構框圖 LED 3.1.2土壤濕度檢測節(jié)點 土壤濕度節(jié)點的硬件結構如圖3-2所示,主要由土壤濕度探頭、處理電路、5V直流電源和帶有A/D轉換功能的單片機組成。土壤濕度探頭通過插于土壤中以獲得一個信號,該信號經過處理電路的處理后向STC12C5A60S2單片機傳送一個模擬電信號,最后經過A/D轉換后獲得一個數字信號。5V直流電源電路用于為處理電路和A/D轉換電路提供電源。 A/D 轉換 土壤濕度探頭 直流電源 圖3-2 溫度檢測節(jié)點結構框圖 3.1.3液晶顯示節(jié)點 液晶顯示節(jié)點的硬件結構如圖3-3所示,主要由STC12C5A60S2單片機、蜂鳴器、發(fā)光二極管、LCD1602液晶、和5V電源電路組成。STC12C5A60S2單片機負責把A/D轉換后的值進行數據處理;蜂鳴器用于當濕度低于預設的報警值時發(fā)出聲音警報;發(fā)光二極管用于當濕度低于預設的報警值時發(fā)出光信號警報;LCD1602液晶作為人機交互界面,顯示該節(jié)點采集到的實時數據和濕度報警值; 5V直流電源電路為LCD、單片機和報警電路提供電源。 直流電源 LCD STC 單片機 報警 電路 圖3-3 濕度檢測節(jié)點結構框圖 3.2主要功能電路 3.2.1單片機最小系統 STC12C5A60S2單片機是宏晶科技公司生產的單時鐘周期(1T)單片機,是高速、低功耗、超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統8051單片機,但速度快8-12倍,工作頻率范圍是0~35MHz[9]。它還具有高速SPI串行通信端口和硬件看門狗功能,采用宏晶最新的第六代加密技術,有全球唯一ID號,無法解密,能完全滿足本系統低成本和相應的功能要求,具體的特點如下: (1)增強型8051 CPU,單時鐘周期,指令代碼完全兼容傳統8051單片機; (2)工作電壓:4.5~5.5V; (3)用戶應用程序空間:60K字節(jié); (4)片上集成1280字節(jié)RAM; (5)通用I/O口36/40/44個,每個I/O口驅動能力均可達到20mA,但整個芯片最大不要 超過55mA; (6)在系統可編程(ISP)/在應用可編程(IAP),無需專用編程器,無需專用仿真器, 可通過串口直接下載用戶程序,數秒即可完成; (7)時鐘源:外部高精度時鐘,內部R/C振蕩器(溫漂為5%~%10),精度要求不高 時可選擇使用內部時鐘; (8)共4個16位定時器:兩個與傳統8051兼容的定時/計數器,再加上2路PCA模塊可再 實現2個16位定時器; (9)2個時鐘輸出口,可由T0的溢出在P3.4/T0輸出時鐘,可由T1的溢出在P3.5/T1輸出 時鐘; (10)外部中斷I/O口7路,傳統的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中 斷的PCA模塊; (11)通用全雙工異步串行口,可再用定時器或PCA軟件實現多串口; (12)工作溫度范圍:-40~+85℃。 圖3-4為STC12C5A60S2單片機的最小系統電路圖。單片機最小系統由單片機、電源、復位電路、晶振電路組成,本設計所有單片機晶振電路都采用11.0592MHz的外部石英晶振。單片機最小系統的5V電源電路如圖3-5所示,S1為電路板的電源開關,陶瓷電容C3和電解電容C2的作用是增強系統供電的穩(wěn)定性,發(fā)光二極管D1作為電路板的電源指示燈。 圖3-4 單片機最小系統 圖3-5 電源電路 3.2.2土壤濕度檢測電路 土壤濕度傳感器 又名:土壤水分傳感器、土壤墑情傳感器。主要用來測量土壤容積含水量,做土壤墑情監(jiān)測及農業(yè)灌溉和林業(yè)防護 目前常用到的土壤濕度傳感器有 FDR 型和 TDR 型目前比較流行的是 FDR 型 FDRFrequency Domain Reflectometry頻域反射儀是一種用于測量土壤水分的儀器,它利用電磁脈沖原理、根據電磁波在介質中傳播頻率來測量土壤的表觀介電常數ε,從而得到土壤容積含水量θv,FDR 具有簡便安全、快速準確、定點連續(xù)、自動化、寬量程、少標定等優(yōu)點。是一種值得推薦的土壤水分測定儀器。本系統采用雁凌公司生產的土壤濕度傳感器YL-69是一種 FDR 型傳感器。該傳感器的技術參數、應用及特點如下: 測量參數:土壤容積含水率 單 位: m3/m3 量 程:20%~90%RH 探針長度:5.3cm 探針直徑:3mm 探針材料:不銹鋼 密封材料:環(huán)氧樹脂 測量精度:5.0%RH 工作溫度范圍:-20℃~55℃ 工作電壓:3.3~5V 工作電流:21~26mA 數字輸出信號:0.5V或5V 模擬輸出信號:2.5V~5V 測量穩(wěn)定時間:2秒 響應時間:<1秒 測量區(qū)域:以探針為中心,圍繞探針的直徑為7cm、高為7cm的圓柱體 功能及特點: 本傳感器體積小巧化設計,攜帶方便,安裝、操作及維護簡單 結構設計合理,不銹鋼探針保證使用壽命。 外部以環(huán)氧樹脂純膠體封裝,密封性好,可直接插入土壤中使用且不受腐蝕。 土質影響較小,應用地區(qū)廣泛。 測量精度高,性能可靠,確保正常工作。 響應速度快,數據傳輸效率高。 靈敏度可調。 雙輸出模式,數字量輸出簡單,模擬量輸出精確。 廣泛應用于節(jié)水農業(yè)灌溉、溫室大棚、花卉蔬菜、草地牧場、土壤檢測、植物培養(yǎng)、科學試驗等場領域。 本系統采用的YL-溫度69傳感器有四個個引腳,表3-1為 YL-69傳感器引腳說明,其應用電路如圖3-6所示,其中引腳2與單片機的P1.0口相連進行數據傳輸。 引腳 名稱 說明 1 VDD 供電,4.5-5.5V/DC 2 AO 模擬量輸出 3 DO 數字量輸出 4 GND 接地,電源負極 表3-1 YL-69傳感器引腳說明 圖3-6 YL-69應用電路 3.2.3 5V電源電路 中心節(jié)點和傳感器子節(jié)點都是由5V直流電壓供電,所以需要設計5V/DC的直流穩(wěn)壓電路。LM7805載電流可達1.5線性穩(wěn)壓集成芯片。LM7805固定輸出5V直流電壓,滿足實際需求,其主要特點如下: (1) 輸入為直流5~18V時,固定輸出4.8~5V/DC,穩(wěn)壓精度可達0.099V(+25℃); (2) 最大負載電流為1.5 (3) 紋波抑制比為73dB (4) 短路電流為230mA (5) 內置有過載保護、安全區(qū)保護等多種保護電路; (6) 工作溫度范圍:-40~+125℃。 在實際應用中,LM7805需要增加外圍電路,如圖3-9所示,470μF的電解電容Cap可以確保所有操作條件下芯片工作的穩(wěn)定性。 圖3-9 LM7805應用電路 3.2.4單片機與計算機串行通信電路 MAX232芯片是美信公司專門為計算機的RS-232C標準串口設計的單電源電平轉換芯片,使用+5v單電源供電。其主要特點有: (1)符合所有的RS-232C技術標準; (2)只需要單一 +5V電源供電 ; (3)片載電荷泵具有升壓、電壓極性反轉能力; (4)功耗低,典型供電電流5mA ; (5)內部集成2個RS-232C驅動器 ; (6)高集成度,片外最低只需4個電容即可工作。 RS232接口是1970年由美國電子工業(yè)協會(EIA)聯合貝爾系統、調制解調器廠家及計算機終端生產廠家共同制定的用于串行通訊的標準。該標準規(guī)定采用一個25個腳的DB25連接器,對連接器的每個引腳的信號內容加以規(guī)定,還對各種信號的電平加以規(guī)定。隨著設備的不斷改進,出現了代替DB25的DB9接口,現在都把RS232接口叫做DB9。 本系統采用的就是DB9接口。因為DB9接口的信號電平值較高,且與TTL電平不兼容,故需要使用電平轉換電路方能與TTL電路連接。如圖3-10所示,MAX232將單片機TXD引腳輸出的TTL電平信號轉換為RS-232C電平,輸入到PC機,并將PC機輸出的RS-232C電平信號轉換為TTL電平,輸出到單片機的RXD引腳。 圖3-10 MAX232串口應用電路 3.2.5液晶顯示電路 本設計的液晶顯示采用1602液晶。1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊,它由57點陣字符位組成,每個點陣字符位都可以顯示一個字符。LCD1602可以顯示兩行,每行16個字符。LCD1602工作電壓為4.0~5.5V,工作電流為2mA,其接口說明見表3-3。 表3-3 LCD1602引腳說明 引腳 名稱 引腳說明 引腳 名稱 引腳說明 1 VSS 電源地 9 D2 Data I/O 2 VDD 電源正極 10 D3 Data I/O 3 VL 液晶顯示偏壓信號 11 D4 Data I/O 4 RS 數據/命令選擇端(H/L) 12 D5 Data I/O 5 R/W 讀/寫選擇端(H/L) 13 D6 Data I/O 6 E 使能信號 14 D7 Data I/O 7 D0 Data I/O 15 BLA 背光源正極 8 D1 Data I/O 16 BLK 背光源負極 LCD1602的應用電路如圖3-11所示,D0~D7接到單片機I/O口P0,功能控制引腳E、R/W、RS分別接到單片機I/O口P2.2、P2.1、P2.0,可變電阻R1用于調節(jié)LCD1602的背光亮度。 圖3-11 LCD1602液晶顯示電路 3.2.8蜂鳴器電路 蜂鳴器電路如圖3-13所示,由阻值為10k的電阻、PNP三極管和有源蜂鳴器組成。蜂鳴器電路控制端BELL接單片機I/O口的P2.0,電阻和三極管構成簡單的電流放大電路,為蜂鳴器的提供工作電流。通過控制BELL端的輸入電平即可實現對蜂鳴器的控制:當BELL端為高電平時,蜂鳴器不工作;當BELL端為低電平時,蜂鳴器發(fā)出聲音。 圖3-13 蜂鳴器電路 圖3-14和圖3-15分別為中心節(jié)點的PCB工程原理圖總圖和PCB圖,圖3-16為系統硬件實物照。 圖3-14 中節(jié)點PCB工程原理圖 圖3-15 PCB圖 圖3-16 系統硬件實物照 4 單片機軟件設計 在已有的硬件平臺的基礎上,軟件設計的任務是編寫移植性好、可讀性強、代碼效率高的單片機程序。系統的中心節(jié)點和傳感器節(jié)點的軟件均由C語言編寫,由Keil uVision4編譯器編譯。在程序寫好后,可方便地將其燒寫到STC12C5A60S2單片機上。 Keil uVision4是51系列兼容單片機C語言軟件開發(fā)系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil提供包含C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)壞境(uVision)將這些部分組合在一起,其主要特點如下: (1)全功能的源代碼編譯器; (2)器件庫用來配置開發(fā)工具設置; (3)項目管理器用來創(chuàng)建和維護用戶的項目; (4)集成的MAKE工具可以匯編、編譯和連接用戶嵌入式應用; (5)所有開發(fā)工具的設置都是對話框形式的; (6)真正的源代碼級的對CPU和外圍器件的調試器; (7)高級GDI(AGDI)接口用來在目標硬件上進行軟件調試以及和monitor-51進行通信。 4.1中心節(jié)點程序流程 中心節(jié)點作為軟硬件系統的主控制中樞,需要完成A/D轉換、自動報警等智能控制等功能,其程序流程圖如圖4-1所示。 主程序首先進行單片機串口中斷、單片機定時器中斷、單片機A/D采集、LCD1602等功能模塊的初始化,然后LCD顯示界面,緊接著進入主循環(huán)。主循環(huán)的功能包括:系統正常運行后,進行檢測值掃描,根據掃描到的檢測值,系統做出相應的動作;LCD1602顯示檢測到的電壓值和濕度值界面;與子節(jié)點建立通信后,子節(jié)點把采集到的電壓值傳給中心節(jié)點;中心節(jié)點將以1s為周期將采集到的數據通過單片機的A/D轉換模塊轉換并計算出與濕度的對應值,并顯示在LCD上;當采集到的土壤濕度的數值超過了預設的報警值,單片機將使蜂鳴器發(fā)出聲音警報并點亮LED燈,否則處于安靜狀態(tài)。 圖4-1 中心節(jié)點程序流程圖 5 總結 本設計完成以單片機為檢測和控制的自動灌溉系統,該系統能很好地克服復雜的安裝環(huán)境,實現多目標的土壤濕度的實時傳輸,可以滿足大部分對土壤濕度進行監(jiān)測的需要。整個系統采用分時掃描區(qū)域內的傳感器的控制思想,實現數據的監(jiān)測并自動報警。通過實驗測試,本系統達到設計要求,效果良好。 本系統的硬件系統具有電路簡單、性能穩(wěn)定、可靠性高、搭建方便和易于擴展等特點。在實際應用中,可以改變或增減節(jié)點,以滿足不同需求。鑒于該系統具有功耗低、數據傳輸可靠、網絡容量大、實現成本低和易升級等特點,因而可以應用于農業(yè)、林業(yè)生產等領域,值得推廣宣傳。 附錄 頭文件源代碼: #ifndef __main_h_ #define __main_h_ #include "stc12c5a.h" #include"stdio.h" #include"1602.h" #include"intrins.h" #define TRUE 1 #define FALSE 0 #define uchar unsigned char #define uint unsigned int #endif 主程序源代碼: #include"main.h" extern uchar adc_hi; extern bit btStartAdFlag; extern bit btUartSendFinishFlag; extern bit btAdEndFlag; void InitAD(void); void StartADC(void); void InitUart(void); void InitTimer0(void); void baojing(void); /******************主函數*********************/ void main() { InitTimer0(); InitUart(); InitAD(); InitLCD(); StartADC(); EA = 1; while(1) { if(btStartAdFlag==TRUE) { btStartAdFlag = FALSE; ADC_CONTR|=0x08; //啟動 A/D 轉換 } if(btAdEndFlag==TRUE) { btAdEndFlag = FALSE; SBUF = adc_hi; //向串口發(fā)數據 btUartSendFinishFlag = FALSE; LCD_Vtg(); //向1602寫電壓值數據; } } } A/D轉換源代碼: #include"main.h" uchar adc_hi,adc_low; bit btAdEndFlag = FALSE; void InitAD(void) { EADC = 1; } /*****************AD轉換程序*******************************/ void StartADC(void) { ADC_CONTR|=0x80; //開A/D轉換電源,第一次使用時要打開內部模擬電源 _nop_(); //適當延時 _nop_(); _nop_(); _nop_(); P1ASF = 0x04; ADC_CONTR = 0xE0; //選擇P1.0作為A/D轉換通道 // ADC_CONTR = 0xE1; //選擇P1.1作為A/D轉換通道 _nop_(); //適當延時 _nop_(); _nop_(); _nop_(); AUXR1 |= 0x04; //ADRJ=1 ADC_CONTR |= 0x08; //啟動 A/D 轉換 } /**********************ADC中斷處理程序**********************************/ void ADCSPI_ISR (void) interrupt 5 // ADC和SPI中斷函數 { ADC_CONTR &=0xE7; //將ADC_FLAG清0 adc_hi = ADC_RES&0x03; //保存A/D轉換結果高2位 adc_low = ADC_RESL; //保存A/D轉換結果低8位 btAdEndFlag = TRUE; } LCD1602源代碼: #include"main.h" unsigned char code table[]="Voltage:"; unsigned char code table1[]="Humidity:"; unsigned int shidu; sbit lcden=P2^2; sbit lcdrs=P2^0; sbit lcdrw=P2^1; extern uchar adc_hi,adc_low; void baojing(void); /**********************延時程序**********************************/ void delay(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) for(y=1100;y>0;y--); } /**********************LCD1602寫命令程序**********************************/ void write_com(unsigned char com) { lcden=0; lcdrs=0; lcdrw=0; P0=com; _nop_(); _nop_(); _nop_(); lcden=1; delay(10); lcden=0; _nop_(); _nop_(); _nop_(); } /**********************LCD1602寫數據程序**********************************/ void write_data(unsigned char date) { lcden=0; lcdrs=1; lcdrw=0; P0=date; _nop_(); _nop_(); _nop_(); lcden=1; delay(10); lcden=0; _nop_(); _nop_(); _nop_(); } /**********************LCD1602初始化程序**********************************/ void InitLCD(void) { unsigned char data i,k; write_com(0x01); write_com(0x38); write_com(0x0c);//開顯示,不顯示光標 write_com(0x06); //寫字符后,地址指針加一。整屏不移動 write_com(0x80); //設置數據地址指針 for(i=0;i<8;i++) { write_data(table[i]); delay(5); } write_com(0xc0); //設置數據地址指針 for(k=0;k<9;k++) { write_data(table1[k]); delay(5); } } void LCD_Vtg(void) { uint num,bai,shi,ge,dianyazhi; bai = (adc_hi*256+adc_low)*5/1023; //整數位 shi = (adc_hi*256+adc_low)*5%1023*10/1023; //小數點后一位 ge = (adc_hi*256+adc_low)*5%1023*10%1023*10/1023; //小數點后的第二位 dianyazhi = (bai)*1000 + (shi)*100 + (ge)*10; shidu = 103 - dianyazhi/60; baojing(); write_com(0x89); //設置數據地址指針 write_data(0x30+bai); write_data(.); write_data(0x30+shi); write_data(0x30+ge); write_data(V); for(num=2;num>0;num--) { write_com(0xC9+num); write_data(0x30+shidu%10); shidu=shidu/10; } write_com(0xCC); write_data(%); } 串口通信源代碼: #include"main.h" bit btUartSendFinishFlag = TRUE; extern uchar adc_low; void InitUart(void) { TMOD = (TMOD&0x0F)|0x20; TH1 = 0xFA; //波特率9600 TL1 = 0xFA; SCON = 0x50; PCON = PCON|0x80; TR1 = 1; ES = 1; } /******************串口通訊***************************/ void Uart(void) interrupt 4 { if(TI==1) { TI = 0; if(btUartSendFinishFlag==FALSE) { SBUF = adc_low; btUartSendFinishFlag = TRUE; } } else { RI = 0; } } 報警電路源代碼: #include"main.h" sbit led = P1^7; sbit bell = P3^6; unsigned char yushezhi = 50; //設定土壤濕度預設值 extern shidu; void baojing(void) { if (shidu < yushezhi) { led = 0; bell = 0; } else { led = 1; bell = 1; } } 參考文獻 [1]廣州奧松電子有限公司.數字溫濕度傳感器DHT11[G],2008. [2]北京雁凌電子有限公司.土壤濕度傳感器YL-69[G],2008. [3]穆秀春,馮新宇,王宇. Altium Designer原理圖與PCB設計[M]. 北京:電子工業(yè)出版社, 2011. [4]陳純,卜佳俊,俞琦. 分布式傳感網絡前沿技術及實時應用[J]. 國際學術前沿,2010,10(2): 50-53. [5]孫利民,李建中,陳渝,等. 無線傳感器網絡[M]. 北京:清華大學出版社,2005. [6]李建中,高宏. 無線傳感器網絡的研究進展[J].計算機研究與發(fā)展,2008,45(1):1-15. [7]IEEE 802.11 WLAN Task Guoup. Part 11:Wireless LAN Medium Access Control(MAC) and Physical Layer(PHY) Specifications[S],1999. [8]蔡紹濱.無線傳感器網絡關鍵技術的研究與應用[M].哈爾濱:哈爾濱工業(yè)大學出社.2011. [9]中科院沈陽自動化所.工業(yè)無線網[EB/OL].http://www.industrialwireless.cn/,2011-10-2. [10]王漫,無線傳感器網絡相關技術進展 [EB/OL]. (2010-6-5)[2012-2-20].http://www.doc88. com/p-929298678971.html [11]陳桂友. 增強型8051單片機實用開發(fā)技術[M].北京:北京航空航天大學出版社,2010: 6-7. [12]華成英,童詩白.模擬電子技術基礎[M].北京,高等教育出版社:2006. [13] Dallas Semiconductor.DS18B20 High-Precision 1-Wire Digital Thermometer[G],2008. 致謝 本論文是在我的導師張杏平老師的親切關懷和悉心指導下完成的。從課題的選擇到設計論文的最終完成,張老師都始終給予我細心的指導和不懈的支持。在大學受教期間,張老師不僅在學業(yè)上給我以精心指導,同時在生活上給我親切的關懷。張老師豐富的知識面、見微知著的洞察力、嚴謹的治學態(tài)度和永不懈怠的工作作風令我深受感染并受益匪淺。在此對我的導師致以崇高的敬意和衷心的感謝! 感謝和我同窗一起奮斗的諸位好友,是他們在我的設計過程中和我一起探討問題,并指出我設計上的誤區(qū),使我及時發(fā)現問題并改正,沒有他們的支持我不可能有這么順利地完成任務,在此表示深深的謝意。 感謝我的家人,他們是我的堅強后盾!感謝他們對我的默默支持和無私的付出! 最后要感謝嘉應學院給我提供良好的學習環(huán)境,讓度過人生中難忘的大學四年時光,祝母校蒸蒸日上!- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 畢業(yè)論文 模板 基于 單片機 自動 灌溉系統
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://appdesigncorp.com/p-6402926.html