畢業論文-基于單片機的智能澆花系統的設計與實現_第1頁
畢業論文-基于單片機的智能澆花系統的設計與實現_第2頁
畢業論文-基于單片機的智能澆花系統的設計與實現_第3頁
畢業論文-基于單片機的智能澆花系統的設計與實現_第4頁
畢業論文-基于單片機的智能澆花系統的設計與實現_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

大連東軟信息學院本科畢業設計(論文)論文題目論文題目:基于單片機的智能澆花系統的設計與實現系所:電子工程系專業:電子信息工程(嵌入式系統工程方向)學生姓名:學生學號:1指導教師:導師職稱:講師完成日期:2014年5月2日a大連東軟信息學院DalianNeusoftUniversityofInformation大連東軟信息學院畢業設計(論文)摘要IV基于單片機的智能澆花系統的設計與實現摘要隨著科學的不斷發展和人們生活水平的不斷進步,人們對于生活質量的要求也越來越高,花草養殖成為了家庭生活中的一部分,人們養殖花草的目的大多是為了陶冶情操和提高室內外的空氣質量等等,但由于工作繁忙等原因,不能按時給花草澆水成為了花卉死亡的主要原因。本文利用AT89C51單片機設計了一種自動澆花控制系統,此系統可為人們解決因工作等原因無法按時為花卉澆水的問題,以便于花卉茁壯成長。本設計采用匯編語言進行編程,在LED液晶屏上實現小時,分,秒的顯示;并利用單片機來實現計時,定時功能,同時通過4個按鍵開關來實現參數設置和調節功能、澆花間隔時間的設定、澆水持續時間的設定、單片機對電磁閥的自動控制。根據用戶設定的時間順利的完成澆花任務。關鍵詞:單片機,控制,顯示,電磁閥大連東軟信息學院畢業設計(論文)AbstractDesignandimplementationoftheIntelligent

ControlSystemforWateringtheFlowers

