大棚溫濕度采集控制系統(tǒng)_第1頁
大棚溫濕度采集控制系統(tǒng)_第2頁
大棚溫濕度采集控制系統(tǒng)_第3頁
大棚溫濕度采集控制系統(tǒng)_第4頁
大棚溫濕度采集控制系統(tǒng)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

大棚溫濕度采集控制系統(tǒng)摘要本設(shè)計(jì)為基于單片機(jī)的溫濕度檢測控制系統(tǒng),采用模塊化、層次化設(shè)計(jì)。用新型的智能溫濕度傳感器DHT11,主要實(shí)現(xiàn)對溫度、濕度的檢測,將溫度濕度信號(hào)通過傳感器進(jìn)行信號(hào)的采集并轉(zhuǎn)換成數(shù)字信號(hào),再運(yùn)用單片機(jī)STC89C52進(jìn)行數(shù)據(jù)的分析和處理,為顯示提供信號(hào),顯示局部采用字符型LCD1602液晶顯示器顯示所測溫度和濕度值,控制局部采用加濕設(shè)備、除濕設(shè)備、加溫設(shè)備、降溫設(shè)備控制溫濕度的上下。本系統(tǒng)電路簡單、集成度高、工作穩(wěn)定、調(diào)試方便、檢測精度高,具有一定的實(shí)用價(jià)值。關(guān)鍵詞:溫濕度;DHT11;單片機(jī);STC89C52;檢測GreenhouseTemperatureandHumidityControlSystemofCollectionABSTRACTThedesignfortheMCU-basedtemperatureandhumiditytestingsystem,Usingamodular,hierarchicaldesign.TheutilitymodelintelligenttemperatureandhumiditysensorDHT11,themainachievementofthetemperature,humiditymeasurement,thetemperatureandhumiditysignalsthroughthesensorsignalacquisitionandconversionintoadigitalsignal,usingMCUSTC89C52dataanalysisandprocessing,isprovidedfordisplayingsignal,displaypartadoptsthecharacterLCD1602LCDdisplaythemeasuredtemperatureandhumidityvalue.Thissystemhastheadvantagesofsimplecircuit,highintegration,stability,convenientadjustment,highdetectionprecision,andhasacertainpracticalvalue.Keywords:Thetemperatureandhumidity;DHT11;MCU;STC89C52;detection目錄TOC\o"1-4"\h\z\u1緒論11.1選題背景11.2需求分析12總體設(shè)計(jì)22.1控制系統(tǒng)22.2測量局部62.3顯示局部92.4控制局部123系統(tǒng)設(shè)計(jì)133.1硬件設(shè)計(jì)133.2軟件設(shè)計(jì)144總結(jié)與展望16參考文獻(xiàn)18附錄一:設(shè)計(jì)實(shí)物圖19附錄二:程序21致謝38大棚溫濕度采集控制系統(tǒng)1緒論1.1選題背景植被“設(shè)施栽培〞,即“保護(hù)地栽培〞。它是指在某種類型的保護(hù)設(shè)施內(nèi)〔如陽畦、溫室、大棚等〕,人為地創(chuàng)造適宜植被生長發(fā)育的最正確環(huán)境條件,在不同季節(jié)內(nèi),尤其是不利于植被生長的季節(jié)內(nèi)進(jìn)行植被栽培的一種措施。設(shè)施栽培是人類利用自然、改造自然的一種創(chuàng)造。由于設(shè)施內(nèi)的條件是可以人為控制的,使得植被調(diào)節(jié)的周年生產(chǎn)得以實(shí)現(xiàn)。玻璃溫室和塑料薄膜溫室出現(xiàn)后,植被生產(chǎn)出現(xiàn)了劃時(shí)代的變化?,F(xiàn)在人們可以根據(jù)自己的意愿,隨時(shí)生產(chǎn)出所需要的各種植被??梢哉f,這是“設(shè)施栽培〞的功績。在不利于植被生長的自然環(huán)境中,溫室能夠創(chuàng)造適宜植被生長發(fā)育的條件。溫室環(huán)境的調(diào)節(jié)主要包括日光、溫度、濕度三個(gè)方面。·溫度:根據(jù)植被生長的適宜溫度進(jìn)行溫室溫度調(diào)節(jié),假設(shè)低于下限溫度那么采取升溫措施,通常采取電熱增溫和火力增溫等,火力增溫比擬方便。假設(shè)高于上限溫度那么采取降溫措施,通常通過水管降溫和風(fēng)扇降溫,風(fēng)扇降溫比擬方便?!と展猓赫谑a是調(diào)節(jié)日照強(qiáng)度最好的方法,其具體做法是加蓋遮陽網(wǎng)或草席,這種方法兼有降低溫度的效果?!穸龋簽闈M足溫室植被對濕度的要求,可以在地上、臺(tái)階、盆壁灑水,還可以在空中懸掛濕布,以增加水分的蒸發(fā),最好的方法是設(shè)置自動(dòng)噴霧裝置,自動(dòng)調(diào)節(jié)濕度。如果濕度過大,容易導(dǎo)致植被病害,可以采用通風(fēng)的方法來降低濕度,而且最好在室溫與氣溫相差不大的時(shí)候進(jìn)行。本系統(tǒng)注重溫度和濕度的調(diào)節(jié),光照強(qiáng)度沒有考慮其中。1.2需求分析隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否認(rèn)的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向開展。本設(shè)計(jì)所介紹的數(shù)字溫濕度計(jì)與傳統(tǒng)的溫濕度計(jì)相比,具有讀數(shù)方便,測量范圍廣,測量準(zhǔn)確,其輸出溫濕度采用數(shù)字顯示,該設(shè)計(jì)控制器使用單片機(jī)STC89C52,數(shù)字溫濕度傳感器使用DHT11,用LCD1602液晶屏,實(shí)現(xiàn)溫濕度顯示,用加濕設(shè)備、除濕設(shè)備、加溫設(shè)備、降溫設(shè)備控制溫濕度的上下,能準(zhǔn)確到達(dá)以上要求。隨著時(shí)代的進(jìn)步和開展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個(gè)領(lǐng)域,已經(jīng)成為一種比擬成熟的技術(shù),本文將介紹一種基于單片機(jī)控制的數(shù)字溫濕度計(jì),本溫度計(jì)屬于多功能溫濕度計(jì),可以設(shè)置上下報(bào)警溫濕度,當(dāng)溫濕度不在設(shè)置范圍內(nèi)時(shí),可以報(bào)警。2總體設(shè)計(jì)設(shè)計(jì)圖如圖2-1所示:測量局部測量局部控制系統(tǒng)顯示局部控制局部圖2-1總體設(shè)計(jì)框圖2.1控制系統(tǒng)2.1.1STC89C52單片機(jī)簡介STC89C52是單片機(jī)的一個(gè)型號(hào)。STC89C52是一個(gè)低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器〔RAM〕,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的STC89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。STC89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出〔I/O〕端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,STC89C52可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)本錢。8052單片機(jī)的引腳功能MCS-51系列單片機(jī)一般采用40個(gè)引腳,雙列直插式封裝,用HMOS工藝制造,其外部引腳排列如圖2-2所示。其中,各引腳的功能為:圖2-2STC89C52外部引腳圖8052單片機(jī)的引腳⑴主電源引腳Vcc〔40腳〕:接+5V電源正端Vss〔20腳〕:接電源地端一般Vcc和Vss間應(yīng)接高頻去耦電容和低頻濾波電容。⑵外接晶體或外部振蕩器引腳XTAL1〔19腳〕:接外部晶振的一個(gè)引腳。在單片機(jī)內(nèi)部,它是一個(gè)反相放大器的輸入端,這個(gè)放大器構(gòu)成了片內(nèi)振蕩器OSC。當(dāng)采用外部振蕩器時(shí),此引腳應(yīng)接地。XTAL2〔18腳〕:接外部晶振的另一個(gè)引腳。在片內(nèi)接至反相放大器的輸出端和內(nèi)部時(shí)鐘電路的輸入端。當(dāng)采用外部振蕩器時(shí),此腳接外部振蕩器的輸出端。⑶控制信號(hào)線RST/VPD〔9腳〕:復(fù)位信號(hào)輸入端,復(fù)位/掉電時(shí)內(nèi)部RAM的備用電源輸入端ALE/〔30腳〕:地址鎖存允許/編程脈沖輸入。用ALE鎖存從P0口輸出的低8位地址;在對片內(nèi)EPROM編程時(shí),編程脈沖由此輸入。PSEN/〔29腳〕:外部程序存儲(chǔ)器讀選通信號(hào),低電平有效。EA/VPP〔31腳〕:訪問外部存儲(chǔ)器允許/編程電壓輸入。EA為高電平時(shí),訪問內(nèi)部存儲(chǔ)器;低電平時(shí),訪問外部存儲(chǔ)器。對片內(nèi)EPROM編程時(shí),此腳接21V編程電壓。⑷多功能I/O口引腳8052單片機(jī)設(shè)有4個(gè)雙向I/O口〔P0、P1、P2、P3〕,每一組I/O口線都可以獨(dú)立地用作輸入或輸出口,其中:①P0口〔32~39腳〕——雙向口〔三態(tài)〕,可作為輸入/輸出口,可驅(qū)動(dòng)8個(gè)LSTTL門電路。實(shí)際應(yīng)用中常作為分時(shí)使用的地址/數(shù)據(jù)總線口,對外部程序或數(shù)據(jù)存儲(chǔ)器尋址時(shí)低8位地址與數(shù)據(jù)總線分時(shí)使用P0口:先送低8位地址信號(hào)到P0口,由地址鎖存信號(hào)ALE的下降沿將地址信號(hào)鎖存到地址鎖存器后,再作為數(shù)據(jù)總線的口線對數(shù)據(jù)進(jìn)行輸入或輸出。②P1口〔1~8腳〕——準(zhǔn)雙向口〔三態(tài)〕,可驅(qū)動(dòng)4個(gè)LSTTL門電路。用作輸入線時(shí),口鎖存器必須由單片機(jī)先寫入“1〞,每一位都可編程為輸入或輸出線。③P2口〔21~28〕——準(zhǔn)雙向口〔三態(tài)〕,可驅(qū)動(dòng)4個(gè)LSTTL門電路??勺鳛檩斎?輸出口,實(shí)際應(yīng)用中一般作為地址總線的高8位,與P0口一起組成16位地址總線,用于對外部存儲(chǔ)器的接口電路進(jìn)行尋址。④P3口〔10~17腳〕——準(zhǔn)雙向口〔三態(tài)〕,可驅(qū)動(dòng)4個(gè)LSTTL門電路。雙功能口,作為第一功能使用時(shí),與P1口一樣;作為第二功能使用時(shí),每一位都有特定用途,其特殊用途如表2.1所示:

