版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
設(shè)計基于單片機(jī)的溫室大棚自動控制系統(tǒng)論文題目:基于單片機(jī)的溫室大棚自動控制系統(tǒng)
基于單片機(jī)的溫室大棚自動控制系統(tǒng)【摘要】本系統(tǒng)由單片機(jī)STC89C52、溫度檢測電路、濕度檢測電路、光照度檢測電路、鍵盤掃描電路、時鐘電路、傳感器電路以及繼電器控制電路等部分組成。系統(tǒng)采用STC89C52單片機(jī),功能強(qiáng)、功耗低、價格低、穩(wěn)定可靠、應(yīng)用廣泛、通用性強(qiáng)等特點。論文完成了以STC89C52單片機(jī)為核心對空氣溫度、土壤濕度、光照度進(jìn)行數(shù)據(jù)的采集、處理、顯示等系統(tǒng)的基本框圖、工作原理和繼電器控制的設(shè)計的闡述。該系統(tǒng)對植物生長過程中的土壤濕度、環(huán)境溫度、光照度進(jìn)行了實時地、連續(xù)地檢測、直觀地顯示并進(jìn)行自動地控制??朔藗鹘y(tǒng)的人工測量方法不能進(jìn)行連續(xù)測量的弊端,節(jié)省了工作量,并避免了人為的疏漏或錯誤造成的不必要的損失?!娟P(guān)鍵詞】單片機(jī)、濕敏傳感器、數(shù)字溫度傳感器、光敏電阻、繼電器控制。
目錄TOC\o"1-3"\h\z1.緒論 31.1選題背景 31.2國內(nèi)外的發(fā)展現(xiàn)狀 31.3課題內(nèi)容、目的及思路 31.4設(shè)計過程及工藝要求 32.方案的比較和選擇 42.1濕度傳感器的選擇 42.2溫度傳感器的選擇 52.3光照度傳感器的選擇 63系統(tǒng)的總體設(shè)計 63.1確定系統(tǒng)任務(wù) 63.2系統(tǒng)的組成和工作原理 63.3元件的特性 93.3.1STC89C52特點 93.3.2AD0804特點 104.電路設(shè)計 104.1濕度測量電路 104.2溫度測量電路 114.3光照度測量電路 124.4數(shù)據(jù)顯示電路 124.5復(fù)位電路 134.6鍵盤電路 134.7繼電器控制電路 145.軟件設(shè)計 145.1主程序流程圖 145.2.參數(shù)測量子程序流程圖 165.3.鍵盤掃描子程序流程 166.總結(jié) 18參考文獻(xiàn) 18附錄1電子元器件明細(xì)表 21附錄2:系統(tǒng)總體電路圖 22附錄3:實物圖 23附錄4:系統(tǒng)源代碼 25
1.緒論1.1選題背景現(xiàn)代化農(nóng)業(yè)生產(chǎn)中的重要一環(huán)就是對農(nóng)業(yè)生產(chǎn)環(huán)境的一些重要參數(shù)進(jìn)行檢測和控制。例如:空氣的溫度、濕度、光照強(qiáng)度、二氧化碳含量、土壤的含水量等。溫室環(huán)境與生物的生長、發(fā)育、能量交換密切相關(guān),進(jìn)行環(huán)境測控是實現(xiàn)溫室生產(chǎn)管理自動化、科學(xué)化的基本保證,通過對監(jiān)測數(shù)據(jù)的分析,結(jié)合作物生長發(fā)育規(guī)律,控制環(huán)境條件,使作物達(dá)到優(yōu)質(zhì)、高產(chǎn)、高效的栽培目的。以蔬菜大棚為代表的現(xiàn)代農(nóng)業(yè)設(shè)施在現(xiàn)代化農(nóng)業(yè)生產(chǎn)中發(fā)揮著巨大的作用,所以對大棚內(nèi)的溫度、濕度與光照強(qiáng)度等參數(shù)的控制就顯的非常重要了。傳統(tǒng)的方法是用毛發(fā)濕度表、酒精溫度計等進(jìn)行人工測量,再對不符合的溫度、濕度、光照度通過在溫室大棚進(jìn)行灌溉、降溫、遮光等控制操作[1]來調(diào)節(jié),這種人工測控的方法費時費力、效率低、且無法保證測量的連續(xù)性,測量的誤差大、隨機(jī)性大,隨意性強(qiáng)。為了克服以上幾點不足,我們需要一種造價低廉,使用方便且測量準(zhǔn)確的自動測控系統(tǒng)。1.2國內(nèi)外的發(fā)展現(xiàn)狀國外的溫室設(shè)施己經(jīng)發(fā)展到比較完備的程度,并形成了一定的標(biāo)準(zhǔn),但是價格非常昂貴,缺乏與我國氣候特點相適應(yīng)的測控軟件,不利于在我國廣泛地推廣,而當(dāng)今在我國大多數(shù)地方對大棚溫度、濕度、二氧化碳含量,光照強(qiáng)度的檢測與控制都采用人工管理,存在著測控精度低、勞動強(qiáng)度大及由于測控不及時等弊端,容易造成不可彌補(bǔ)的損失,結(jié)果不但大大增加了成本,浪費了人力資源,而且很難達(dá)到預(yù)期的效果。本系統(tǒng)主要針對溫室大棚內(nèi)溫度、濕度,光照強(qiáng)度研制了單片機(jī)控制的溫室大棚自動控制系統(tǒng),綜合考慮系統(tǒng)的精度、效率以及經(jīng)濟(jì)性要求三個方面因素之后,最終確定以STC89C52單片機(jī)為控制核心,選用性價比比較高的傳感器,實現(xiàn)對溫濕度的精確測量與準(zhǔn)確控制,同時又具有價格低等優(yōu)點,便于在我國推廣。1.3課題內(nèi)容、目的及思路本系統(tǒng)主要采用STC89c52單片機(jī)作為系統(tǒng)的控制核心,由溫室內(nèi)的空氣溫度傳感器、土壤濕度傳感器、光照度傳感器采集數(shù)據(jù),經(jīng)過模數(shù)轉(zhuǎn)換后送入單片機(jī),由單片機(jī)根據(jù)采集的數(shù)據(jù)做出相應(yīng)的控制,例如控制繼電器的開合,使換氣風(fēng)扇、滴灌設(shè)備、遮陽幕等設(shè)備的啟動或停止,達(dá)到控制溫室各項參數(shù)的目的。同時在外接的LCD液晶上顯示實時參數(shù),便于觀察。外接的鍵盤可以設(shè)定系統(tǒng)控制的溫度值,以滿足不同條件下對溫度的不同要求。1.4設(shè)計過程及工藝要求在本系統(tǒng)中為了保證對溫度、濕度和光照度的檢測的實時性和準(zhǔn)確性,采用了數(shù)字溫度傳感器DS18B20來檢測溫度。采用濕度傳感器HS1101來檢測土壤濕度。采用光敏電阻檢測光照度。最后通過單片機(jī)STC89C52處理后顯示在1602液晶顯示屏上,并通過控制繼電器的開合控制相應(yīng)的調(diào)節(jié)部件對植物的生長環(huán)境的各項參數(shù)進(jìn)行調(diào)節(jié),以達(dá)到適合植物生長的環(huán)境條件。本系統(tǒng)的基本功能有:檢測空氣溫度、土壤濕度、環(huán)境光照度。顯示以上各項參數(shù)并自動調(diào)節(jié)。2.方案的比較和選擇2.1濕度傳感器的選擇單片機(jī)作為控制核心,要有被檢測信號輸入,由單片機(jī)處理。如何準(zhǔn)確的確定外圍環(huán)境的各項參數(shù)就顯的非常重要。傳感器是實現(xiàn)測量與控制的首要環(huán)節(jié),是測控系統(tǒng)的關(guān)鍵部件,如果沒有傳感器對原始信號進(jìn)行準(zhǔn)確可靠的捕捉和轉(zhuǎn)換,系統(tǒng)就無法實現(xiàn)要求的各項功能。工業(yè)生產(chǎn)過程中的自動化的測量和控制,大部分主要依靠各種傳感器來檢測和控制生產(chǎn)過程中的各項參量,使系統(tǒng)工作在最佳的狀態(tài)下。測量土壤濕度的方法有很多種,其原理是根據(jù)某種物質(zhì)從其周圍的土壤中吸收水分后引起的物理或化學(xué)的性質(zhì)的變化,間接的獲得土壤的濕度。電容式、電阻式和濕漲式濕敏元件分別是根據(jù)其高分子材料吸水后的介電常數(shù)、電阻率和體積發(fā)生的變化進(jìn)行濕度的測量。方案一:采用HOS-201濕敏傳感器[2]。HOS-201濕敏傳感器為高濕度開關(guān)傳感器,它的工作電壓為交流1V以下,頻率為50HZ~1KHZ,測量范圍為0%~100%RH,工作溫度為0~50℃,阻抗在75%RH(25℃)時為1MΩ。這種傳感器主要用于開關(guān) 方案二:采用HS1100/ HS1101濕度傳感器[3]。HS1100/ HS1101濕度傳感器,在電路結(jié)構(gòu)上等效于一個電容器,其電容量隨著土壤濕度的增大而增大,不需要校準(zhǔn)的完全互換性,高可靠性和長期穩(wěn)定性,快速響應(yīng),專利設(shè)計的固態(tài)聚合物結(jié)構(gòu)由頂端接觸(HS1100)和側(cè)面接觸(HS1101)兩種封裝產(chǎn)品,適用于線性電壓輸出和頻率輸出兩種電路。 綜合比較方案一和方案二,方案一雖然滿足精度和測量溫度的要求,但是只是限定于一定的范圍內(nèi)使用時具有良好的線性度。因此,我們選擇方案二作為本設(shè)計的濕度傳感器。20406080100相對濕度%20406080100相對濕度%200190180170電容F圖2-1:HS1101濕度-電容響應(yīng)曲線 濕度傳感器HS1101的特點:相對濕度在1%~100%RH范圍內(nèi):電容量有16pf變到200pf,其誤差不大于±2%RH,響應(yīng)時間小于5S,溫度系數(shù)為0.04pf/℃。由此可以看出HS1101具有測量精度高,反應(yīng)速度高的優(yōu)點,HS1101的一些常用參數(shù)如表2-1:表2-1:HS1101常用參數(shù)參數(shù)符號參數(shù)值單位工作溫度Ta-40~100℃儲存溫度Tstg-40~125℃供電電壓Vs10Vac濕度范圍RH0~100%RH焊接時間@=260t10S2.2溫度傳感器的選擇方案一:采用AD590溫度傳感器[4]。AD590溫度傳感器是美國模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。AD590性能描述:測量范圍在-50℃--+150℃,滿刻度范圍誤差為±0.3℃,當(dāng)電源電壓在5—10V之間,穩(wěn)定度為1﹪時,誤差只有±0.01℃。AD590為電流型傳感器溫度每變化1℃方案二:采用DS18B20溫度傳感器[5]。美國DALLAS公司的產(chǎn)品可編程單總線數(shù)字式溫度傳感器DS18B20可實現(xiàn)室內(nèi)溫度信號的采集,有很多優(yōu)點:如直接輸出數(shù)字信號,故省去了后繼的信號放大及模數(shù)轉(zhuǎn)換部分,外圍電路簡單,成本低;單總線接口,只有一根信號線作為單總線與CPU連接,且每一只都有自己唯一的64位系列號存儲在其內(nèi)部的ROM存儲器中,故在一根信號線上可以掛接多個DS18820,便于多點測量且易于擴(kuò)展。 綜合比較方案一和方案二,兩方案都可以滿足設(shè)計所要求的精度溫度要求,但方案一的后續(xù)電路復(fù)雜,需要經(jīng)過放大,數(shù)模轉(zhuǎn)換等步驟,增加了設(shè)計的復(fù)雜度和成本,并需要占用單片機(jī)較多的I/O口。方案二的后續(xù)電路簡單,占用的I/O口數(shù)量少,為整體設(shè)計留出了足夠的I/O口資源。故我們采用方案二作為本系統(tǒng)的溫度傳感器。DS18B20的溫度值格式如表2-2:表2-2DS18B20的溫度值格式位7位6位5位4位3位2位1位0低字節(jié)232221202-12-22-32-4位15位14位13位12位11位10位9位8高字節(jié)SSSSS262524DS18B20中的溫度傳感器完成對溫度的測量,用16位二進(jìn)制形式提供,形式表達(dá),其中S為符號位。例如+125℃的數(shù)字輸出為07D0H(正溫度直接把16進(jìn)制數(shù)轉(zhuǎn)成10進(jìn)制即得到溫度值-55℃的數(shù)字輸出為FC90H。(負(fù)溫度把得到的16進(jìn)制數(shù)取反后1再轉(zhuǎn)成10數(shù)字輸出格式如表2-3:表2-3DS18B20的數(shù)字輸出格式表溫度數(shù)字輸出(二進(jìn)制)數(shù)字輸出(十六進(jìn)制)+125000001111101000007D0h+8500000101010100000550h+25.062500000001100100010191h+10.125000000001010001000A2h+0.500000000000010000008h000000000000000000000h-0.51111111111111000FFF8h-10.1251111111101011110FF5Eh-25.06251111111001101111FE6Fh-551111110010010000FC90h2.3光照度傳感器的選擇 方案一:采用光照度傳感器M124749,該光照度傳感器采用先進(jìn)的電路模塊技術(shù)開發(fā)變送器,用于實現(xiàn)對環(huán)境光照度的測量,輸出標(biāo)準(zhǔn)的電壓及電流信號,體積小,安裝方便,線性度好,傳輸距離長,抗干擾能力強(qiáng),量程可調(diào)。但價格昂貴,性價比不高,且不易購買。 方案二:采用光敏電阻。光敏電阻的工作原理是當(dāng)有光線照射時,電阻內(nèi)原本處于穩(wěn)定狀態(tài)的電子受到\o"激發(fā)"激發(fā),成為\o"自由電子"自由電子,所以光線越強(qiáng),產(chǎn)生的自由電子也就越多,電阻就會越小。光敏電阻的優(yōu)點有內(nèi)部的光電效應(yīng)和電極無關(guān)(光電二極管才有關(guān)),即可以使用\o"直流電源"直流電源。靈敏度和半導(dǎo)體材料、以及入射光的波長有關(guān),價格低廉,性價比高。 比較以上兩個方案,方案一雖然具有更好的設(shè)計精度和線性度,但性價比不如光敏電阻好。方案二具有較高的性價比且同時也能滿足系統(tǒng)的設(shè)計要求,故采用光敏電阻作為光照度傳感器。3系統(tǒng)的總體設(shè)計3.1確定系統(tǒng)任務(wù) 本設(shè)計的要求是以STC89C52為控制核心,以HS1101濕度傳感器、DS18B20、光敏電阻完成對溫室大棚內(nèi)的各項參數(shù)進(jìn)行測量,并將數(shù)據(jù)輸入到單片機(jī)中,有單片機(jī)根據(jù)所編寫的程序,通過繼電器控制電路控制相應(yīng)的設(shè)備達(dá)到自動調(diào)控溫室大棚內(nèi)各項參數(shù)的目的,同時將通過各種傳感器測的數(shù)據(jù)實時地顯示在液晶屏上。系統(tǒng)可通過按鍵人為地設(shè)定合適的參數(shù),便于根據(jù)不同的植被的環(huán)境中使用。3.2系統(tǒng)的組成和工作原理 硬件系統(tǒng)主要有信號采集、信號分析、信號處理三個部分組成。信號采集由HS1101、DS18B20、光敏電阻組成。信號分析由單片機(jī) STC89C52基本系統(tǒng)組成。信號處理由并行口 LCD液晶顯示屏和繼電器控制電路組成。硬件系統(tǒng)的原理方框圖如圖3-1:圖3-1硬件系統(tǒng)的原理圖圖3-2土壤濕度控制流程圖土壤濕度控制部分流程如圖3-2:單片機(jī)通過濕度傳感器檢測土壤的濕度,若土壤的濕度過低,單片機(jī)就打開滴灌設(shè)備的電磁閥一分鐘,對作物進(jìn)行滴灌作業(yè),增加土壤濕度,經(jīng)過一段時間,單片機(jī)再次檢測土壤濕度,如果濕度過高,就關(guān)閉滴灌設(shè)備的電磁閥,停止滴灌作業(yè)。如果開始檢測的土壤濕度在適宜的范圍,單片機(jī)則維持現(xiàn)有狀態(tài)不變??諝鉁囟瓤刂屏鞒倘缦聢D3-3:圖3-3空氣溫度控制流程圖單片機(jī)通過溫度傳感器檢測溫室的空氣溫度,當(dāng)空氣溫度過高時,就通過控制電路,打開排氣扇配合設(shè)置在溫室大棚頂部的噴霧設(shè)備的進(jìn)行一段時間的溫室大棚的降溫作業(yè),而當(dāng)溫室溫度過低時,則通過單片機(jī)自動關(guān)閉降溫設(shè)備的工作,使溫度值達(dá)到適宜的范圍。若一開始檢測的光照度在適宜范圍,單片機(jī)將維持現(xiàn)有狀態(tài)。光照度控制部分流程如下圖3-4:光照度的控制主要靠遮陽幕的開關(guān),光照度過高時,系統(tǒng)通過關(guān)閉大棚頂部的遮陽幕,避免陽光直射作物,減小光照度,及減少強(qiáng)光對作物生長的影響。當(dāng)光照度過低時,就打開遮陽幕,增加光照度。如果檢測的光照度在適宜范圍,單片機(jī)將維持現(xiàn)狀。圖3-4光照度控制流程圖3.3元件的特性3.3.1STC89C52特點(1)它是MCS-51系列單片機(jī)的派生產(chǎn)品,在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標(biāo)準(zhǔn)8052單片機(jī)完全兼容,DIP40封裝系列與8051兼容均為Pin-to-Pin,使用時容易掌握;(2)高速(最高時鐘頻率90MHz)、低功耗、價格低、穩(wěn)定可靠、應(yīng)用廣泛、通用性強(qiáng),在系統(tǒng)/在應(yīng)用可編程(ISP,IAP),不占用戶資源。STC89C52[6]單片機(jī)管腳如圖3-5:圖3-5STC89C52單片機(jī)管腳定義圖3.3.2AD0804特點ADC0804[7]為8bit的一路A/D轉(zhuǎn)換器,其輸入電壓范圍在0—5v,轉(zhuǎn)換速度小于100us,轉(zhuǎn)換精度0.39﹪,滿足設(shè)計的精度要求。4.電路設(shè)計4.1濕度測量電路HS1101濕度傳感器,在電路中等效于一個電容器件,其電容量隨著所測的土壤濕度增大而增大,如何將電容的變化量準(zhǔn)確的轉(zhuǎn)換成單片機(jī)易于接受的信號,常有兩種方法:一是將該濕敏傳感器置于運放與阻容組成的橋式振蕩電路中,所產(chǎn)生的正弦波電壓信號經(jīng)整流、直流放大、再經(jīng)過A/D轉(zhuǎn)換成為數(shù)字信號;另一種是將該濕敏傳感器置于555振蕩電路中,將電容值的變化轉(zhuǎn)化為與之成反比的電壓頻率信號,可直接被單片機(jī)所采集[3]。本系統(tǒng)采用的是測量555輸出的振蕩的方法,電路如圖4-1所示:圖4-1濕度測量電路圖此電路為典型的555雙穩(wěn)態(tài)電路。HS1101/HS1100作為電容變量接在555的TRIG與THRES兩引腳上,引腳7用作電阻R20的短路。等量電容HS1101/HS1100通過R19與R20充電到門限電壓(約0.67Vcc),通過R19放電到觸發(fā)電平(約0.33Vcc),然后R20通過引腳7短路到地。傳感器由不同的電阻R20與R19充放電。電壓輸出典型參數(shù)(@VCC=5V,25℃)表4-1HS1101濕度傳感器電壓輸出典型參數(shù)(@VCC=5V,25℃RH0102030405060708090100Vout-1.411.651.892.122.362.602.833.073.313.554.2溫度測量電路 因為在本系統(tǒng)中采用了DS18B20數(shù)字溫度傳感器,所以后續(xù)電路簡單,只需將傳感器的數(shù)據(jù)輸入/輸出管腳直接接到單片機(jī)I/O口,通過單片機(jī)的控制DS18B20傳感器并實時讀取空氣溫度[1]。數(shù)字溫度傳感器的測量電路如圖4-2所示:圖4-2溫度測量電路圖4.3光照度測量電路 系統(tǒng)采用價格低廉的光敏電阻測量光照度,因其沒有良好的線性度,所以只能大致的測量。根據(jù)光敏電阻在不同的光照下有不同的阻值,經(jīng)過A/D轉(zhuǎn)換后輸入到單片機(jī)內(nèi)進(jìn)行處理。其與ADC0804的連接電路如圖4-3:圖4-3ADC0804與單片機(jī)的連接電路圖4.4數(shù)據(jù)顯示電路 系統(tǒng)采用了LCD1602液晶顯示屏[8],LCD1602液晶是一款很常用,也很易用的字符液晶??梢燥@示2行每行16個字符,對比度可調(diào)、黃綠色背光。與單片機(jī)的鏈接電路如圖4-4:圖4-4LCD1602與單片機(jī)的連接電路圖4.5復(fù)位電路 為了確保系統(tǒng)中的電路溫度可靠工作,復(fù)位電路[9]是必不可少的部分,其第一功能就是低電平復(fù)位,低電平復(fù)位是在通電瞬間通過充電來實現(xiàn)的。手動復(fù)位是指通過接通一按鍵開關(guān),使單片機(jī)進(jìn)入復(fù)位狀態(tài)。系統(tǒng)上電運行后,如果需要復(fù)位,只需通過手動復(fù)位就可以實現(xiàn)。本系統(tǒng)使用的復(fù)位電路如圖4-5所示:圖4-5復(fù)位電路圖4.6鍵盤電路本設(shè)計采用的鍵盤掃面電路采用簡單的低電平掃描方式,即采用開關(guān)的一端與單片機(jī)I/O口相連,另一端接地的方式,用單片機(jī)檢測I/O口是否是低電平來判斷鍵盤是否被按下[10]。這樣的方式可以方便鍵盤掃描部分的的編程。鍵盤電路如圖4-6:圖4-6鍵盤電路圖4.7繼電器控制電路 單片機(jī)是一個弱電器件,一般情況下它們大都工作在5V甚至更低。驅(qū)動電流在mA級以下。而要把它用于一些大功率場合,比如控制電動機(jī),顯然是不行的.所以,就要有一個環(huán)節(jié)來銜接,這個環(huán)節(jié)就是所謂的"功率驅(qū)動"。繼電器驅(qū)動就是一個典型的、簡單的功率驅(qū)動環(huán)節(jié)。在這里,繼電器驅(qū)動含有兩個意思:一是對繼電器進(jìn)行驅(qū)動,因為繼電器本身對于單片機(jī)來說就是一個功率器件;還有就是繼電器去驅(qū)動其他負(fù)載,比如繼電器可以驅(qū)動中間繼電器,可以直接驅(qū)動接觸器,所以,繼電器驅(qū)動就是單片機(jī)與其他大功率負(fù)載接口[11]。本設(shè)計采用的繼電器控制電路如圖4-7:圖4-7繼電器控制電路圖圖中的三極管起開關(guān)的作用,當(dāng)單片機(jī)輸出高電平時,三極管導(dǎo)通,繼電器吸合。單片機(jī)輸出低電平時,繼電器斷開。二極管起保護(hù)作用,防止繼電器產(chǎn)生的感應(yīng)電動勢燒壞三極管或繼電器。5.軟件設(shè)計系統(tǒng)的程序設(shè)計包括以下幾個方面:(1)鍵盤掃描[12]。(2)各項參數(shù)的采集。(3)各項參數(shù)在液晶上的顯示。(4)各項參數(shù)的繼電器控制。5.1主程序流程圖 主程序的流程如圖5-1圖5-1主程序流程圖 當(dāng)單片機(jī)上電后,主程序開始運行,程序以開始初始化各參數(shù)的設(shè)置和端口定義后,清各標(biāo)志位和LCD1602的顯示,然后進(jìn)行鍵盤掃描,再利用各傳感器進(jìn)行數(shù)據(jù)的采集,將采集的數(shù)據(jù)和設(shè)置好的參數(shù)進(jìn)行對比,如果對比結(jié)果顯示需要調(diào)節(jié),啟動相應(yīng)的繼電器控制電路對溫室中需要調(diào)節(jié)的參數(shù)進(jìn)行調(diào)節(jié)并顯示在LCD1602上,如果比較結(jié)果顯示不需要調(diào)節(jié),則不啟動繼電器控制電路,直接顯示參數(shù),然后對鍵盤進(jìn)行循環(huán)掃描。5.2.參數(shù)測量子程序流程圖 參數(shù)測量子程序流程如圖5-2圖5-2參數(shù)測量子程序流程圖子程序開始先聲明變量和調(diào)用的函數(shù)后,調(diào)用顯示函數(shù),啟動模數(shù)轉(zhuǎn)換器ADC0804進(jìn)行模數(shù)轉(zhuǎn)換,轉(zhuǎn)化如果未完成,單片機(jī)進(jìn)行等待。當(dāng)轉(zhuǎn)換完成后,單片機(jī)讀取轉(zhuǎn)換后的數(shù)據(jù),然后循環(huán)調(diào)用顯示函數(shù)和進(jìn)行模數(shù)轉(zhuǎn)換。5.3.鍵盤掃描子程序流程 鍵盤掃描子程序流程如圖5-3圖5-3鍵盤掃描流程圖 鍵盤掃描子程序一開始先掃描按鍵,判斷是否有按鍵被按下,確定有按鍵被按下時判斷被按下的是哪個按鍵,如果是按鍵S1,系統(tǒng)將進(jìn)入設(shè)置模式,這時按鍵S2和S3被啟用,進(jìn)入那個參數(shù)的設(shè)置取決于按鍵S1被按下的次數(shù),S1被按下一次,進(jìn)行溫度值設(shè)置,S1被按下兩次,進(jìn)行濕度值設(shè)置,S1被按下三次,進(jìn)行光照度設(shè)置,當(dāng)按下第四次,返回正常顯示,按鍵S2和S3被禁用。按鍵S2和S3作用是調(diào)節(jié)參數(shù)值,每次按下S2,當(dāng)前設(shè)置的參數(shù)值就加一。每次按下S3,當(dāng)前設(shè)置的參數(shù)值就減一。參考文獻(xiàn)[1]梅曉榕,柏桂珍,張卯瑞.自動控制元件及線路[M].北京:科學(xué)出版社,2007[2]張義和,王敏男,許宏昌,余長春.例說51單片機(jī)(C語言版)[M].北京:人民郵電出版社,2010,6[3]濕度傳感器HS1101的原理與應(yīng)用[EB/OL].中國電子科技信息網(wǎng).[4]胡漢才.單片機(jī)原理與接口技術(shù)[M].清華大學(xué)出版社,1996.[5]黃賢斌,鄭筱霞.傳感器原理與應(yīng)用[M].北京:高等教育出版社.成都:電子科技大學(xué)出版社,2004,3(2009.1重印)[6]何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航天航空出版社.1990,50-490[7]劉篤仁,韓保君.傳感器原理及應(yīng)用技術(shù)[M].機(jī)械工業(yè)出版社.2003,8[8]1985趙亮.液晶顯示模塊LCD1602應(yīng)用[J].電子制作,2007(3)[9]<英> GuiyunTian.FoundationandApplicationofMicrocontroller[M].北京:高等教育出版社[10]王勇等.凌陽單片機(jī)原理及其畢業(yè)設(shè)計精選[M].科學(xué)出版社[11]童詩白.模擬電路基礎(chǔ)[M],北京:高等教育出版社,2001[12]馬忠梅,籍順心,張凱等.單片機(jī)的C語言應(yīng)用程序設(shè)計[M]. 北京航天航空大學(xué)出版社,2003[13]<美>M考夫曼,AH塞得.電子計算手冊[M].國防科技出版社.[14]王毅.單片機(jī)器件應(yīng)用手冊[M].北京:人民郵電出版社,1994Microcontroller-based
automaticmonitoringandcontrol
ofgreenhouse
lightandtemperature
andhumidity
systemElectronicInformationEngineering,DepartmentofElectronicInformationEngineering118542007050PanXiaoqiTeacher:YuJianming【Abstract】ThesystemconsistsofmicrocontrollerSTC89C52,thetemperaturedetectioncircuit,humiditydetectioncircuit,lightdetectioncircuit,thekeyboardscanningcircuit,clockcircuit,sensorcircuitandrelaycontrolcircuitandothercomponents.SystemusesSTC89C52SCM,thefeaturesofwhichasfollows:strongfunction,lowpowerconsumption,lowprices,stableandreliable,widelyused,versatileandsoon.
Thethesismainlyfocuson:thebaseblockdiagram,workingprincipleandthedesignofrelaycontrolwhichuseSTC89C52microcontrollerasthecoretocollect,conduct,displaythedataoftheairtemperature,soilhumidity,illuminanceandsoon.ThesystemuseReal-timeandcontinuousdetection,displayintuitivelyandcontrolautomaticallyonsoilmoisture,ambienttemperature,illuminanceintheprocessofplantgrowth.Toovercomethedefectsfromthetraditionalmanualmethodsofmeasurementwhichcannotmeasurecontinuously,savetheamountofwork,avoidomissionsorunnecessarylossesthatcausedbyerrors.
【Keywords】SCM,humiditysensors,digitaltemperaturesensors,lightdependentresistor,relaycontrol.附錄1電子元器件明細(xì)表類型封裝型號數(shù)量備注瓷片電容RAD-0.11042瓷片電容RAD-0.1302瓷片電容RAD-0.11502電解電容RAD-0.12200uF1電解電容RAD-0.110uF1電位器RP310K1插針HDR1X22p4插針HDR1X33p1插針HDR1X916p1三極管BCY-W3IN54013二極管DIO10.46-5.3x2.8IN40078發(fā)光二極管LED-1LED-13電阻AXIAL-0.4576K1電阻AXIAL-0.450K1電阻AXIAL-0.43K3電阻AXIAL-0.41K8電阻AXIAL-0.4909K1電阻AXIAL-0.410K15光敏電阻AXIAL-0.4MG45-141液晶模塊HDRX16LCD16021集成電路N020ADC08042集成電路40P6STC89C521集成電路DIP-08TLC5551集成電路Header2HHS11011集成電路Header3HDS18B201穩(wěn)壓電路T03BLM78051按鍵SWKEP(4.5X6.5)12晶振RAD-0.2XTAL1附錄2:系統(tǒng)總體電路圖1.主板電路圖:2.主板PCB圖:3.電源原理圖:附錄3:實物圖系統(tǒng)實物圖1系統(tǒng)實物圖2系統(tǒng)實物圖3附錄4:系統(tǒng)源代碼程序:/*項目(Project):基于單片機(jī)的溫室光溫濕度自動控制系統(tǒng)創(chuàng)建人(Author):日期(Data):2011-1-1編譯器(Complie):keil3 版本 :單片機(jī)(MCUtype):STC89C52RC注意事項(Attention):修改時間:*/#include<reg52.h>#include<absacc.h>#include<intrins.h>#include<stdio.h>#defineucharunsignedchar#defineuintunsignedint#defineT_cont0.0625;#defineDataPortP0//LCD接口#defineReadPortP2//AD讀取ucharcodetemp[]={"temp:"};ucharcodetempset[]={"tempset:"};ucharcodehun[]={"hun:"};ucharcodehunset[]={"hunset:"};ucharcodeinte[]={"inte:"};ucharcodeinteset[]={"inteset:"};ucharcodeset[]={"stepinset!"};uchartempset1,s1num,s4num,hunset1,hun1,hun2,inteset1,inte1;bitT_sign;floattemp1=0;uchart_bai,t_shi,t_ge,t_feng,t_miao,sshi,sge, h_bai,h_shi,h_ge,hshi,hge, i_bai,i_shi,i_ge,ishi,ige;sbits1=P1^0;sbits2=P1^1;sbits3=P1^2;sbits4=P1^3;sbitrelay1=P1^5;sbitrelay2=P1^6;sbitrelay3=P1^7;sbitcs1=P3^0;sbitcs2=P3^1;sbitDS=P3^2;sbitlcdrw=P3^3;sbitlcden=P3^4;sbitlcdrs=P3^5;sbitwr=P3^6;sbitrd=P3^7;///////////////////////////////////////////////////////////////////////voiddelay(uintz) //延時函數(shù){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}voiddsreset(void)//sendresetandinitializationcommand{uinti;//DS18B20初始化DS=0;i=103;while(i>0)i--;DS=1;i=4;while(i>0)i--;}bittmpreadbit(void)//readabit讀一位{uinti;bitdat;DS=0;i++;//i++fordelay小延時一下DS=1;i++;i++;dat=DS;i=8;while(i>0)i--;return(dat);}uchartmpread(void)//readabytedate讀一個字節(jié){uchari,j,dat;dat=0;for(i=1;i<=8;i++){j=tmpreadbit();dat=(j<<7)|(dat>>1);//讀出的數(shù)據(jù)最低位在最前面,這樣剛好//一個字節(jié)在DAT里}return(dat);//將一個字節(jié)數(shù)據(jù)返回}voidtmpwritebyte(uchardat)//writeabytetods18b20{//寫一個字節(jié)到DS18B20里uinti;ucharj;bittestb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if(testb)//write1寫1部分{DS=0;i++;i++;DS=1;i=8;while(i>0)i--;}else{DS=0;//write0寫0部分i=8;while(i>0)i--;DS=1;i++;i++;}}}voidreadtemperature() //讀溫度函數(shù){ uinty;ucharT_L=0; ucharT_H=0; uchark; dsreset(); delay(1); tmpwritebyte(0xcc); tmpwritebyte(0x44); dsreset(); delay(1); tmpwritebyte(0xcc); tmpwritebyte(0xbe); T_L=tmpread(); T_H=tmpread(); k=T_H&0x08; if(k==0x08) T_sign=1; else T_sign=0; T_H=T_H&0x07; temp1=(T_H*256+T_L)*T_cont; temp1=temp1*100; t_bai=(uint)temp1/10000; y=(uint)temp1%10000; t_shi=y/1000; y=(uint)y%1000; t_ge=y/100; y=(uint)y%100; t_feng=y/10; t_miao=(uint)y%10; }/////////////////////////////////////////////////////////////voidinteadc0804()//光照度adc轉(zhuǎn)換子程序與數(shù)據(jù)處理{ rd=1; wr=1;//讀ADC ReadPort=0xff;//P1置位 cs1=0; wr=0; wr=1;//啟動ADC rd=0;//開始讀轉(zhuǎn)換后數(shù)據(jù) _nop_();_nop_();//稍延時,等待讀完數(shù) inte1=ReadPort;//讀出的光照度數(shù)據(jù)賦與inte1 rd=1; cs1=1;//讀數(shù)完畢i_bai=inte1/100;//百位數(shù)i_shi=(inte1%100)/10;//十位數(shù)i_ge=(inte1%10);//個位數(shù)}voidhunadc0804() //濕度adc轉(zhuǎn)換子程序與數(shù)據(jù)處理{ rd=1; wr=1;//讀ADC ReadPort=0xff;//P1置位 cs2=0; wr=0; wr=1;//啟動ADC rd=0;//開始讀轉(zhuǎn)換后數(shù)據(jù) _nop_();_nop_();//稍延時,等待讀完數(shù) delay(20); hun2=ReadPort;//讀出的濕度數(shù)據(jù)賦與hun1 rd=1; cs2=1;//讀數(shù)完畢 hun1=hun2/2.55; h_bai=hun1/100;//百位數(shù)h_shi=(hun1%100)/10;//十位數(shù)h_ge=(hun1%10);//個位數(shù)}///////////////////////////////////////////////////////////voidwrite_com(ucharcom)//lcd寫命令函數(shù){ lcdrs=0; lcdrw=0; lcden=0; P0=com; delay(10);//延時 lcden=1;//下三行表示E高脈沖到來就開始轉(zhuǎn)換 delay(10); lcden=0;}voidwrite_data(uchardate) //lcd寫數(shù)據(jù)函數(shù){ lcdrs=1; lcdrs=1; lcdrw=0; lcden=0; P0=date; delay(10); lcden=1; delay(10); lcden=0;}voidinit() //初始化函數(shù){ s1=1; tempset1=25; hunset1=50; inteset1=15; lcdrw=0; lcden=0; write_com(0x38); delay(10); write_com(0x0f); delay(10); write_com(0x06); delay(10); write_com(0x01); delay(10);}voidprint(uchara,uchar*str) //輸出字符{ write_com(a); while(*str!='\0'){write_data(*str++);} *str=0; }voidprint1(uchara,uchart)//輸出18b20數(shù)據(jù)到1602{ write_com(a); write_data(t);}voidprint2(uchara1,uchart1)//輸出設(shè)置溫度數(shù)據(jù)到1602{ ucharsshi,sge; sshi=t1/10; sge=t1%10; write_com(0x80+a1); write_data(sshi+0x30); write_data(sge+0x30);}////////////////////////////////////////////////////////////voidkeyscan() //鍵盤掃描函數(shù){ rd=0; if(s1==0) { delay(5); if(s1==0) { s1num++; while(!s1); if(s1num==1) { write_com(0x01); print(0x80,tempset); print1(0x8e,0x43); print1(0x80+11,0x2e); print1(0x80+12,0+0x30); print1(0x80+13,0+0x30); write_com(0x80+9); write_com(0x0f); delay(20); } if(s1num==2) { write_com(0x01); print(0x80,hunset); print1(0x8b,0x30); print1(0x8d,0x25); print1(0x8e,0x20); write_com(0x80+11); write_com(0x80+11); } if(s1num==3) { write_com(0x01); print(0x80,inteset); print1(0x8b,0x30); print1(0x80+12,0+0x30); print1(0x80+13,0+0x30); print1(0x8d,0x4d); print1(0x8e,0x56); write_com(0x80+11); } if(s1num==5) { s1num=0; write_com(0x01); s4num=1; } } }if(s1num!=0){ if(s1num==1) { if(s2==0) { delay(5); if(s2==0) { while(!s2); if(s1num==1) { tempset1++; write_com(0x80+10); print2(9,tempset1); if(tempset1==40) tempset1=15; } } } if(s3==0) { delay(5); if(s3==0) { while(!s3); if(s1num==1) { tempset1--; write_com(0x80+11); print2(9,tempset1); if(tempset1==15) tempset1=40; } } } } if(s1num==2){ if(s2==0) { delay(5); if(s2==0) { while(!s2); if(s1num==2) { hunset1++; write_com(0x80+10); print2(11,hunset1); if(hunset1==90) hunset1=10; } } }if(s3==0) { delay(5); if(s3==0) { while(!s3); if(s1num==2) { hunset1--; write_com(0x80+11); print2(11,hunset1); if(hunset1==10) hunset1=90; } } } }if(s1num==3){ if(s2==0) { delay(5); if(s2==0) { while(!s2); if(s1num==3) { intese
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 肺炎狀況課件教學(xué)課件
- 2024年度產(chǎn)品代理合同與物業(yè)費詳細(xì)構(gòu)成
- 課件腕關(guān)節(jié)教學(xué)課件
- 2024年乙方向甲方購買設(shè)備的購銷合同
- 2024年建筑信息模型(BIM)合作協(xié)議
- 2024年住宅買賣雙方合同
- 2024年度4S店租賃期內(nèi)客戶資料保密協(xié)議
- 制備氧氣課件教學(xué)課件
- 2024廣州房屋租賃合同范本2
- 【幼兒園語言文字教學(xué)的規(guī)范化分析3000字(論文)】
- 瓶口分液器校準(zhǔn)規(guī)范
- (完整版)醫(yī)療器械網(wǎng)絡(luò)交易服務(wù)第三方平臺質(zhì)量管理文件
- 信息管理監(jiān)理實施細(xì)則水利水電工程
- (醫(yī)學(xué)課件)DIC患者的護(hù)理
- 跨境數(shù)據(jù)流動的全球治理進(jìn)展、趨勢與中國路徑
- 【多旋翼無人機(jī)的組裝與調(diào)試5600字(論文)】
- 2023年遼陽市宏偉區(qū)事業(yè)單位考試真題
- 環(huán)境工程專業(yè)英語 課件
- 繼電保護(hù)動作分析報告課件
- 五年級數(shù)學(xué)上冊8解方程課件
評論
0/150
提交評論