basedonsinglechipmicrocomputerAbstractWiththecontinuousdevelopmentofscienceandthepeoplelifelevelofprogress,peoplefortherequirementsofthelifequalityismoreandmorerigorous,plantsbreedingbecomepartofthefamilylife.Thepurposesofpeoplebreedingplantsarefortheedifysentimentandimprovetheindoorandoutdoorairqualityandsoon.Becauseofthebusyjobsandotherfactors,theinabilitytowatertheflowersandplantsbecomethemaincauseofdeath.Inthispaper,AT89C51single-chipmicrocomputerdesignedakindofautomaticwateringtheflowerscontrolsystem.Thesystemcanworkforpeoplewhocannotwatertheflowersontime,sothattheflowerscangrowstrengthandhealthy.Thisdesignusestheassemblylanguagesprogramming,realizinghours,points,seconddisplayonLED;Andusingsinglechipcomputertorealizethetiming,timingfunction,andatthesametimethroughfourbuttonswitchestoachieveparametersettingandadjustmentfunction,thewatertheflowersoftheintervaltimeset,thedurationofwaterwiththechipset,solenoidvalvetobeautomaticcontrol.Accordingtouserssettingtimedonesmoothlythetaskofwateringtheflowers.Keywords:MCU,control,display,solenoidvalve大連東軟信息學院畢業設計(論文)目錄目錄TOC\o"1-3"\u摘要 IAbstract II第1章緒論 11.1課題研究背景與意義 11.2課題研究內容與方法 11.3課題研究現狀 2第2章關鍵技術介紹 42.1單片機介紹 42.2繼電器的工作原理和特性 4第3章系統需求分析 53.1系統設計目標 53.2系統功能需求 53.2.1單片機最小系統 53.2.2顯示模塊 53.2.3電機驅動模塊 53.2.4按鍵模塊 63.2.5AD轉換模塊 63.3系統非功能需求 63.4系統開發環境 63.5系統可行性分析 6第4章系統設計 74.1系統設計指導原則 74.2體系結構設計 74.3硬件設計 74.3.1STC89C52單片機介紹 74.3.2單片機最小系統 94.3.3復位電路 94.3.4時鐘電路 104.3.5AD轉換模塊 104.3.6顯示模塊 124.3.7水泵驅動模塊 134.4軟件設計 144.4.1主程序流程及相關說明 144.4.2輸入模塊 154.4.3AD轉換程序 16第5章系統實現 185.1環境配置 185.2功能模塊實現 195.2.1主函數實現 195.2.2LCD1602數據讀取函數實現 205.2.3延遲函數實現 22第6章系統測試 246.1測試概述 246.2測試結果分析 24第7章結論 25參考文獻 26致謝 27大連東軟信息學院畢業設計(論文)-第1章緒論1.1課題研究背景與意義隨著社會生活的進步,人們的生活質量越來越高。在家里養盆花可以陶冶情操、豐富生活。同時,盆花通過光合作用可吸收二氧化碳,凈化室內空氣,在有花木的地方空氣中陰離子聚積較多,所以空氣也特別清新,而且有許多花木還可吸收空氣中的有害氣體,因此,養盆花如今被許多的人所喜愛。盆花澆水量是否能做到適時適量,是養花成敗的關鍵。但是,在生活中人們總是會有無暇顧及的時候,比如工作太忙或者出差、旅游等。盆花生產問題大部分是由于對花兒澆灌的錯誤時間引起的。盆花的長勢主要的決定因素是水的控制。盆花的生長的茂盛也是家庭沒好的裝飾。雖然目前市面上有賣盆花自動澆水器的,但價格十分的昂貴,并且大多只能設定一個定時澆水的時間,很難做到給盆花適時適量澆水。也有較經濟的盆花缺水報警器,可以提醒人們及時的給盆花澆水。可是這種報警器只能報警,澆水還是需要人們親自動手。當家里無人時,即使報警也無人澆水,就起不到應有的作用了。因此,我想通過設計一種盆花土壤濕度檢測,蓄水箱自動供水于一體的盆花自動澆水系統。讓盆花在人們無暇照顧時也能得到及時的澆灌。1.2課題研究內容與方法本次畢業設計是設計一種單片機控制的自動澆水系統,實現室內盆花澆水的自動化系統。該系統可對土壤的濕度進行監控,并對作物進行適時、適量的澆水。其核心是單片機和濕度傳感器以及澆水驅動電路構成的檢測控制部分。軟件選用C51語言編程。土壤濕度傳感器可將檢測到的土壤濕度模擬量放大轉換成數字量通過單片機內程序控制精確的將濕度顯示在LCD顯示屏上,同時通過單片機程序判斷是否要給盆花澆水,若需澆水,則單片機系統發出澆水信號,并經放大驅動設備,開啟電磁閥進行澆水,若不需澆水,則進行下一次循環檢測。自動澆花器要實現的具體任務:1、采用STC89C52單片機為主控芯片,外接土壤濕度傳感器、AD轉換芯片、水泵驅動芯片、水泵、1602液晶顯示器、按鍵。2、使用土壤濕度傳感器實時監測土壤濕度,通過AD轉換芯片轉成數字信號給單片機,單片機將濕度顯示在顯示器上。3、用戶可通過按鍵自行調節濕度下限,當傳感器監測的濕度值低于設定的濕度下限時,啟動繼電器,開啟水泵,抽水澆花5S鐘。4、因澆花后水分需要滲透一定時間,等待1分鐘后,再次檢測當前土壤濕度值是否低于設定下限,如果還低于下限,則啟動水泵再次澆花5S鐘,如果不低于下限,則不再澆花,等待下次再低于下限時澆花,依次循環。1.3課題研究現狀微噴系統是近幾年利用國內外先進技術組裝的新型灌溉設施,主要是利用水流通過低壓管道系統以一定速度從特制的噴頭噴出,在空氣中分散成細小的水滴,著落在花草植物、作物及周圍的地面上,從而達到及時補充水分的目的。該系統具有用水量少、沖擊力小的灌溉特性,適用于栽培密度大、植株柔軟細嫩的植物。自動澆花器的誕生是隨著人們生活水平的提高和生活節奏的加快而誕生的一種懶人園藝用品。它把微噴的概念應用于家庭盆花澆灌中,通過相應的改進,達到合理給盆花自動澆水的目的。早在很多年前,國外就已經開始普及,國內使用的電子類自動澆花器多數從國外進口的,價格昂貴,但質量比較可靠。不過這并不太適用于國內,目前國內外比較流行的是玻璃制作的自動澆花器。這種類型的澆花器多數在我國山西和浙江一帶加工生產的,價格比較低廉,實用性沒有電子類自動澆花器好。隨著國內居民消費水平和生活質量的提高,居家園藝市場異常火爆,但是由于生活節奏加快,種花容易養花難的問題暴露出來,而養花最重要的問題就是澆水問題,研究表明花草80%以上的死亡由于澆水不及時引起,因此國內商家已經看到了這種需求潛力。目前這類小居家用品的廠家主要集中在廣東,上海,浙江一帶。現在市面上所出售的自動澆花器主要有以下幾類:(1)電子類自動澆花器電子類自動澆花器又叫時控噴淋裝置,系統構成為:主機(或者控制器)、主管(可以是花園管也可以是4/7mm的微噴淋管)、分水接頭(3通、4通、5通、6通、分水器)、副管(3/5mm)噴淋管(霧化噴頭、旋轉噴頭、折射霧化噴頭等)。電子類自動澆花器根據電源的不同分為交流電自動澆花器和電池自動澆花器兩種。控制器的一般性能有:電磁閥控制;智能時控電路?微電腦芯片控制;適用電源為AC220V/50HZ;最適宜水壓0.3-0.6Mpa;待機功率(4VA,澆水時<12VA);可控制連續作業時間是1分鐘至168個小時;可每天自動完成十次以上澆水作業,可每天、隔天、隔多天自動循環進行澆水,手動自動兩用;每天計時誤差小于正負3秒;電器適應環境溫度為-10~50℃;相對濕度<90%RH。(2)玻璃、陶瓷類自動澆花器玻璃、陶瓷類自動澆花器又叫自動滲水裝置,它由本身材質的物理結構構成,根據器具的物理滲水原理完成自動澆灌,當自動澆水器內部存水,自身形成一定的壓力,當遇到干燥的土壤,水就會自上而下的流出,當土壤濕潤以后,會形成一個堵塞壓力,從而導致水流速度變慢或者停止。器具工藝不同,效果也不一樣,當然也因土壤的疏松情況決定器具內水流的速度。當前傳感器技術與單片機技術發展迅速,其應用逐步由工業、軍事等領域向其他領域滲透,已經和我們的日常生活息息相關。而且智能家居概念也越來越受人們的推崇,因此,微電腦控制的電子類自動澆花系統有很好的發展前景。大連東軟信息學院畢業設計(論文)第2章關鍵技術介紹2.1單片機介紹STC89C52系列帶A/D轉換的單片機的A/D轉換口在(P1.7-P1.0),有8路10位高速A/D轉換器,速度可達到250KHz(25萬次/秒)。8路電壓輸入型A/D,可做單個按鍵檢測、多個按鍵檢測等。供給工作電壓后進行復位,然后P1的I/O口為弱上拉,使用者可以通過編程設置把8路通道中的每一個設定為A/D轉換模式,不用作A/D轉換使用的I/O口可以仍舊作普通I/O口工作。STC89C52系列單片機ADC模塊包括多通道選擇開關、信號比較器、逐級比較寄存器、10位數模轉換器、結果寄存器(ADC_RES及ADC_RESL)以及ADC_CONTR控制寄存器。STC89C52系列單片機的ADC模式是逐級比較型ADC。逐級比較型ADC由一個比較器模塊和數/模轉換器構成,經過逐級比較方式,由最高位(MSB)開始,依次地將每一個輸入模擬電壓與內部的數/模轉換器輸出進行比較計算,經過幾次比較后,轉換后得到的數字數據逐次貼近輸入的模擬量對應值。逐級比較型A/D轉換器不但速度迅速,而且功耗超低,性能卓越。2.2繼電器的工作原理和特性繼電器屬于一種電子類的控制元件,它含有輸入回路即控制系統和輸出回路即被控制系統,生活中主要應用于自動控制系統中,它實際的理念就是用弱電流來控制強電流的一種“可控開關”。所以在電子電路中發揮著電路保護、自動調節、電動開關等作用。1.電磁感應繼電器設計原理和功能特性電磁式繼電器通常是由觸點簧片、銜鐵、線圈、鐵芯等元件組成的。工作時在線圈兩端加上適當的電壓,就會有固定的電流流過線圈,這時候就會產生電磁感應,在電磁吸引力的作用下銜鐵就可以克服彈簧的彎曲形變從而吸向鐵芯這邊,使得銜鐵的動觸點與常開觸點接觸。線圈兩端的電壓消失后,電磁場的吸引力也立即消失,銜鐵就會順著彈簧的彈性形變返回成原來的形狀,重新讓動觸點和原來的常閉觸點吸合。如此這樣的吸合釋放,就能夠達到在電路中導通電流、切斷電流的目的。繼電器的常開端接觸點和常閉端接觸點可以通過以下方式區分:未通電時的繼電器線圈是斷開狀態下的靜觸點,也稱作“常開觸點”;在接通狀態下的靜觸點稱作“常閉觸點”。第3章系統需求分析3.1系統設計目標本設計利用STC89C52單片機設計了自動澆花器,利用土壤濕度傳感器檢測花卉(也可以用于蔬菜等)的濕度,采集的濕度通過AD轉換傳送到單片機芯片,單片機根據濕度控制是否澆水,如果需要澆水,單片機的一個引腳置高電平,給水泵驅動芯片信號,打開水泵抽水,實現自動澆水。設計還配有一塊LCD1602液晶顯示器,用于顯示土壤濕度數值和設定用戶濕度值。系統配有4個獨立按鍵輔助設定濕度下限值。自動澆花器方框圖如圖1.1所示。AD轉換電路AD轉換電路(ADC0809)單片機的最小系統模塊(STC89C52RC單片機、12MHZ晶振和復位電路)顯示模塊(LCD1602顯示器)輸入模塊(獨立按鍵)水泵驅動模塊(ULN2003)圖1.1自動澆花器總體設計框圖3.2系統功能需求3.2.1單片機最小系統單片機系統是系統控制的核心,主要是控制系統的相應的各個相關傳感器和功能模塊。單片機最小系統的主要是由單片機、復位電路和時鐘電路組成。單片機主要是存儲程序和控制芯片,并判斷傳感器的信號,控制功能模塊根據不同的條件,執行不同的動作。復位電路和時鐘電路給單片機提供時鐘復位信號,單片機在運行的過程中,在環境的影響,可能導致系統無法運行。需要復位電路提供復位信號,重啟程序,保證系統重新運行。3.2.2顯示模塊顯示模塊主要的功能顯示當前濕度、設置最低濕度進行澆水。本系統顯示模塊需要能夠顯示設置的參數的提示和最終結果顯示。所以要采用LCD1602液晶顯示屏,設置參數過程中,較為復雜,為了實現系統的市場化和大眾化,采用LCD1602可以充分提示使用者完成設置過程。3.2.3電機驅動模塊步進電機是系統執行動作的主要部分,實現系統功能的關鍵。它的動作直接影響到系統功能。步進電機是一款主要是在單片機在收到了雨水傳感器的信號以后進行相應的動作。步進電機的優點是控制動作小,單片機系統大部分是進行比較精細的控制,所以步進電機是單片機進行機械控制的首選。由于單片機的工作電壓和電流較小,為了保證系統的安全,采用驅動電路的方法進行驅動電機。3.2.4按鍵模塊按鍵模塊主要是設置系統參數,本系統的濕度最低參數可以設置的。通過按鍵的設置,就可以根據植物的類型就行澆水。3.2.5AD轉換模塊轉換模塊主要是將傳感器的模擬信號,轉換成單片機能夠是別的餓數字信號。系統中采用的濕度傳感器,得出的信號是模擬信號,這時候就需要AD轉換器將模擬信號進行轉換AD轉換器。3.3系統非功能需求(1)性能本系統主要是實現自動澆花功能。系統在實現澆花功能的過程中,要保證系統的穩定和可靠性。主要表現在兩個方面:第一是系統具有穩定性,系統在使用過中是針對所有室內養花的人們,根據他們的環境,保證在此環境中,系統不會出現死機等情況。第二是系統具有良好的人機交互界面,根據此類人的需求開發出一個可以調節澆花時間,澆水量和監控準確的系統。3.4系統開發環境硬件環境:450*2MHZ/40G/1024MB/40G/軟件環境:WINDOWSXP/keil3.5系統可行性分析本系統具有可靠性高,采用市面最流行STC89C52單片機,使用最簡單電路實現最復雜功能。電路越簡單故障點越少,穩定性越高。具有性能價格比高,本設計電路簡單減去不必要的成本,減去電路板設計過程中的過多冗余設計。其功能完備,操作簡便,高度人性化。模塊化設計,根據本系統是用于自動澆花的這一應用目的,系統盡量使用模塊化設計,實現模塊化積木式組合與拆分的功能,便于以后的升級換代,減少二次投資,可以滿足家庭使用的重要性和復雜度以及使用對象對功能和價格的選擇。第4章系統設計4.1系統設計指導原則本系統的設計理念是本著簡單可靠實用的基本原則,力求該系統可以使直流電機的轉速做到很好的控制,可以具體實現加速、減速等一系列的功能。該系統從設計上要求方便,從操作上可以更加的簡單明了。從占用系統的資源上堅持做到最小。從細節上要求做到盡善盡美。從實現上要求做到準確并且快捷。從系統上要求做到安全可靠。一切從可靠實用的角度出發。力求要將此做成一套完美的自動澆花系統。4.2體系結構設計系統硬件部分由核心控制模塊、按鍵輸入模塊、水泵驅動模塊、顯示模塊、A/D轉換電路組成,硬件系統總電路圖如圖2.1所示。核心控制模塊由STC89C52RC芯片、復位電路、時鐘組成;輸入模塊由4個獨立按鍵組成;水泵驅動模塊由ULN2003達林頓芯片組成,顯示模塊由LCD1602構成,濕度數據采集和A/D轉換由ADC0809芯片完成。圖4.1系統原理圖4.3硬件設計4.3.1STC89C52單片機介紹STC89C52是一種功耗低、高性能CMOS8位的微控制器,具有8K的系統可編程Flash存儲器。利用的是Atmel公司高密度非易失性存儲器技術制造,和工業80C51產品指令和引腳屎完美兼容的。片上Flash可以允許程序存儲器在系統中可編程,亦適用于常規的編程器。在單芯片上,擁有靈活的8位CPU和在系統可編程Flash,使得STC89C52為眾多數嵌入式控制的應用系統提供高靈活、超有效的解決方案。STC89C52具有以下標準功能:8k字節Flash,256字節RAM,32位I/O口線,看門狗定時器,2個數據指針,三個16位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,STC89C52可降至0Hz靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。STC89C52采用40引腳的雙列直插封裝(DIP方式)。主電源引腳Vcc和Vss,Vcc(40腳):接+5V電壓;Vss(20腳):接地。外接晶體引腳XTAL1和XTAL2STC89C52的引腳圖如圖4.2所示。各引腳的具體說明如下:VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P0口的管腳第一次寫1時,可被定義成為高阻輸入。P0能夠用于外部的程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程的時候,P0口作為原碼的輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內部提供上 拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在地址是1即高電平的情況下,它利用內部上拉的特點,它對外部八位地址數據存儲器進行讀寫,P2口輸出特殊功能寄存器的內容。P2口在編程和校驗是接受的是高八位的地址和控制信號。XTAL1是接外部晶體中的一個引腳。在單片機的內部,它是構成片內振蕩器的反相放大器的輸入端。當外部振蕩器被采用時,該引腳立刻接收振蕩器的信號,內部時鐘發生器的輸入端被接入此信號中。XTAL2接外部晶體的另一個引腳。根據單片機的內部,它是上述振蕩器所指的反相放大器的輸出端。采用的是外部振蕩器時,此引腳應是懸浮而不連接。選用12MHz頻率的晶體,允許輸入的脈沖頻率為500kHz。電容的大小范圍為20pF~40pF。具體的電路連接如圖5.1所示。4.3.2單片機最小系統單片機是整個系統的核心,控制著整個系統的運行,單片機最小系統由晶振電路、復位電路組成,如圖2.6所示。圖4.2單片機最小系統原理圖4.3.3復位電路單片機的置位和復位,都是為了把電路初始化到一個確定的狀態,一般來說,單片機復位電路作用是初始化狀態到空狀態,而在單片機內部,復位的時候單片機是把一些寄存器以及存儲設備裝入廠商預設的一個值。單片機復位電路原理是在單片機的復位引腳RST上外接電阻和電容,實現上電復位。當復位電平持續兩個機器周期以上時復位有效。復位電平的持續時間必須大于單片機的兩個機器周期。具體數值可以由RC電路計算出時間常數。復位電路由按鍵復位和上電復位兩部分組成。(1)上電復位:AT89系列單片機為高電平復位,通常在復位引腳RST上連接一個電容到VCC,再連接一個電阻到GND,由此形成一個RC充放電回路保證單片機在上電時RST腳上有足夠時間的高電平進行復位,隨后回歸到低電平進入正常工作狀態,這個電阻和電容的典型值為10K和10uF。(2)按鍵復位:按鍵復位就是在復位電容上并聯一個開關,當開關按下時電容被放電、RST也被拉到高電平,而且由于電容的充電,會保持一段時間的高電平來使單片機復位。4.3.4時鐘電路單片機系統里都有晶振,晶振用一種能把電能和機械能相互轉化的晶體在共振的狀態下工作,以提供穩定,精確的單頻振蕩。在單片機系統里晶振作用非常大,全名叫晶體振蕩器,它結合單片機內部電路產生單片機所需的時鐘頻率,單片機晶振提供的時鐘頻率越高,那么單片機運行速度就越快,單片接收的一切指令的執行都是建立在單片機晶振提供的時鐘頻率之上。晶振的作用就是提供系統的基本時鐘信號,系統中正常只有一個晶振。便于各部分的同步。但通信系統的有時基頻和射頻頻率不同,可以通過電子的方法進行調頻的方法進行同步。51系列的單片機通常使用12MHz的晶體振蕩器作為振蕩源,由于單片機內部帶有振蕩電路,所以外部只要連接一個晶振和兩個電容即可,電容容量一般在15pF至50pF之間。4.3.5AD轉換模塊ADC0809的內部結構如下圖所示,ADC0809的內部結構室由8路模擬開關、比較器、地址鎖存器樹狀開關、256電阻階梯、逐次逼近式寄存器SAR、控制電路和三態輸出鎖存器組成。圖4.3ADC0809內部結構ADC0809在模數轉換過程中的控制時序圖如圖4.4所示:圖4.4ADC0809控制時序ADC0809工作原理:當單片機端的P3.3接低電平時,可以使兩個非門打開。(1)當模擬量送到某一輸入通道后,CPU將標識這個通道編碼的三位地址中的信號經數據線或地址線輸入到ADDB、ADDC、ADDA引腳上。(2)地址鎖存中允許ALE鎖存地址信號,啟動命令START啟動A/D轉換。(3)轉換開始時,EOC變低電平,轉換結束,EOC變為高電平。EOC可作為中斷請求信號。(4)轉換結束之后,可以通過執行IN指令,設法在輸出允許OE腳上形成一個正脈沖,打開三態緩沖器把轉換的結果輸入到DB,一次A/D轉換便完成。AD轉換電路,本設計中AD轉換模塊如圖2.12所示,土壤濕度傳感器接入ADC0809的26引腳,作為IN-0通道輸入,由于本設計目前只測量一路濕度數據故地址控制線固定為000,即23、24、25引腳接地,ADC0809的控制引腳EOC、START、OE、CLK引腳分別接入單片機的IO引腳,起到控制目的,ADC0809的數據引腳接入單片機的P1口,進行數據傳輸,當土壤濕度值變化時,其土壤之間的電阻會產生變化,通過濕度傳感器測量一段距離內土壤的電阻值,即可對當前土壤濕度進行計算,再將數據進行AD轉換,接入到單片機內,進行數據處理和顯示。圖4.5AD轉換模塊電路圖4.3.6顯示模塊LCD12832是內置控制器的128×32點陣式液晶顯示屏,通過對控制器的編程可以實現液晶顯示屏的各種顯示應用。LCD12832特點如下。可以顯示數字、字母、特殊字符、圖形和漢字等;具有七種指令。顯示內容為128列32行,全屏幕點陣。IC內部自帶了8139個16×16點陣中文字庫和126個16×8字母符號,并提供4個16×16點陣的自定義字功能,與CPU接口采用8位數據總線并行輸入輸出和8條控制線。功耗低,最大工作功耗為15mW。工作溫度:-10℃~+55℃,存儲溫度:-20℃~+60℃。LCD和單片機組合是現在市場上非常流行的一種組合。本系統選用C8051F040主要是因為它使用的高速、流水線結構CIP-51內核(兼容8051)。C8051F040為C8051F系列比較典型的一款芯片,也是基于8051類單片機開發的比較高端的芯片。所以這個系統代碼及設計兼容性極好。而且C8051F040作為比較高端的芯片有很大的開發潛能。LCD是一款擁有強大顯示能力的顯示屏,在嵌入式系統中得到廣泛的應用。LCD顯示屏模塊自有操作指令,而且外部接口簡單,對于設計非常簡單。12832是一款可以顯示漢字的比較基礎的顯示屏,性價比在同理商品中最高的。本系列液晶顯示模塊向用戶提供了11條指令,晶模塊內部中的控制器一共有11條控制指令,指令表如下:表4.1LCD1602控制指令表另外,在每次訪問模塊之前,MPU應首先檢測忙標志BF,確認BF=0后,訪問過程才能進行。序號指令RSR/WD7D6D5D4D3D2D1D01清顯示,DDRAM存入20H,光標至左上角,AC清零00000000012光標返回,DDRAM內容保持,AC清零000000001*3置輸入模式00000001I/DS4顯示開/關控制0000001DCB5光標或字符移位000001S/CR/L**6置功能00001DLNF**7置字符發生存貯器尋址0001字符發生存貯器地址8置數據存貯器尋址001顯示數據存貯器地址9讀忙標志或地址01BF計數器地址10寫數到CGRAM或DDRAM)10要寫的數據內容11從CGRAM或DDRAM讀數11讀出的數據內容4.3.7水泵驅動模塊本系統的澆花器通過傳感器得到數據,通過控制水泵抽水來控制傳感器所處的環境。水泵屬于直流電機,為了驅動水泵,我們使用了ULN2003作為電機驅動芯片。ULN2003的NPN達林頓連接晶體管是低邏輯電平數字電路(如TTL,CMOS或PMOS/NMOS)和大電流高電壓所要求的燈、打印機錘、繼電器、和其他類似負載之間的接口中的理想器件。在計算機中廣泛被運用,在消費和工業類產品中。所有的器件都有集電極開路的輸出和用于瞬變抑制它的續流箝位二極管。ULN2003的實現和設計與標準TTL系列兼容。它的管腳連接圖如圖4.6所示。ULN2003芯片概述與特點:ULN2003芯片是高耐壓、大電流達林頓陣列,由7組達林頓晶體管陣列和相應的電阻網絡以及鉗位二極管網絡構成,具有同時驅動7組負載的能力,為單片雙極型大功率高速集成電路。功率電子電路絕大多數要求具有大的電流輸出能力,驅動各種類型的負載從中都得到便利。功率的驅動電路是功率電子設備輸出電路的一個重要組成部分。ULN2003芯片高壓大電流達林頓晶體管陣列產品屬于可控大功率器件。本系統有一個直流電機,故用該芯片7個控制端的其中兩個。該系統驅動原理圖如圖4.7所示:圖4.6ULN2003引腳圖圖4.7電機驅動模塊電路圖4.4軟件設計4.4.1主程序流程及相關說明KeilμVision3是2006年ARM推出的軟件開發工具,支持ARM7、ARM9和最新的Cortex-M3核處理器,自動配置啟動代碼,集成Flash燒寫模塊,強大的Simulation設備模擬,性能分析等功能。程序在開發工具Keil_uVision3上進行設計與編譯,自動澆花器工作流程圖如圖3.1所示。上電后進行數據初始化,顯示器初始化,啟動數據轉換,判斷濕度值和按鍵掃描。自動澆花器工作過程:首先,進行AD數據轉換,采集當前濕度數值,顯示到顯示器上,程序循環掃描設定按鍵是否被按下,當按鍵按下時,進入設定模式,設定濕度值下限,返回到測量程序后,程序循環掃描當前濕度值是否小于設定的濕度值下限,若小于下限,則啟動水泵進行澆花,澆花后等待水分滲透一分鐘,再繼續對比當前濕度和測量濕度,如還小于下限值則再澆花,如不小于設定濕度值,則不再澆花,繼續測量,待測量濕度值再次小于設定濕度值下限時再啟動澆花,循環進行。圖4.8自動澆花器主程序流程圖4.4.2輸入模塊當設定鍵(按鍵1)按下后,進入設定模式,在設定模式下,按2鍵,設定濕度值+10%,按3鍵,設定濕度值-10%,按4鍵返回主程序。工作流程如圖4.10所示。圖4.9輸入模塊流程圖4.4.3AD轉換程序系統啟動ADC0809對模擬量輸入信號進行轉換,通過判斷濕度來確定轉換是否完成,若濕度為0則繼續等待;若EOC為1,則把濕度置位,將轉換完成的數據存儲到70H中。程序流程圖如圖4.10圖4.10A/D轉換流程圖大連東軟信息學院畢業設計(論文)第5章系統實現5.1環境配置在Keil軟件中設置產生HEX文件,并將晶振頻率設為12MHZ,如圖5.1所示,然后進行編譯。圖5.1KEIL3設置截圖打開STC_ISP_V488軟件,選擇單片機類型為STC89C52RC,選擇串行口為COM1,設置波特率為115200B,單擊下載按鈕,之后重啟系統。測試自動澆花器能否達到預期效果,若能實現預期目標則調試結束,否則修改相應程序后重復步驟1和步驟2,直到能實現預期目標。TC_ISP_V488軟件操作界面如圖5.2所示。圖5.2調試軟件界面使用說明:先將傳感器、水泵、電池盒接入到主系統板上,將傳感器插入到花盆土壤中,將水泵潛入到儲水罐里,將水泵出水膠管放入到花盆傳感器附近,打開電池盒上的開關,系統供電正常時,液晶顯示器會顯示當前測量的土壤濕度值,按設定鍵進入設定模式,并在設定模式里按2鍵和3鍵進行設定濕度的加減,待設定完成后,按4鍵返回到測量模式,在測量模式中,判斷當前測量濕度如果小于設定濕度值,則啟動水泵澆花。5.2功能模塊實現5.2.1主函數實現voidmain(void) //主函數{ SB=0; //水泵關閉 Time_0init(); //定時器初始化 LCMInit();//LCM初始化while(1) { DisplayListChar(1,0,"Moisture");//第一行顯示 qidong();//ad轉換啟動 DisplayListChar(1,1,"Set:");//第2行顯示 DisplayOneChar(5,1,s_moi/100+0x30);//顯示設置濕度百位 DisplayOneChar(6,1,(s_moi/10%10)+0x30); //顯示設置濕度十位 DisplayOneChar(7,1,(s_moi%10)+0x30);//顯示設置濕度個位 DisplayOneChar(8,1,'%'); DisplayOneChar(9,1,''); DisplayOneChar(11,1,min+0x30);//顯示設置分鐘 DisplayOneChar(12,1,':'); DisplayOneChar(13,1,sec/10+0x30);//顯示設置秒 DisplayOneChar(14,1,sec%10+0x30);//顯示設置秒 Delay400Ms();//延時400ms if(temp2<s_moi) //測量濕度小于設置濕度(花太干了) { if(flag==0) //判斷澆水標志位=0才能澆水,在澆花后滲透的時間里如果干也是不澆水的(滲透1min完,標志位會在中斷里清零) { SB=1;//啟動水泵 delay();//延時澆水 delay(); SB=0;//關閉水泵 min=1;//滲透1分鐘 sec=0; TR1=1; //開始計時 flag=1; //澆水標志位=1,不能再澆水,(滲透1min完,標志位會在中斷里清零) } } if(key1==0)//按鍵1按下 { set();//設置 } } }5.2.2LCD1602數據讀取函數實現/********1602底層驅動函數“寫數據”,底層函數不用讀懂每句話意思,直接拿函數放到程序里應用****************/voidWriteDataLCM(ucharWDLCM){ ReadStatusLCM();//檢測忙 LCM_Data=WDLCM; LCM_RS=1; LCM_RW=0; LCM_E=0;//若晶振速度太高可以在這后加小的延時 LCM_E=0;//延時 LCM_E=1;}/********1602底層驅動函數“寫指令”,底層函數不用讀懂每句話意思,直接拿函數放到程序里應用****************/voidWriteCommandLCM(ucharWCLCM,BuysC)//BuysC為0時忽略忙檢測{ if(BuysC)ReadStatusLCM();//根據需要檢測忙 LCM_Data=WCLCM; LCM_RS=0; LCM_RW=0; LCM_E=0; LCM_E=0; LCM_E=1;}/********1602底層驅動函數“讀狀態”,底層函數不用讀懂每句話意思,直接拿函數放到程序里應用****************/ucharReadStatusLCM(void){ LCM_Data=0xFF; LCM_RS=0; LCM_RW=1; LCM_E=0; LCM_E=0; LCM_E=1; while(LCM_Data&Busy);//檢測忙信號 return(LCM_Data);}/********1602底層驅動函數“初始化”,底層函數不用讀懂每句話意思,直接拿函數放到程序里應用****************/voidLCMInit(void){ LCM_Data=0; WriteCommandLCM(0x38,0);//三次顯示模式設置,不檢測忙信號 Delay5Ms(); WriteCommandLCM(0x38,0); Delay5Ms(); WriteCommandLCM(0x38,0); Delay5Ms(); WriteCommandLCM(0x38,1);//顯示模式設置,開始要求每次檢測忙信號 WriteCommandLCM(0x08,1);//關閉顯示 WriteCommandLCM(0x01,1);//顯示清屏 WriteCommandLCM(0x06,1);//顯示光標移動設置 WriteCommandLCM(0x0C,1);//顯示開及光標設置}/********1602底層驅動函數“顯示一個字符”,底層函數不用讀懂每句話意思,直接拿函數放到程序里應用****************/voidDisplayOneChar(ucharX,ucharY,ucharDData){ Y&=0x1; X&=0xF;//限制X不能大于15,Y不能大于1 if(Y)X|=0x40;//當要顯示第二行時地址碼+0x40; X|=0x80;//算出指令碼 WriteCommandLCM(X,0);//這里不檢測忙信號,發送地址碼 WriteDataLCM(DData);}/********1602底層驅動函數“顯示一串字符”,底層函數不用讀懂每句話意思,直接拿函數放到程序里應用****************/voidDisplayListChar(ucharX,ucharY,ucharcode*DData){ ucharListLength,j; ListLength=strlen(DData); Y&=0x1; X&=0xF;//限制X不能大于15,Y不能大于1if(X<=0xF)//X坐標應小于0xF{ for(j=0;j<ListLength;j++) {DisplayOneChar(X,Y,DData[j]);//顯示單個字符X++;}}}5.2.3延遲函數實現/********延時5ms函數****************/voidDelay5Ms(void){ unsignedintTempCyc=5552; while(TempCyc--);}/********延時400ms函數****************/voidDelay400Ms(void){ ucharTempCycA=4; uintTempCycB; while(TempCycA--) { TempCycB=5269; while(TempCycB--); };}/********延時函數****************/voiddelay(){ uchari,j,z; for(i=0;i<30;i++) for(j=0;j<30;j++) for(z=0;z<255;z++);}大連東軟信息學院畢業設計(論文)第6章系統測試6.1測試概述圖4.1為自動澆花器傳感器及水泵放置圖,將濕度傳感器插入到土壤中,再將水泵出水膠管放在傳感器附近,水泵為5v潛水水泵,不可空轉,將其潛入放在儲水罐中即可。圖4.1自動澆花器傳感器及水泵放置圖6.2測試結果分析圖4.2為自動澆花器主控板實物圖,單片機放在1602液晶顯示器下面,由4節5號電池為系統供電,右側接口上面為傳感器接口,下面為水泵接口,經實際使用測試,符合目標要求。圖4.2自動澆花器主控板實物圖第7章結論到現在為止,電子信息工程的更新進展迅速,科技的不斷變化以及一些新設備的加入。所以嵌入式技術的科技應用被越來越多的人所研究。相對的,對嵌入式做出的東西以及操作方面的需求也越來越多,以至于被推廣。嵌入式產品擁有眾多的功能,它可以應用到人們學習、工作和生活中的任何一個領域里。在各種不同的領域之中所運用的知識越來越多,也越來越廣泛。這就導致了每個嵌入式產品都有所不同。因此,我們不可能要求每個人都以專家級別的標準去了解嵌入式,應用各種不同的自動化功能,來達到方便使用嵌入式產品的目的這就成了快捷的解決的辦法。本課題對STC89C52芯片和AltiumDesigner9軟件,有深入了解,并以此為前提,對整體設計的系統功能,包括軟件和硬件,都有較為深入的思考和探索,進行連續的檢測,終于完成了智能澆花器軟硬件設計與實現。對硬件的設計,通過AltiumDesigner9,完成了以STC89C52作為中心的核心處理模塊的硬件設計,把硬件裝配到電路板上,經過調試和測驗所有功能均以實現并且好用,以達到了設計的要求。對軟件的設計,通過Keil等軟件,完成了對系統軟件的設計,為后來的整體設計打下基礎。如果想讓此系統的功能更加的完備,還需要完成選用更加精確的傳感器,使測量更加準確,更加工業化。對系統的硬件電路作適當精細的刪減和優化,降低系統的功耗。總體上,本次的系統基本上達到了預期

溫馨提示

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

評論

0/150

提交評論