表2.1P3口特殊功能腳端口引腳第二功能注釋P3.0RXD串行口數(shù)據(jù)接收端P3.1TXD串行口數(shù)據(jù)發(fā)送端P3.2/INT0外中斷請求0P3.3/INT1外中斷請求1P3.4T0定時(shí)/計(jì)數(shù)器0外部計(jì)數(shù)信號(hào)輸入P3.5T1定時(shí)/計(jì)數(shù)器1外部計(jì)數(shù)信號(hào)輸入P3.6/WR外部RAM寫選通信號(hào)輸出P3.7/RD外部RAM讀選通信號(hào)輸出2.1.2單片機(jī)最小系統(tǒng)所謂單片機(jī)的最小系統(tǒng)是指使單片機(jī)能運(yùn)行程序、正常工作的最簡單電路系統(tǒng),是保證單片正常啟動(dòng)、開始工作的必須電路,缺一不可。單片機(jī)最小系統(tǒng)一般由單片機(jī)、程序存儲(chǔ)器、時(shí)鐘電路和復(fù)位電路組成。對于8052單片機(jī),由于片內(nèi)有4K的程序存儲(chǔ)器,所以其最小系統(tǒng)除了單片機(jī)本身外,只需外接時(shí)鐘電路與復(fù)位電路即可。復(fù)位電路單片機(jī)的復(fù)位分為上電自動(dòng)復(fù)位、按鍵手動(dòng)復(fù)位兩種和看門狗強(qiáng)制復(fù)位三種等。上電復(fù)位通常利用電容的充放電來實(shí)現(xiàn),按鍵復(fù)位那么可分為按鍵脈沖復(fù)位和按鍵電平復(fù)位兩種,看門狗復(fù)位那么通過外接看門狗電路或軟件看門狗程序?qū)崿F(xiàn)。常見的上電復(fù)位和按鍵復(fù)位電路如圖2-3所示。上電復(fù)位(b)按鍵脈沖復(fù)位(c)按鍵電平復(fù)位圖2-3單片機(jī)復(fù)位電路時(shí)鐘電路時(shí)鐘電路用于產(chǎn)生單片機(jī)的根本時(shí)鐘信號(hào)。8052的時(shí)鐘信號(hào)可由內(nèi)部振蕩器產(chǎn)生,也可由外部電路直接提供。內(nèi)部振蕩器的輸入和輸出腳分別為XTAL1和XATL2,由XTAL2給單片機(jī)內(nèi)部電路提供時(shí)鐘信號(hào)。當(dāng)時(shí)鐘信號(hào)由外部電路提供時(shí),外部時(shí)鐘引入XTAL2,而XTAL1腳接地。兩種時(shí)鐘信號(hào)的連接電路如圖2-4所示?!瞐〕內(nèi)部方式〔b〕外部方式圖2-4單片機(jī)時(shí)鐘電路2.2測量局部測量所用儀器是數(shù)字溫濕度傳感器DHT11。2.2.1DHT11簡介圖2-5DHT11封裝圖DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。每個(gè)DHT11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號(hào)的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最正確選那么。產(chǎn)品為4針單排引腳封裝。如圖2-5所示。2.2.2操作過程1、接口說明建議連接線長度短于20米時(shí)用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用適宜的上拉電阻。圖2-6DHT11溫濕度傳感器接線圖2、電源引腳DHT11的供電電壓為 3-5.5V。傳感器上電后,要等待1s以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。電源引腳〔VDD,GND〕之間可增加一個(gè)100nF的電容,用以去耦濾波。3、串行接口(單線雙向)DATA用于微處理器與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時(shí)間4ms左右,數(shù)據(jù)分小數(shù)局部和整數(shù)局部,具體格式在下面說明,當(dāng)前小數(shù)局部用于以后擴(kuò)展,現(xiàn)讀出為零.操作流程如下:一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗(yàn)和數(shù)據(jù)傳送正確時(shí)校驗(yàn)和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)〞所得結(jié)果的末8位。用戶MCU發(fā)送一次開始信號(hào)后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號(hào)結(jié)束后,DHT11發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)一次信號(hào)采集,用戶可選擇讀取局部數(shù)據(jù).從模式下,DHT11接收到開始信號(hào)觸發(fā)一次溫濕度采集,如果沒有接收到主機(jī)發(fā)送開始信號(hào),DHT11不會(huì)主動(dòng)進(jìn)行溫濕度采集.采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。通訊過程如圖2-7所示圖2-7通訊過程2.3顯示局部顯示局部是LCD1602液晶顯示,如圖2-8所示。圖2-8正常工作LCD1602顯示2.3.11602液晶簡介LCD1602分為帶背光和不帶背光兩種,基控制器大局部為HD44780,帶背光的 比不帶背光的厚,是否帶背光在應(yīng)用中并無差異,兩者尺寸差異如圖2-9所示。圖2-9LCD1602規(guī)格引腳功能LCD1602采用標(biāo)準(zhǔn)的14腳〔無背光〕或16腳〔帶背光〕接口,各引腳接口說明如表2.2所示。表2.2LCD1602引腳說明編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號(hào)14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極2.3.2指令說明LCD1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表2.3所示表2.3LCD1602內(nèi)部控制器序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L**6置功能00001DLNF**7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM〕10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容2.4控制局部2.4.1溫濕度設(shè)置溫濕度上下限控制設(shè)置如圖2-10所示?!瞐〕濕度下限設(shè)置界面(b)濕度上限設(shè)置界面(c)溫度度下限設(shè)置界面(d)溫度度上限設(shè)置界面圖2-10溫濕度上下限設(shè)置控制設(shè)備本系統(tǒng)控制設(shè)備采用加濕設(shè)備、除濕設(shè)備、加溫設(shè)備、降溫設(shè)備作為控制器,加濕設(shè)備、除濕設(shè)備、加溫設(shè)備、降溫設(shè)備分別控制濕度與溫度,使得蔬菜大棚的溫濕度得到控制。設(shè)計(jì)中,溫濕度均可以設(shè)置上下限,按下k1鍵,出現(xiàn)溫度上限的設(shè)置頁面,按k2鍵為設(shè)置上限溫度加,按k3鍵為設(shè)置上限溫度減,按下k4鍵確認(rèn)刷新,即成功設(shè)置溫度上限。繼續(xù)按下k1鍵,出現(xiàn)溫度下限設(shè)置頁面,按k2鍵為設(shè)置下限溫度加,按k3鍵為設(shè)置下限溫度減,再按下k4鍵確認(rèn)刷新,即成功設(shè)置溫度下限。繼續(xù)按下k1鍵,出現(xiàn)濕度上限的設(shè)置頁面,按k2鍵為設(shè)置上限濕度加,按k3鍵為設(shè)置上限濕度減,再按下k4鍵確認(rèn)刷新,即成功設(shè)置濕度上限。繼續(xù)按下k1鍵,出現(xiàn)濕度下限設(shè)置頁面,按k2鍵為設(shè)置下限濕度加,按k3鍵為設(shè)置下限濕度減,再按下k4鍵確認(rèn)刷新,即成功設(shè)置溫度下限。3系統(tǒng)設(shè)計(jì)3.1硬件設(shè)計(jì)本設(shè)計(jì)的設(shè)計(jì)電路采用模塊化、層次化設(shè)計(jì),設(shè)計(jì)的電路原理圖如圖3-1所示。圖3-1電路原理圖主機(jī)與主要部件的選擇:根據(jù)總體功能和性價(jià)比及其運(yùn)行速度等因素的考慮,選用MCS-51系列的STC89C52為主機(jī),滿足上面的要求而且設(shè)計(jì)方便,不需要再存儲(chǔ)擴(kuò)展。數(shù)據(jù)存儲(chǔ)片內(nèi)設(shè)有128B,外部有8279的256B,而由于存入的數(shù)據(jù)是隨時(shí)更新的且不計(jì)小數(shù)位,存入8個(gè)16進(jìn)制數(shù)字,其總共需要的容量只有16B,已經(jīng)夠用。外部模溫度、濕度采樣,選用DHT11能夠滿足要求。系統(tǒng)各部件的連接方式如下:DHT11和單片機(jī)之間用單總線傳輸,DHT11的數(shù)據(jù)口與單片機(jī)的P1^0相連。液晶顯示器的RS,RW和E分別與單片機(jī)的P2^5,P2^6,P2^7相連,數(shù)據(jù)輸入口DB0-DB7分別與單片機(jī)P00-P07口相連。設(shè)置按鍵、按鍵加、按鍵減、確認(rèn)刷新按鍵分別的單片機(jī)的P3^2,P3^3,P3^4,P3^5相連。單片機(jī)P1^1,P1^3分別為溫度超過或低于上下限控制腳,P1^2,P1^4分別為濕度超過或低于上下限控制腳??刂颇_通過控制加濕設(shè)備、除濕設(shè)備、加溫設(shè)備、降溫設(shè)備,調(diào)節(jié)溫度及濕度。3.2軟件設(shè)計(jì)系統(tǒng)軟件程序基于Keiluvsion2開發(fā)平臺(tái),采用C51語言編寫。本程序采用模塊化程序方法:LCD初始化顯示模塊系統(tǒng)初始化模塊的主要功能是完成系統(tǒng)的初始化以及設(shè)定系統(tǒng)的工作狀態(tài),初始化局部包括以下方面的內(nèi)容:(a)系統(tǒng)啟動(dòng)后,顯示器上顯示兩行,第一行為“TEMPERATURE:00C〞,第二行顯示為“HUMIDITY:00%〞(b)等待DTH11采集溫度及濕度值。(c)系統(tǒng)進(jìn)入正常工作狀態(tài)。系統(tǒng)整體的工作方式如下框圖所示程序流程圖:圖3-2DHT11數(shù)據(jù)采集流程圖本系統(tǒng)采用DHT11溫濕度傳感器對蔬菜大棚內(nèi)溫濕度的采集并轉(zhuǎn)換成數(shù)字信號(hào),將信息提供應(yīng)主控制器進(jìn)行處理和分析,主控制器開始LCD初始化,進(jìn)行延時(shí)等待提取DHT11溫濕度傳感器模塊,將采集的信息處理后傳給LCD1602顯示,同時(shí)調(diào)用控制模塊,與系統(tǒng)默認(rèn)設(shè)定值比擬,系統(tǒng)溫度上下限,濕度上下限默認(rèn)值均為0,可通過設(shè)置按鈕進(jìn)行設(shè)置,按下設(shè)置按鈕可對溫度下限、上限,濕度下限、上限的順序依次進(jìn)行設(shè)置,溫濕度均可以設(shè)置上下限,按下k1鍵,出現(xiàn)溫度上限的設(shè)置頁面,按k2鍵為設(shè)置上限溫度加,按k3鍵為設(shè)置上限溫度減,按下k4鍵確認(rèn)刷新,即成功設(shè)置溫度上限。繼續(xù)按下k1鍵,出現(xiàn)溫度下限設(shè)置頁面,按k2鍵為設(shè)置下限溫度加,按k3鍵為設(shè)置下限溫度減,再按下k4鍵確認(rèn)刷新,即成功設(shè)置溫度下限。繼續(xù)按下k1鍵,出現(xiàn)濕度上限的設(shè)置頁面,按k2鍵為設(shè)置上限濕度加,按k3鍵為設(shè)置上限濕度減,再按下k4鍵確認(rèn)刷新,即成功設(shè)置濕度上限。繼續(xù)按下k1鍵,出現(xiàn)濕度下限設(shè)置頁面,按k2鍵為設(shè)置下限濕度加,按k3鍵為設(shè)置下限濕度減,再按下k4鍵確認(rèn)刷新,即成功設(shè)置溫度下限。當(dāng)蔬菜大棚實(shí)際溫度超過設(shè)定溫度上限時(shí),系統(tǒng)將調(diào)用控制模塊對降溫設(shè)備控制,將蔬菜大棚的溫度降低;當(dāng)蔬菜大棚實(shí)際溫度低于設(shè)定溫度下限時(shí),系統(tǒng)將調(diào)用控制模塊對升溫設(shè)備控制,將蔬菜大棚的溫度升高;當(dāng)蔬菜大棚實(shí)際濕度超過設(shè)定濕度上限時(shí),系統(tǒng)將調(diào)用控制模塊對除濕設(shè)備控制,將蔬菜大棚的濕度降低;當(dāng)蔬菜大棚實(shí)際濕度低于設(shè)定濕度下限時(shí),系統(tǒng)將調(diào)用控制模塊對加濕設(shè)備控制,將蔬菜大棚的濕度提高。主程序流程圖如圖3-3所示。圖3-3主程序流程圖4總結(jié)與展望單片機(jī)是一門應(yīng)用性和實(shí)踐性很強(qiáng)的學(xué)科,很多人都想學(xué)習(xí)單片機(jī),并且想知道如何學(xué)習(xí)單片機(jī)。熟悉單片機(jī)的人都知道,要學(xué)好單片機(jī)可不是一件容易的事,倒不是因?yàn)閱纹瑱C(jī)很難學(xué),而是很難找到一本專為單片機(jī)入門者而編寫的教材。翻一下身邊的單片機(jī)教材,都好似是為已經(jīng)懂單片機(jī)的人而寫的,一般先介紹單片機(jī)的硬件結(jié)構(gòu)和指令系統(tǒng),再是系統(tǒng)擴(kuò)展和外圍器件,順便講一些應(yīng)用設(shè)計(jì)〔隨便說一下,很多書中的電路設(shè)計(jì)已經(jīng)過時(shí),并且有些程序還是錯(cuò)誤的〕。如果按照此種學(xué)習(xí)方法,想進(jìn)行產(chǎn)品開發(fā),就必須先把所有的知識(shí)全部掌握了才可以進(jìn)行實(shí)際應(yīng)用。學(xué)習(xí)使用單片機(jī)只能靠循序漸進(jìn)的積累。學(xué)單片機(jī)不僅要學(xué)習(xí)理論知識(shí),實(shí)踐操作也很重要。學(xué)過單片機(jī)的人都有這樣的經(jīng)歷,就是把自己寫的程序燒錄到單片機(jī)里面的時(shí)候會(huì)發(fā)現(xiàn)與自己想要的結(jié)果有很大的不同。這就是因?yàn)閷?shí)踐操作少了,經(jīng)驗(yàn)缺乏的緣故。推薦大家從簡單的東西學(xué)起,當(dāng)我們積累了一定的東西之后就可以動(dòng)手做一些比擬復(fù)雜的東西了。設(shè)計(jì)本系統(tǒng)的過程中遇到了很多的問題,在編寫DHT11的測量程序的過程中遇到了很多的問題,剛開始始終的不到數(shù)據(jù),研究了很長時(shí)間都弄不出來。同學(xué)提示我要注意一下時(shí)序,然后我又按照DHT11的通訊時(shí)序和接收時(shí)序?qū)⒊绦蛞粭l條的重寫,在經(jīng)過幾次調(diào)試之后,終于得到了自己想要的結(jié)果;液晶顯示局部也出了一點(diǎn)點(diǎn)小問題,就是送數(shù)據(jù)過去的時(shí)候忘了顯示字符必須送字符的ASCII碼。本系統(tǒng)具有較強(qiáng)的實(shí)用性,淘寶網(wǎng)上DHT11單片價(jià)格僅6.5元。作者對DHT11與DS18B20及一些水銀溫濕度測量器的測量數(shù)據(jù)進(jìn)行了比擬,驗(yàn)證了DHT11測量數(shù)據(jù)的準(zhǔn)確性和穩(wěn)定性。低廉的價(jià)格、小巧的體積、準(zhǔn)確穩(wěn)定的測量數(shù)據(jù)、簡單的單總線控制方式、簡潔的電路連接,這些將使DHT11擁有良好的應(yīng)用前景。1602液晶也比擬廉價(jià),操作比擬簡單。另外,本系統(tǒng)還具有較高的擴(kuò)展性,可以集時(shí)鐘,計(jì)算器,溫濕度測量等于一體,具有一定的市場價(jià)值。參考文獻(xiàn)[1]黃卜夫.歐洲設(shè)備安裝總線綜述[M].電子技術(shù)應(yīng)用,2001〔No.4〕:7-10[2]戚作鈞.無線電技術(shù)根底[M].第一版.北京:人民教育出版社,1959:165-183[3]WayneTomasi.電子通信系統(tǒng)[M].王曼珠,許萍,曾萍等譯.第四版.北京:電子工業(yè)出版社,2002:137-141[4]AndrewS.Tanenbaum.計(jì)算機(jī)網(wǎng)絡(luò)[M].熊桂喜,王小虎譯.第三版.北京:清華大學(xué)出版社,1998:402-419[5]鄭阿奇.計(jì)算機(jī)網(wǎng)絡(luò)原理與應(yīng)用[M].第一版.北京:電子工業(yè)出版社,2003:34-45[6]王耀南.計(jì)算智能信息處理技術(shù)及其應(yīng)用[M].長沙:湖南大學(xué)出版社,1999附錄一:設(shè)計(jì)實(shí)物圖成品圖顯示控制當(dāng)前為濕度59%溫度21°C溫濕度探頭設(shè)置界面附錄二:程序dht11.h程序#include<intrins.h>//_nop_();延時(shí)函數(shù)用#defineucharunsignedchar#defineuintunsignedintsbittemp_out=P1^1;sbithumi_out=P1^2;sbittemp_led=P1^3;sbithumi_led=P1^4;uintcount;uchards1,ds2,ds3,ds4;ucharU8FLAG,k;ucharU8count,U8temp;ucharU8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;ucharU8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;ucharU8comdata;uintU16temp1,U16temp2;sbitIO=P1^0;//voidDelay1(uintj){uchari;for(;j>0;j--){for(i=0;i<27;i++);}}voidDelay_10us(void){uchari=5;for(;i>0;i--);}voidCOM(void){uchari;for(i=0;i<8;i++){U8FLAG=2;//while((!IO)&&U8FLAG++);Delay_10us();Delay_10us();//Delay_10us();U8temp=0;if(IO)U8temp=1;U8FLAG=2;while((IO)&&U8FLAG++);////P2_1=0;//P2_1=1;//if(U8FLAG==1)break;U8comdata<<=1;U8comdata|=U8temp;}}//voidRH(void){IO=0;Delay1(180);IO=1;Delay_10us();Delay_10us();Delay_10us();Delay_10us();IO=1;if(!IO){U8FLAG=2;while((!IO)&&U8FLAG++);U8FLAG=2;while((IO)&&U8FLAG++);COM();U8RH_data_H_temp=U8comdata;COM();U8RH_data_L_temp=U8comdata;COM();U8T_data_H_temp=U8comdata;COM();U8T_data_L_temp=U8comdata;COM();U8checkdata_temp=U8comdata;IO=1;U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);if(U8temp==U8checkdata_temp){U8RH_data_H=U8RH_data_H_temp;U8RH_data_L=U8RH_data_L_temp;U8T_data_H=U8T_data_H_temp;U8T_data_L=U8T_data_L_temp;U8checkdata=U8checkdata_temp;}}}voidconvdat(){ds1=U8RH_data_H/10;ds2=U8RH_data_H%10;ds3=U8T_data_H/10;ds4=U8T_data_H%10;}lcd_1602.h程序#defineucharunsignedchar#defineuintunsignedintsbitRS=P2^5;sbitRW=P2^6;sbitE=P2^7;uchard;ucharcodetab_t[]={"TEMPERATURE:C"};ucharcodetab_h[]={"HUMIDITY:%"};ucharcodetab_time[]={"TIME:"};ucharcodetab_set_temp_H[]={"SET_TEMP_HIGH"};ucharcodetab_set_temp_L[]={"SET_TEMP_LOW"};ucharcodetab_set_humi_H[]={"SET_HUMI_HIGH"};ucharcodetab_set_humi_L[]={"SET_HUMI_LOW"};ucharcodetab_set_hour[]={"SET_HOUR"};ucharcodetab_lcd_num[]={'0','1','2','3','4','5','6','7','8','9'};voiddelay_1602(ucharx){uchara,b;for(a=0;a<10;a++){for(b=x;b>0;b--);}}voidwrite_cmd(ucharx){E=0;RS=0;RW=0;E=1;P0=x;delay_1602(50);}/*ucharread_dat(){RS=1;RW=1;E=1;d=P0;delay(5);returnd;}*/voidwrite_dat(uchary){E=0;RS=1;RW=0;E=1;P0=y;delay_1602(50);E=0;}voidbusy(){uchara;while(a==0x80){E=0;RS=0;RW=1;E=1;delay_1602(50);a=P0;}}voidinit_lcd(){busy();write_cmd(0x38);delay_1602(5);busy();write_cmd(0x01);delay_1602(5);busy();write_cmd(0x0C);delay_1602(5);}zxhr.c程序#include<reg52.h>//52單片機(jī)頭文件#include<dht11.h>//溫濕度傳感器DHT11頭文件#include<lcd_1602.h>//液晶屏1602頭文件uchari,key_flag;ucharset_temp_H,set_temp_H_shi,set_temp_H_ge;//設(shè)定溫度的變量ucharset_temp_L,set_temp_L_shi,set_temp_L_ge;//設(shè)定溫度的變量ucharset_humi_H,set_humi_H_ge,set_humi_H_shi;//設(shè)置濕度的變量ucharset_humi_L,set_humi_L_ge,set_humi_L_shi;//設(shè)置濕度的變量sbitk1=P3^2;//定義按鍵K1sbitk2=P3^3;//定義按鍵K2sbitk3=P3^4;//定義按鍵K3sbitk4=P3^5;//定義按鍵K4/////////////////////////延時(shí)函數(shù)/////////////////////////////voiddelay(ucharx){uchara,b;for(a=0;a<20;a++){for(b=x;b>0;b--);}}/////////////////////////顯示溫度和濕度//////////////////////////voiddisp_t_h(){write_cmd(0x8c);write_dat(tab_lcd_num[ds3]);//顯示溫度十位write_cmd(0x8d);write_dat(tab_lcd_num[ds4]);//顯示溫度個(gè)位write_cmd(0xcc);write_dat(tab_lcd_num[ds1]);//顯示溫濕度十位write_cmd(0xcd);write_dat(tab_lcd_num[ds2]);//顯示溫濕度個(gè)位}///////////////////////開機(jī)顯示////////////////////////////////////voiddisp_start(){for(i=0;i<16;i++){write_cmd(0x80+i);write_dat(tab_t[i]);//溫度}for(i=0;i<16;i++){write_cmd(0xc0+i);write_dat(tab_h[i]);//濕度}}///////////////////////掃描按鍵////////////////////////////////voidkey_scan(){if(k1==0)//按下K1{//設(shè)置溫度上限////////////////////////////////if(key_flag==0)//按鍵標(biāo)志0{write_cmd(0x01);//清屏write_cmd(0x80);//顯示位置第一行第一列for(i=0;i<13;i++)write_dat(tab_set_temp_H[i]);//顯示SETTEMPERATURE字符while(k4==1)//按下K4{if(k2==0)//按下K2{while(k2==0);set_temp_H++;//設(shè)置溫度數(shù)值加if(set_temp_H==100)//到100,清0set_temp_H=0;}if(k3==0)//按下K2{while(k3==0);//松手檢測set_temp_H--;//設(shè)置溫度數(shù)值減if(set_temp_H==0)//到0,加為100set_temp_H=100;}set_temp_H_ge=set_temp_H%10;//計(jì)算設(shè)置溫度個(gè)位set_temp_H_shi=set_temp_H/10;//計(jì)算設(shè)置溫度十位write_cmd(0xc6);write_dat(tab_lcd_num[set_temp_H_shi]);//顯示設(shè)置溫度個(gè)位write_cmd(0xc7);write_dat(tab_lcd_num[set_temp_H_ge]);//顯示設(shè)置溫度十位}delay(200);}//設(shè)置溫度下限////////////////////////////////if(key_flag==1)//按鍵標(biāo)志1{write_cmd(0x01);//清屏write_cmd(0x80);//顯示位置第一行第一列for(i=0;i<13;i++)write_dat(tab_set_temp_L[i]);//顯示SETTEMPERATURE字符while(k4==1)//按下K4{if(k2==0)//按下K2{while(k2==0);set_temp_L++;//設(shè)置溫度數(shù)值加if(set_temp_L==100)//到100,清0set_temp_L=0;}if(k3==0)//按下K2{while(k3==0);//松手檢測set_temp_L--;//設(shè)置溫度數(shù)值減if(set_temp_L==0)//到0,加為100set_temp_L=100;}set_temp_L_ge=set_temp_L%10;//計(jì)算設(shè)置溫度個(gè)位set_temp_L_shi=set_temp_L/10;//計(jì)算設(shè)置溫度十位write_cmd(0xc6);write_dat(tab_lcd_num[set_temp_L_shi]);//顯示設(shè)置溫度個(gè)位write_cmd(0xc7);write_dat(tab_lcd_num[set_temp_L_ge]);//顯示設(shè)置溫度十位}}////設(shè)置濕度上限///////////////////////////////////////////////////if(key_flag==2)//按鍵標(biāo)志2{write_cmd(0x01);//清屏write_cmd(0x80);//顯示位置第一行第一列for(i=0;i<13;i++)write_dat(tab_set_humi_H[i]);//顯示SETHUMIDITY字符while(k4==1){if(k2==0){while(k2==0);set_humi_H++;//設(shè)置濕度數(shù)值加if(set_humi_H==100)set_humi_H=0;}if(k3==0){while(k3==0);set_humi_H--;//設(shè)置濕度數(shù)值減if(set_humi_H==0)set_humi_H=100;}set_humi_H_ge=set_humi_H%10;//計(jì)算設(shè)置濕度個(gè)位set_humi_H_shi=set_humi_H/10;//計(jì)算設(shè)置濕度十位write_cmd(0xc6);write_dat(tab_lcd_num[set_humi_H_shi]);//顯示設(shè)置濕度十位write_cmd(0xc7);write_dat(tab_lcd_num[set_humi_H_ge]);//顯示設(shè)置濕度個(gè)位}}////設(shè)置濕度下限///////////////////////////////////////////////////if(key_flag==3)//按鍵標(biāo)志3{write_cmd(0x01);//清屏write_cmd(0x80);//顯示位置第一行第一列for(i=0;i<13;i++)write_dat(tab_set_humi_L[i]);//顯示SETHUMIDITY字符while

溫馨提示

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

評論

0/150

提交評論