基于單片機(jī)的農(nóng)業(yè)大棚控制監(jiān)測(cè)系統(tǒng)修改3_第1頁(yè)
基于單片機(jī)的農(nóng)業(yè)大棚控制監(jiān)測(cè)系統(tǒng)修改3_第2頁(yè)
基于單片機(jī)的農(nóng)業(yè)大棚控制監(jiān)測(cè)系統(tǒng)修改3_第3頁(yè)
基于單片機(jī)的農(nóng)業(yè)大棚控制監(jiān)測(cè)系統(tǒng)修改3_第4頁(yè)
基于單片機(jī)的農(nóng)業(yè)大棚控制監(jiān)測(cè)系統(tǒng)修改3_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

目錄中文摘要 3英文摘要. 41 引言 61.1 研究背景及意義 61.2 設(shè)計(jì)思想及基本功能 72 系統(tǒng)總體設(shè)計(jì) 82.1 設(shè)計(jì)要求 82.2方案選擇 82.2.1溫濕度傳感器的選擇 82.2.2光照傳感器的選擇 82.2.3單片機(jī)的選擇 83系統(tǒng)硬件設(shè)計(jì) 103.1整體方案設(shè)計(jì) 103.1.1系統(tǒng)概述 103.1.2系統(tǒng)框圖 103.2最小系統(tǒng)模塊 103.2.1STC89C52簡(jiǎn)介 103.2.2最小系統(tǒng)電路 123.3DHT11傳感器電路 133.3.1DHT11簡(jiǎn)介 133.3.2DHT11模塊電路 143.4光照采集電路 153.4.1光照傳感器簡(jiǎn)介 153.4.2BH1750FVI簡(jiǎn)介 153.4.3光照傳感器模塊電路 163.5液晶顯示電路 163.5.11602液晶簡(jiǎn)介 163.5.2液晶顯示模塊電路 173.6蜂鳴器模塊 183.7按鍵輸入模塊 193.8LED顯示電路 194軟件設(shè)計(jì) 214.1程序語(yǔ)言及開(kāi)發(fā)環(huán)境 214.2程序流程圖設(shè)計(jì) 214.2.1總體程序流程圖設(shè)計(jì) 214.2.21602液晶程序設(shè)計(jì) 224.2.3溫濕度DHT11傳感器程序設(shè)計(jì) 234.2.4光照模塊程序設(shè)計(jì) 245仿真 26結(jié)論 27謝辭 28參考文獻(xiàn) 29附錄A主程序代碼 31附錄B系統(tǒng)設(shè)計(jì)原理圖 57附錄C系統(tǒng)仿真總圖 58基于單片機(jī)的農(nóng)業(yè)大棚檢測(cè)采集系統(tǒng)設(shè)計(jì)摘要:溫度和濕度是在農(nóng)業(yè)生產(chǎn)中常見(jiàn)的和基本的參數(shù)之一,它們會(huì)大幅度影響作物產(chǎn)量和品質(zhì)。本次設(shè)計(jì)將單片機(jī)、傳感器、計(jì)算機(jī)技術(shù)相結(jié)合設(shè)計(jì)出一套符合現(xiàn)代溫室大棚的溫濕度采集系統(tǒng)。本設(shè)計(jì)采用單片機(jī)最小系統(tǒng)為核心部分,檢測(cè)部分使用DHT11溫濕度一體傳感器和BH1750FVI光照檢測(cè)傳感器、顯示設(shè)備采用1602液晶,可以同時(shí)顯示檢測(cè)到的溫度、濕度還有光照強(qiáng)度等值。同時(shí)附有鍵盤(pán)電路、LED燈電路、蜂鳴器電路等,共同組成了本設(shè)計(jì)的超限報(bào)警模塊。整個(gè)設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單緊湊,功耗較低,抗干擾能力強(qiáng)、總體性能比較好,實(shí)現(xiàn)一種智能、快捷、方便的溫濕度和光照的測(cè)量系統(tǒng)。關(guān)鍵詞:溫室大棚;單片機(jī);溫濕度傳感器ThedesignofthecontrolandmonitoringsystemofagriculturalgreenhousebasedonsinglechipmicrocomputerAbstract:Temperatureandhumidityareoneofthecommonandbasicparametersinagriculturalproduction,whichwillgreatlyaffectcropyieldandquality.Thisdesigncombinessinglechipmicrocomputer,sensorandcomputertechnologytodesignasetoftemperatureandhumidityacquisitionsystemwhichconformstothemoderngreenhouse.Inthisdesign,theminimumsystemofsingle-chipmicrocomputerisusedasthecorepart,DHT11integratedtemperatureandhumiditysensorandbh1750fvilightdetectionsensorareusedinthedetectionpart,and1602liquidcrystalisusedinthedisplaydevice,whichcandisplaythedetectedtemperature,humidityandlightintensityatthesametime.Atthesametime,thekeyboardcircuit,LEDlightcircuit,buzzercircuitandsoonareattachedtoformtheoverrunalarmmodule.Thewholedesignhassimpleandcompactstructure,lowpowerconsumption,stronganti-interferenceabilityandgoodoverallperformance.Itrealizesanintelligent,fastandconvenienttemperature,humidityandlightmeasurementsystem.Keywords:Greenhouse;MCU;temperatureandhumiditysensor基于單片機(jī)的農(nóng)業(yè)大棚檢測(cè)采集系統(tǒng)設(shè)計(jì)引言研究背景及意義農(nóng)業(yè)生產(chǎn)一直是我國(guó)非常重視的一個(gè)方面,雖然我國(guó)每年都會(huì)給予農(nóng)業(yè)補(bǔ)助,但仍然存在很多問(wèn)題。目前我國(guó)農(nóng)業(yè)生產(chǎn)方面面臨的問(wèn)題有:首先,中國(guó)人口眾多,其次是資源匱乏。再次,中國(guó)的農(nóng)業(yè)生產(chǎn)是昂貴的和低技術(shù)的,沒(méi)有大規(guī)模的工業(yè)。解決這些問(wèn)題的關(guān)鍵是要把中國(guó)的農(nóng)業(yè)從傳統(tǒng)農(nóng)業(yè)轉(zhuǎn)變?yōu)楝F(xiàn)代科學(xué)技術(shù)農(nóng)業(yè),以保障糧食安全,再提高效率、質(zhì)量、產(chǎn)量。農(nóng)業(yè)環(huán)境由高技術(shù)、高質(zhì)量和高生產(chǎn)力的技術(shù)控制,這有助于大規(guī)模的推廣,設(shè)備齊全,中國(guó)農(nóng)業(yè)現(xiàn)代化的步伐加快。溫度和濕度是在農(nóng)業(yè)生產(chǎn)中常見(jiàn)的和基本的參數(shù)之一,它們會(huì)大幅度影響作物產(chǎn)量和品質(zhì)。隨著現(xiàn)代科學(xué)和技術(shù)在提高農(nóng)業(yè)生產(chǎn)力方面發(fā)揮著重要作用,我們可以借助單片機(jī)程序,設(shè)計(jì)系統(tǒng)以確定溫度和濕度,實(shí)現(xiàn)實(shí)時(shí)顯示、儲(chǔ)存和監(jiān)測(cè)溫度、濕度,實(shí)現(xiàn)符合國(guó)內(nèi)生產(chǎn)體系、產(chǎn)品質(zhì)量與節(jié)能需求的溫控采集系統(tǒng)。本次設(shè)計(jì)欲將單片機(jī)、傳感器、計(jì)算機(jī)技術(shù)相結(jié)合設(shè)計(jì)出一套符合現(xiàn)代溫室大棚的溫濕度采集系統(tǒng)。國(guó)外溫室控制技術(shù)以美國(guó)最為先進(jìn),主要是因?yàn)槠溆?jì)算機(jī)的發(fā)展非常迅速,這也使得計(jì)算機(jī)為主的溫室環(huán)境控制技術(shù)迅速發(fā)展。溫室大棚內(nèi)控制包括室內(nèi)溫度,土壤溫度,相對(duì)空氣濕度,通風(fēng)口狀況,保溫幕狀況,pH調(diào)節(jié),CO2濃度;室外控制包括光照強(qiáng)度,相對(duì)空氣濕度,大氣濕度,風(fēng)向風(fēng)速等。溫室系統(tǒng)的應(yīng)用為農(nóng)業(yè)生產(chǎn)發(fā)展提供了很大的幫助,提高了工作效率,減少勞動(dòng)量,收獲了更多更好的產(chǎn)品。荷蘭從上個(gè)世紀(jì)八十年代就開(kāi)始溫室計(jì)算機(jī)自動(dòng)控制系統(tǒng)的開(kāi)發(fā),并不斷地研究模擬控制軟件。并通過(guò)交互式界面顯示必要的信息,設(shè)置參數(shù)并繪制曲線(xiàn),修正值曲線(xiàn)和測(cè)量數(shù)據(jù)曲線(xiàn)可以從設(shè)定的時(shí)間數(shù)據(jù)庫(kù)中調(diào)用。其方便的方式可以直接查詢(xún)數(shù)據(jù)計(jì)算機(jī)的串行端口和完成上位機(jī)和下位機(jī)之間的信息交流。實(shí)現(xiàn)參數(shù)設(shè)置,信息顯示和控制等功能,同時(shí)還能夠進(jìn)行數(shù)據(jù)調(diào)整,完成溫室環(huán)境監(jiān)控。設(shè)計(jì)思想及基本功能針對(duì)我國(guó)蔬菜大棚存在的問(wèn)題,通過(guò)調(diào)查分析,確定了設(shè)計(jì)任務(wù)。本系統(tǒng)要能對(duì)溫濕度、光照度進(jìn)行實(shí)時(shí)采集,采集到的數(shù)據(jù)傳入單片機(jī)中,通過(guò)單片機(jī)對(duì)采集到的數(shù)據(jù)進(jìn)行處理,處理過(guò)的數(shù)據(jù)通過(guò)單片機(jī)接口送達(dá)顯示模塊顯示,當(dāng)數(shù)據(jù)超出系統(tǒng)設(shè)定的報(bào)警值時(shí),系統(tǒng)會(huì)進(jìn)行報(bào)警,要能通過(guò)按鍵調(diào)整報(bào)警閾值大小。本系統(tǒng)可以全面且及時(shí)的對(duì)溫室環(huán)境中的溫濕度進(jìn)行采集與監(jiān)測(cè),并且還可以將以前的數(shù)據(jù)進(jìn)行保存與記錄,方便人們及時(shí)查看與數(shù)據(jù)對(duì)比,此外設(shè)計(jì)了顯示模塊,通過(guò)使用圖形的方式更加直觀顯示參數(shù),實(shí)現(xiàn)了智能化遠(yuǎn)程監(jiān)測(cè)溫濕度的思想。

系統(tǒng)總體設(shè)計(jì)設(shè)計(jì)要求(1)熟悉51單片機(jī)集成開(kāi)發(fā)環(huán)境,運(yùn)用C語(yǔ)言編寫(xiě)工程文件;

(2)熟練應(yīng)用所選用單片機(jī)的內(nèi)部結(jié)構(gòu)、資源,以及軟硬件調(diào)試設(shè)備的基本方法;

(3)自行構(gòu)建基于單片機(jī)的最小系統(tǒng),完成相關(guān)硬件電路的設(shè)計(jì)實(shí)現(xiàn);

(4)理解溫度、濕度和光強(qiáng)等的檢測(cè)原理和掌握實(shí)現(xiàn)方法。2.2方案選擇2.2.1溫濕度傳感器的選擇方案一:選用DHT11作為溫濕度檢測(cè)模塊。DHT11是一款數(shù)字輸出的復(fù)合傳感器,包含一個(gè)電阻式干事元件和NTC式溫度檢測(cè)元件,可測(cè)20—90%RH濕度,誤差為±5%RH,0—50℃,誤差范圍±2℃。方案二:選用SHT11作為溫濕度檢測(cè)模塊。SHT11是一款精度較高的元件,濕度測(cè)量范圍為0—100%RH,測(cè)量精度為0.1%RH;溫度測(cè)量范圍為-40-123.8℃,精度為±0.01℃。價(jià)格較高。本次是大棚監(jiān)測(cè),對(duì)精度要求不高,應(yīng)選擇方案一。2.2.2光照傳感器的選擇選用集成的光照傳感器例如BH1750FVI,該集成的傳感器模塊靈敏度大,測(cè)量范圍廣(1-65535lx),對(duì)光源的依賴(lài)性低,并且通過(guò)IIC接口和單片機(jī)進(jìn)行數(shù)據(jù)傳輸通信,省去了中間AD轉(zhuǎn)換的步驟,輸出的結(jié)果即當(dāng)前的光照強(qiáng)度,單位是勒克斯。2.2.3單片機(jī)的選擇采用單片機(jī)作為系統(tǒng)控制器。單片機(jī)具有可靠性強(qiáng)、性?xún)r(jià)比搞、電壓低、功耗低等優(yōu)點(diǎn)得到迅猛發(fā)展和大范圍推廣,單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程靈活,自由度大,可用軟件編程實(shí)現(xiàn)各種邏輯功能,本身帶有定時(shí)器、計(jì)數(shù)器,可以用來(lái)定時(shí)和計(jì)數(shù),并且其功耗低,體積小,計(jì)數(shù)成熟和成本低等優(yōu)點(diǎn)。方案一:采用TI公司的STM32作為主芯片,DSP是專(zhuān)業(yè)的運(yùn)算芯片,他的運(yùn)行速度和性能的穩(wěn)定性都值得稱(chēng)贊,適合復(fù)雜運(yùn)算,成本較高。方案二:采用STC89C51單片機(jī)作為主控芯片,作為一款入門(mén)級(jí)單片機(jī),價(jià)格便宜,適用面廣,能應(yīng)對(duì)多種情況,并且后期維護(hù)和升級(jí)方便。方案三:采用ATML公司的AT,價(jià)格便宜,運(yùn)行速度較慢,只能進(jìn)行簡(jiǎn)單運(yùn)算。綜上所述,選擇方案二,價(jià)格適中,性能穩(wěn)定,后期維護(hù)升級(jí)也方便。

3系統(tǒng)硬件設(shè)計(jì)3.1整體方案設(shè)計(jì)3.1.1系統(tǒng)概述整個(gè)系統(tǒng)以STC89C52單片機(jī)為核心器件,配合電阻電容晶振等器件,構(gòu)成單片機(jī)的最小系統(tǒng)。其它個(gè)模塊圍繞著單片機(jī)最小系統(tǒng)展開(kāi)。其中包括,溫濕度采集使用DHT11溫濕度一體的傳感器,負(fù)責(zé)采集溫度和濕度的數(shù)據(jù)后發(fā)給單片機(jī);光照強(qiáng)度采集使用BH1750FVI傳感器集成的光照模塊GY-30,負(fù)責(zé)將采集到的光照強(qiáng)度發(fā)給單片機(jī);按鍵部分使用市面上常見(jiàn)的輕觸按鍵作為系統(tǒng)的輸入設(shè)置模塊;顯示設(shè)備為1602液晶;報(bào)警則采用蜂鳴器和LED的形式,實(shí)現(xiàn)聲光報(bào)警效果;電源供電則采用USB5V供電。3.1.2系統(tǒng)框圖1602液晶單片機(jī)最小系統(tǒng)DHT11溫濕度一體傳感器1602液晶單片機(jī)最小系統(tǒng)DHT11溫濕度一體傳感器蜂鳴器集成光照蜂鳴器集成光照傳感器LED指示燈按鍵設(shè)置輸入LED指示燈按鍵設(shè)置輸入圖3-1系統(tǒng)框圖3.2最小系統(tǒng)模塊3.2.1STC89C52簡(jiǎn)介(1)概述STC89C52是一個(gè)低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫(xiě)的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)用場(chǎng)合。(2)8051單片機(jī)的引腳功能MCS-51系列單片機(jī)一般采用40個(gè)引腳,雙列直插式封裝,用HMOS工藝制造,其外部引腳排列如圖3-2所示。其中,各引腳的功能為:圖3-2STC89C52引腳圖①主電源引腳VCC(40腳),接+5V電源正端;GND(20腳),接+5V電源地端;②外接晶體或外部振蕩器引腳XTAL1(19腳),接外部晶振的一個(gè)引腳。在單片機(jī)內(nèi)部,它是一個(gè)反相放大器 的輸入端。當(dāng)采用外部振蕩器時(shí),此引腳應(yīng)接 地。XTAL2(18腳),接外部晶振的另一個(gè)引腳。在片內(nèi)接至反相放大器的輸出端和 內(nèi)部時(shí)鐘電路的輸入端。當(dāng)采用外部振蕩器時(shí),此腳接外部振蕩器的輸出端。③控制信號(hào)線(xiàn)RESET(9腳),復(fù)位信號(hào)輸入端,復(fù)位/掉電時(shí)內(nèi)部RAM的備用電源輸入端。ALE(30腳),地址鎖存允許/編程脈沖輸入,用ALE鎖存從P0口輸出的低8位地址。在對(duì)片內(nèi)EPROM編程時(shí),編程脈沖由此輸入。PSEN(29腳),外部程序存儲(chǔ)器讀選通信號(hào),低電平有效。 EA(31腳),訪(fǎng)問(wèn)外部存儲(chǔ)器允許/編程電壓輸入。EA為高電平時(shí),訪(fǎng)問(wèn)內(nèi)部存 儲(chǔ)器;低電平時(shí),訪(fǎng)問(wèn)外部存儲(chǔ)器。④多功能I/O口引腳8051單片機(jī)設(shè)有4個(gè)雙向I/O口(P0、P1、P2、P3),每一組I/O口線(xiàn)都可以獨(dú)立地用作輸入或輸出口,其中:P0口(32~39腳)——雙向口(三態(tài)),可作為輸入/輸出口,可驅(qū)動(dòng)8個(gè)LSTTL門(mén)電路。實(shí)際應(yīng)用中常作為分時(shí)使用的地址/數(shù)據(jù)總線(xiàn)口,對(duì)外部程序或數(shù)據(jù)存儲(chǔ)器尋址時(shí)低8位地址與數(shù)據(jù)總線(xiàn)分時(shí)使用P0口:先送低8位地址信號(hào)到P0口,由地址鎖存信號(hào)ALE的下降沿將地址信號(hào)鎖存到地址鎖存器后,再作為數(shù)據(jù)總線(xiàn)的口線(xiàn)對(duì)數(shù)據(jù)進(jìn)行輸入或輸出。P1口(1~8腳)——準(zhǔn)雙向口(三態(tài)),可驅(qū)動(dòng)4個(gè)LSTTL門(mén)電路。用作輸入線(xiàn)時(shí),口鎖存器必須由單片機(jī)先寫(xiě)入“1”,每一位都可編程為輸入或輸出線(xiàn)。P2口(21~28)——準(zhǔn)雙向口(三態(tài)),可驅(qū)動(dòng)4個(gè)LSTTL門(mén)電路。可作為輸入/輸出口,實(shí)際應(yīng)用中一般作為地址總線(xiàn)的高8位,與P0口一起組成16位地址總線(xiàn),用于對(duì)外部存儲(chǔ)器的接口電路進(jìn)行尋址。P3口(10~17腳)——準(zhǔn)雙向口(三態(tài)),可驅(qū)動(dòng)4個(gè)LSTTL門(mén)電路。雙功能口,作為第一功能使用時(shí),與P1口一樣;作為第二功能使用時(shí),每一位都有特定用途。3.2.2最小系統(tǒng)電路STC89C52的最小系統(tǒng)如圖3-3所示,整個(gè)最小系統(tǒng)由三個(gè)部分組成,晶振電路部分、復(fù)位電路部分、電源電路等三個(gè)部分組成。晶振電路包括2個(gè)30pF的電容C2和C3,以及12M的晶振X1。電容的作用在這里是起振作用,幫助晶振更容易的起振,取值范圍是15-33pF。晶振的取值也可以是24M,晶振的取值越高,單片機(jī)的執(zhí)行速度越快。在進(jìn)行電路設(shè)計(jì)的時(shí)候,晶振部分越靠近單片機(jī)越好。單片機(jī)復(fù)位電路就好比電腦的重啟部分,當(dāng)電腦在使用中出現(xiàn)死機(jī),按下重啟按鈕電腦內(nèi)部的程序從頭開(kāi)始執(zhí)行。單片機(jī)也一樣,當(dāng)單片機(jī)系統(tǒng)在運(yùn)行中,受到環(huán)境干擾出現(xiàn)程序跑飛的時(shí)候,按下復(fù)位按鈕內(nèi)部的程序自動(dòng)從頭開(kāi)始執(zhí)行。圖3-3單片機(jī)最小系統(tǒng)3.3DHT11傳感器電路3.3.1DHT11簡(jiǎn)介DHT11(圖3-4)數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專(zhuān)用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性?xún)r(jià)比極高等優(yōu)點(diǎn)。圖3-4數(shù)字溫濕度傳感器3.3.2DHT11模塊電路DHT11的模塊電路圖如下圖所示:圖3-5DHT11模塊連接圖(1)接口說(shuō)明 建議連接線(xiàn)長(zhǎng)度短于20米時(shí)用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用合適的上拉電阻。(2)引腳說(shuō)明Pin1:(VDD),電源引腳,供電電壓為3-5.5V。Pin2:(DATA),串行數(shù)據(jù),單總線(xiàn)。Pin3:(NC),空腳,請(qǐng)懸浮。Pin4(VDD),接地端,電源負(fù)極。(3)串行接口(單線(xiàn)雙向)DATA用于微處理器與DHT11之間的通訊和同步,采用單總線(xiàn)數(shù)據(jù)格式,一次通訊時(shí)間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說(shuō)明。當(dāng)前小數(shù)部分用于以后擴(kuò)展,現(xiàn)讀出為零。操作流程如下:一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式為8位濕度整數(shù)數(shù)據(jù)+8位濕度小數(shù)數(shù)據(jù)+8位溫度整數(shù)數(shù)據(jù)+8位溫度小數(shù)數(shù)據(jù)+8位校驗(yàn)和,數(shù)據(jù)傳送正確時(shí)校驗(yàn)和數(shù)據(jù)等于“8位濕度整數(shù)數(shù)據(jù)+8位濕度小數(shù)數(shù)據(jù)+8位溫度整數(shù)數(shù)據(jù)+8位溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。用戶(hù)MCU發(fā)送一次開(kāi)始信號(hào)后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開(kāi)始信號(hào)結(jié)束后,DHT11發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)一次信號(hào)采集,用戶(hù)可選擇讀取部分?jǐn)?shù)據(jù).從模式下,DHT11接收到開(kāi)始信號(hào)觸發(fā)一次溫濕度采集,如果沒(méi)有接收到主機(jī)發(fā)送開(kāi)始信號(hào),DHT11不會(huì)主動(dòng)進(jìn)行溫濕度采集.采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。3.4光照采集電路3.4.1光照傳感器簡(jiǎn)介光照傳感器就是能夠感知和測(cè)量環(huán)境中某點(diǎn)光照強(qiáng)度的一種敏感元器件,它將環(huán)境中的光照或者與其相關(guān)的參量的信息轉(zhuǎn)換成電信號(hào),根據(jù)這些電信號(hào)的強(qiáng)弱便可獲得被監(jiān)測(cè)點(diǎn)在環(huán)境中的光照度信息從而可以進(jìn)行檢測(cè)、監(jiān)控、報(bào)警;還可以通過(guò)接口電路與計(jì)算機(jī)組成自動(dòng)檢測(cè)、監(jiān)控、報(bào)警系統(tǒng)。3.4.2BH1750FVI簡(jiǎn)介(1)產(chǎn)品介紹BH1750FVI是一種用于兩線(xiàn)式串行總線(xiàn)接口的數(shù)字型光強(qiáng)度傳感器集成電路。利用它的高分辨率可以探測(cè)較大范圍的光強(qiáng)度變化。實(shí)物圖如圖3-6所示。圖3-6BH1750FVI實(shí)物圖(2)產(chǎn)品介紹1.支持ICBUS接口(f/sModeSupport)。2.接近視覺(jué)靈敏度的光譜靈敏度特性(峰值靈敏度波長(zhǎng)典型值:560nm)。3.輸出對(duì)應(yīng)亮度的數(shù)字值。4.對(duì)應(yīng)廣泛的輸入光范圍(相當(dāng)于1-65535lx)。5.通過(guò)降低功率功能,實(shí)現(xiàn)低電流化。6.通過(guò)50Hz/60Hz除光噪音功能實(shí)現(xiàn)穩(wěn)定的測(cè)定7.支持1.8V邏輯輸入接口。8.無(wú)需其他外部件。9.光源依賴(lài)性弱(白熾燈,熒光燈,鹵素?zé)?,白光LED,日光燈)。10.有兩種可選的IICslave地址。11.可調(diào)的測(cè)量結(jié)果影響較大的因素為光入口大小。12.使用這種功能能計(jì)算1.1lx到100000lx馬克斯/分鐘的范圍。13.最小誤差變動(dòng)在±20%。14.受紅外線(xiàn)影響很小。3.4.3光照傳感器模塊電路光照傳感器模塊電路圖如下圖所示:圖3-7光照模塊電路圖1.PD接近人眼反應(yīng)的光敏二極管。2.AMP集成運(yùn)算放大器:將PD電流轉(zhuǎn)換為PD電壓。3.ADC模數(shù)轉(zhuǎn)換獲取16位數(shù)字?jǐn)?shù)據(jù)。4.OSC內(nèi)部振蕩器(時(shí)鐘頻率典型值:320kHz),該時(shí)鐘為內(nèi)部邏輯時(shí)鐘。3.5液晶顯示電路3.5.11602液晶簡(jiǎn)介液晶顯示器是一種顯示器件,具有小體積、輕重量、低功耗等特色。由于其功耗低、顯示的信息量大(例如,文本,圖形,曲線(xiàn)等)、無(wú)電磁輻射、使用壽命長(zhǎng),它已被廣泛應(yīng)用在便攜式電子產(chǎn)品。本系統(tǒng)采用的1602是一款物美價(jià)廉的液晶顯示屏,可以顯示2行標(biāo)準(zhǔn)字符,每行共有16個(gè)字符。在通信系統(tǒng),智能操作儀表和辦公設(shè)備的自動(dòng)化中被廣泛的應(yīng)用,主要功能是顯示ASCII字符,因此被稱(chēng)為“字符型顯示裝置”。1602LCD主要技術(shù)參數(shù):◆顯示容量:16×2個(gè)字符◆芯片工作電壓:4.5—5.5V◆工作電流:2.0mA(5.0V)◆模塊最佳工作電壓:5.0V◆字符尺寸:2.95×4.35(W×H)mm3.5.2液晶顯示模塊電路本液晶模塊的電路的連接圖如圖3-15所示,第1腳和第2腳分別接到了電路的GND和VCC,這2個(gè)腳是液晶工作的電源輸入腳。第3腳通過(guò)一個(gè)10K的電位器連接到地端,可通過(guò)調(diào)節(jié)該電位器來(lái)調(diào)節(jié)液晶的對(duì)比度。第4腳是液晶的寄存器控制腳,接到了單片機(jī)的P12腳上。第5腳是液晶的讀寫(xiě)控制腳,接到了單片機(jī)的P13腳上。第6腳是液晶的使能腳,接到了單片機(jī)的P14腳上。第7腳到第14腳是液晶的數(shù)據(jù)/地址8位總線(xiàn),接到了單片機(jī)的P0口上。最后第15腳和第16腳是液晶的背光電源腳,直接連接系統(tǒng)VCC和GND。圖3-8液晶模塊連接圖引腳如表3-1所示:表3-11602液晶引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫(xiě)選擇13D6數(shù)據(jù)6E使能信號(hào)14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極第一腳:接地電源VSS。第二腳:5V正電源為VDD。第三腳:VL為液晶顯示器對(duì)比度調(diào)整的端口,對(duì)比度的強(qiáng)弱由接電源的不同決定,對(duì)比度的調(diào)整可以通過(guò)一個(gè)10k的電位器。第四腳:RS是寄存器選擇,高水平的數(shù)據(jù)寄存器,低選擇指令寄存器。第五腳:R/W的讀和寫(xiě)信號(hào)線(xiàn),高水平低的讀操作,寫(xiě)操作。其中RS與R/W的關(guān)系決定了當(dāng)時(shí)狀態(tài),例如兩端共同為0時(shí)能夠?qū)懭朊罨蛘唢@示其地址,當(dāng)兩端同為1時(shí)可以讀忙碌信號(hào),當(dāng)RS為1,R/W為0時(shí)能夠?qū)?shù)據(jù)錄入。第六腳:使能端E,當(dāng)E端由1至0時(shí),液晶模塊中的命令開(kāi)始被運(yùn)行。第七至十四腳:D0-D7為8位雙向數(shù)據(jù)線(xiàn)。第十五腳:背光源正極。第十六腳:背光源負(fù)極。3.6蜂鳴器模塊蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車(chē)電子設(shè)備、電話(huà)機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類(lèi)型。壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。當(dāng)接通電源后多諧振蕩器起振,輸出1.5~2.5kHZ的音頻信號(hào),阻抗匹配器推動(dòng)壓電蜂鳴片發(fā)聲。電磁式蜂鳴器由振蕩器、電磁線(xiàn)圈、磁鐵、振動(dòng)膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號(hào)電流通過(guò)電磁線(xiàn)圈,使電磁線(xiàn)圈產(chǎn)生磁場(chǎng)。振動(dòng)膜片在電磁線(xiàn)圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲。本設(shè)計(jì)使用的是電磁式蜂鳴器。圖3-9蜂鳴器電路3.7按鍵輸入模塊鍵盤(pán)是人與單片機(jī)打交道的主要設(shè)備。本設(shè)計(jì)中由于采用的按鍵數(shù)量較少,只有3個(gè)按鍵,分別是“設(shè)置”、“減”、“加”,故采用了獨(dú)立鍵盤(pán)的方式。按鍵的連接圖3-10所示:圖3-10按鍵電路3.8LED顯示電路發(fā)光二極管簡(jiǎn)稱(chēng)為L(zhǎng)ED。由含鎵(Ga)、砷(As)、磷(P)、氮(N)等的化合物制成。當(dāng)電子與空穴復(fù)合時(shí)能輻射出可見(jiàn)光,因而可以用來(lái)制成發(fā)光二極管。在電路及儀器中作為指示燈,或者組成文字或數(shù)字顯示。本設(shè)計(jì)中采用了6顆LED燈,3顆紅色和3顆綠色,紅色代表過(guò)高,綠色代表過(guò)低,其電路連接如圖3-11所示:圖3-11LED電路4軟件設(shè)計(jì)4.1程序語(yǔ)言及開(kāi)發(fā)環(huán)境C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它可以作為工作系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫(xiě)系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫(xiě)不依賴(lài)計(jì)算機(jī)硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開(kāi)發(fā)上,而且各類(lèi)科研都需要用到C語(yǔ)言,適于編寫(xiě)系統(tǒng)軟件、三維、二維圖形和動(dòng)畫(huà),具體應(yīng)用例如單片機(jī)以及嵌入式系統(tǒng)開(kāi)發(fā)。KeilC51是美國(guó)KeilSoftware公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境將這些部分組合在一起。4.2程序流程圖設(shè)計(jì)4.2.1總體程序流程圖設(shè)計(jì)本系統(tǒng)的軟件流程圖如圖4-1所示,最開(kāi)始先進(jìn)行液晶的初始化,包括液晶功能初始化和液晶顯示內(nèi)容初始化,接著是報(bào)警值的初始化。然后進(jìn)入一個(gè)循環(huán)體,第一個(gè)任務(wù)是讀取溫濕度傳感器的檢測(cè)結(jié)果,并把測(cè)量結(jié)果顯示在液晶上面。第二個(gè)任務(wù)是讀取光照模塊的檢測(cè)結(jié)果,同樣的在液晶上面進(jìn)行顯示。第三個(gè)任務(wù)是判斷剛剛讀取到的溫濕度和光照值是否超出報(bào)警范圍,如果超出正常范圍的話(huà),則蜂鳴器鳴叫報(bào)警,并且點(diǎn)亮對(duì)應(yīng)的指示燈。第四個(gè)任務(wù)是判斷設(shè)置按鍵是否被按下,是的話(huà),則進(jìn)入了報(bào)警范圍設(shè)置。至此完成一輪循環(huán)的內(nèi)容,重新開(kāi)始任務(wù)一進(jìn)行新一輪的循環(huán)。開(kāi)始開(kāi)始液晶初始化液晶初始化報(bào)警值初始化報(bào)警值初始化讀取溫濕度檢測(cè)結(jié)果讀取溫濕度檢測(cè)結(jié)果液晶顯示溫濕度液晶顯示溫濕度讀取光照檢測(cè)結(jié)果讀取光照檢測(cè)結(jié)果液晶顯示光照值液晶顯示光照值檢測(cè)結(jié)果超限?是檢測(cè)結(jié)果超限?是聲光報(bào)警否聲光報(bào)警否按鍵被按下?是按鍵被按下?是進(jìn)入報(bào)警范圍設(shè)置否進(jìn)入報(bào)警范圍設(shè)置否結(jié)束結(jié)束圖4-1程序流程圖4.2.21602液晶程序設(shè)計(jì)液晶開(kāi)始顯示之前,必須先確定一個(gè)位置,表示要在哪個(gè)地方顯示,比如第1行第5列的位置。在完成坐標(biāo)定位之后就可以開(kāi)始顯示內(nèi)容了。液晶在顯示的時(shí)候,是一位一位完成的。比如數(shù)字“123”,就會(huì)先顯示百位的“1”,然后是十位的“2”,最后是個(gè)位的“3”。顯示字符串的話(huà),也是一樣的道理,比如顯示“hello”,也是從最開(kāi)始的字母“h”開(kāi)始顯示,一位一位的完成,直到顯示完字母“o”,才完成一次顯示任務(wù)。要說(shuō)明的是,每次顯示一串字符或一個(gè)數(shù)字的時(shí)候,只需在最開(kāi)始的時(shí)候完成一次定位,之后每顯示完一個(gè)字符,液晶會(huì)自動(dòng)跳到下一個(gè)位置的,無(wú)需每個(gè)字符都定位一次。開(kāi)始開(kāi)始定位行列坐標(biāo)定位行列坐標(biāo)顯示一個(gè)字符顯示一個(gè)字符否數(shù)據(jù)顯示完?否數(shù)據(jù)顯示完?是是結(jié)束結(jié)束圖4-2液晶顯示流程圖4.2.3溫濕度DHT11傳感器程序設(shè)計(jì)單片機(jī)讀取DHT11傳感器的溫濕度測(cè)量結(jié)果之前,必須先發(fā)送一個(gè)起始信號(hào)給傳感器,傳感器收到這個(gè)起始信號(hào)之后,會(huì)從低功耗模式被喚醒然后開(kāi)始測(cè)量溫濕度結(jié)果,接著會(huì)把濕度、溫度、校驗(yàn)字節(jié)依次發(fā)給單片機(jī),單片機(jī)依次接收,然后計(jì)算數(shù)據(jù)是否傳輸出錯(cuò),如果出錯(cuò)了直接忽略這一次的檢測(cè)結(jié)果,沒(méi)有出錯(cuò)就保存起來(lái),準(zhǔn)備送往液晶顯示。開(kāi)始開(kāi)始發(fā)送起始信號(hào)發(fā)送起始信號(hào)讀取濕度測(cè)量結(jié)果讀取濕度測(cè)量結(jié)果讀取溫度測(cè)量結(jié)果讀取溫度測(cè)量結(jié)果讀取校驗(yàn)字節(jié)讀取校驗(yàn)字節(jié)否計(jì)算傳輸是否出錯(cuò)否計(jì)算傳輸是否出錯(cuò)保存測(cè)量結(jié)果是保存測(cè)量結(jié)果是丟棄當(dāng)前數(shù)據(jù)丟棄當(dāng)前數(shù)據(jù)結(jié)束結(jié)束圖4-3溫濕度傳感器程序流程圖4.2.4光照模塊程序設(shè)計(jì)單片機(jī)讀取光照傳感器的流程如圖4-4所示。首先發(fā)一個(gè)0x01給傳感器,這是一個(gè)讓傳感器通電的指令。接下來(lái)是發(fā)一個(gè)0x10,該指令的目的是讓傳感器進(jìn)入連續(xù)高分辨率采集模式。當(dāng)傳感器收到這個(gè)指令之后,就會(huì)進(jìn)行傳感器強(qiáng)度的采集,這個(gè)過(guò)程最長(zhǎng)可以達(dá)到180毫秒,因此此時(shí)程序需要進(jìn)行一個(gè)延時(shí),等待傳感器測(cè)量完成。最后讀取傳感器的測(cè)量結(jié)果即可。開(kāi)始開(kāi)始發(fā)送通電指令發(fā)送通電指令發(fā)送連續(xù)高分辨率采集模式指令發(fā)送連續(xù)高分辨率采集模式指令延時(shí)200毫秒延時(shí)200毫秒讀取檢測(cè)結(jié)果讀取檢測(cè)結(jié)果結(jié)束結(jié)束圖4-4光照傳感器程序流程圖5仿真在實(shí)現(xiàn)好軟件部分的撰寫(xiě)編譯后且沒(méi)有報(bào)錯(cuò),在Protues環(huán)境里把Keil生成的可執(zhí)行文件寫(xiě)入到單片機(jī)里,點(diǎn)擊仿真按鈕,系統(tǒng)開(kāi)始工作,在初始階段,默認(rèn)給定DHT11的值如圖所示:此時(shí)液晶顯示如圖:由于本系統(tǒng)默認(rèn)設(shè)置的溫度上限為40℃,將DHT11溫度調(diào)至41℃時(shí),液晶顯示如圖:蜂鳴器開(kāi)始發(fā)聲,溫度過(guò)高的LED指示燈也被點(diǎn)亮,如圖所示:同樣,對(duì)該系統(tǒng)傳感器的濕度分別調(diào)到80%以上、30%以下,相應(yīng)的報(bào)警電路都被激活,因此在硬件測(cè)試下獲得了與預(yù)期一樣的功能。結(jié)論這項(xiàng)設(shè)計(jì)在運(yùn)用了單片機(jī)技術(shù)、傳感器技術(shù)、C語(yǔ)言編程等科學(xué)知識(shí)下完成了基于單片機(jī)控制的農(nóng)業(yè)大棚控制監(jiān)測(cè)系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)了環(huán)境溫濕度自動(dòng)實(shí)時(shí)監(jiān)測(cè)顯示,并且在溫濕度過(guò)限時(shí)發(fā)出警報(bào)。由于單片機(jī)的經(jīng)濟(jì)和開(kāi)發(fā)成本低廉,操作簡(jiǎn)便,因此在農(nóng)業(yè)自動(dòng)控制領(lǐng)域有很強(qiáng)的實(shí)用性,這樣可以實(shí)現(xiàn)無(wú)人管理種植,進(jìn)一步節(jié)省了人力物力。謝辭通過(guò)這一段時(shí)間的努力,本次設(shè)計(jì)已然完成,首先感謝我的指導(dǎo)老師史成芳老師,在史老師的指導(dǎo)下,我慢慢了解了各種元器件的工作原理,才得以完成本次的設(shè)計(jì)。其次感謝教授我知識(shí)的老師們,正因?yàn)槟銈兊慕虒?dǎo),才能讓我有完成這次設(shè)計(jì)的基礎(chǔ)。最后我要感謝幫助我的同學(xué)們,是他們?cè)谖依щy時(shí)給予我鼓勵(lì)。最后,希望在以后的學(xué)習(xí)和研究中能以更加優(yōu)異的成績(jī)來(lái)答謝所有關(guān)心和幫助我的老師和同學(xué)們!再次感謝你們!參考文獻(xiàn)DennisHooijmaijers.MarkusStumptner.IntelligentInformationProcessing III[M].SpringerUS:2006-06-15.曹絳斌.淺析中國(guó)智能家居的現(xiàn)狀及發(fā)展趨勢(shì)[J].中國(guó)戰(zhàn)略新興產(chǎn)業(yè).2017(32):11-12.楊成慧,王書(shū)志,何佑星,殷鳳偉.一種基于STC89C52的智能窗簾控制系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2016(06):246-248+250.孫倩.基于單片機(jī)和DS1302的簡(jiǎn)易時(shí)鐘設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng) 用.2017(03):206-207.陳海宴.51單片機(jī)原理及應(yīng)用[M].北京航空航天大學(xué)出版社.2010.3.安紅霞.基于AT89S52單片機(jī)的1602型液晶屏顯示技術(shù)研究[J].牡丹江師范學(xué) 院學(xué)報(bào)(自然科學(xué)版),2014(03):23-24.李小龍.LCD對(duì)比度提升的動(dòng)態(tài)背光控制技術(shù)研究與設(shè)計(jì)[D].中國(guó)海洋大學(xué),2015.4.張繼峰.實(shí)時(shí)時(shí)鐘芯片DS1302在教學(xué)中的研究與應(yīng)用[J].黑龍江科技信息,2017(05):12.劉宇超.基于液晶顯示屏的數(shù)字電子時(shí)鐘設(shè)計(jì)[J].時(shí)代農(nóng)機(jī).2017.44(12):114-116.杜洋.A/D轉(zhuǎn)換芯片ADC0832的應(yīng)用[J].電子制作.2006(01):44-46.謝正剛.步進(jìn)電機(jī)的自動(dòng)化控制探究[J].企業(yè)導(dǎo)報(bào),2015(11):192-209.花同.步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011,19(15):13-15.趙亮.跟我學(xué)51單片機(jī)(七)——LCD1602液晶顯示模塊[J].電子制作,2011(07):74-77.胡彩霞.張蒙蒙.顧蕓.仿真軟件在單片機(jī)教學(xué)中的應(yīng)用[J].課程教育研究,2018(01):206-207.

附錄A主程序代碼#include<reg52.h> #include<intrins.h>#defineucharunsignedchar #defineuintunsignedint sfrISP_DATA=0xe2; sfrISP_ADDRH=0xe3; sfrISP_ADDRL=0xe4; sfrISP_CMD=0xe5; sfrISP_TRIG=0xe6; sfrISP_CONTR=0xe7; sbitLcdRs_P=P2^7;sbitLcdRw_P=P2^6;sbitLcdEn_P=P2^5;sbitDHT11_P=P1^0; sbitSDA_P=P3^5; sbitSCL_P=P3^6; sbitLedTH_P=P1^2; sbitLedTL_P=P1^1; sbitLedHH_P=P1^4; sbitLedHL_P=P1^3; sbitLedLH_P=P1^6; sbitLedLL_P=P1^5; sbitBuzzer_P=P2^0;sbitKeySet_P=P3^2; sbitKeyDown_P=P3^3; sbitKeyUp_P=P3^4; uchartemp; ucharhumi; uintlight; ucharAlarmTL; ucharAlarmTH; ucharAlarmHL; ucharAlarmHH; uintAlarmLL; uintAlarmLH; /*********************************************************///單片機(jī)內(nèi)部EEPROM不使能/*********************************************************/voidISP_Disable(){ISP_CONTR=1;ISP_ADDRH=1;ISP_ADDRL=1;}/*********************************************************///從單片機(jī)內(nèi)部EEPROM讀一個(gè)字節(jié)/*********************************************************/unsignedcharReadE2PROM(unsignedintaddr){ISP_DATA=0x08;ISP_CONTR=0x83;ISP_CMD=0x01;ISP_ADDRH=(unsignedchar)(addr>>8);ISP_ADDRL=(unsignedchar)(addr&0xff);ISP_TRIG=0x66;ISP_TRIG=0x99;_nop_();ISP_Disable();returnISP_DATA;}/*********************************************************///從單片機(jī)內(nèi)部EEPROM寫(xiě)一個(gè)字節(jié)/*********************************************************/voidWriteE2PROM(unsignedintaddr,unsignedchardat){ISP_CONTR=0x83;ISP_CMD=0x02;ISP_ADDRH=(unsignedchar)(addr>>8);ISP_ADDRL=(unsignedchar)(addr&0xff);ISP_DATA=dat;ISP_TRIG=0x46;ISP_TRIG=0xb9;_nop_();ISP_Disable();}/*********************************************************///從單片機(jī)內(nèi)部EEPROM扇區(qū)擦除/*********************************************************/voidSectorErase(unsignedintaddr){ISP_CONTR=0x83;ISP_CMD=0x03;ISP_ADDRH=(unsignedchar)(addr>>8);ISP_ADDRL=(unsignedchar)(addr&0xff);ISP_TRIG=0x46;ISP_TRIG=0xb9;_nop_();ISP_Disable();}/*********************************************************///延時(shí)X*ms函數(shù)/*********************************************************/voidDelayMs(unsignedintms){unsignedinti,j;for(i=0;i<ms;i++)for(j=0;j<112;j++);}/*********************************************************///1602液晶寫(xiě)命令函數(shù),cmd就是要寫(xiě)入的命令/*********************************************************/voidWriteLcdCmd(ucharcmd){ LcdRs_P=1; LcdRw_P=1; LcdEn_P=1; P0=cmd; DelayMs(2); LcdEn_P=1; DelayMs(2); LcdEn_P=0; }/*********************************************************///1602液晶寫(xiě)數(shù)據(jù)函數(shù),dat就是要寫(xiě)入的數(shù)據(jù)/*********************************************************/voidWriteLcdData(uchardat){ LcdRs_P=1; LcdRw_P=0; LcdEn_P=0; P0=dat; DelayMs(2); LcdEn_P=1; DelayMs(2); LcdEn_P=0;}/*********************************************************///液晶坐標(biāo)設(shè)置函數(shù)/*********************************************************/voidSetLcdCursor(unsignedcharline,unsignedcharcolumn){if(line==0)WriteLcdCmd(column+0x80);if(line==1)WriteLcdCmd(column+0x80+0x40);}/*********************************************************///液晶顯示字符串函數(shù)/*********************************************************/voidShowLcdStr(unsignedchar*str){while(*str!='\0')WriteLcdData(*str++);}/*********************************************************///液晶初始化函數(shù)/*********************************************************/voidLcdInit(){WriteLcdCmd(0x38);WriteLcdCmd(0x06);WriteLcdCmd(0x0c);WriteLcdCmd(0x01);}/*********************************************************///液晶輸出數(shù)字/*********************************************************/voidShowLcdNum(unsignedcharnum){ WriteLcdData(num/10+48); WriteLcdData(num%10+48); }voidLcdShowInit(){}/*********************************************************///10us級(jí)延時(shí)程序/*********************************************************/voidDelay10us(){ _nop_(); _nop_(); _nop_();}/*********************************************************///讀取DHT11_P單總線(xiàn)上的一個(gè)字節(jié)/*********************************************************/unsignedcharDhtReadByte(){ bitbit_i; unsignedchari; unsignedchardat=0; for(i=07;i<10;i++) { while(!DHT11_P) Delay10us(); Delay10us(); Delay10us(); if(DHT11_P==0) { bit_i=0; while(DHT11_P); } else { bit_i=0; } dat<<=1; dat|=bit_i; } returndat;}/*********************************************************///讀取DHT11_P的一幀數(shù)據(jù),濕高、濕低(0)、溫高、溫低(0)、校驗(yàn)碼/*********************************************************/voidReadDhtData(){ unsignedcharHumiHig; unsignedcharHumiLow; unsignedcharTempHig; unsignedcharTempLow; unsignedcharCheck; DHT11_P=0; DelayMs(20); DHT11_P=1; Delay10us(); Delay10us(); Delay10us(); while(!DHT11_P); while(DHT11_P); HumiHig=DhtReadByte(); HumiLow=DhtReadByte(); TempHig=DhtReadByte(); TempLow=DhtReadByte(); Check=DhtReadByte(); DHT11_P=1; if(Check==HumiHig+HumiLow+TempHig+TempLow) { temp=TempHig; humi=HumiHig; } }/*********************************************************///5us級(jí)延時(shí)程序/*********************************************************/voidDelay5us(){ _nop_(); _nop_(); _nop_(); _nop_(); _nop_();}/*********************************************************///IIC起始函數(shù)/*********************************************************/voidIIcStart(){ SDA_P=1; SCL_P=1; Delay5us(); SDA_P=0; Delay5us(); SCL_P=0; }/*********************************************************///IIC終止函數(shù)/*********************************************************/voidIIcStop(){ Delay5us(); SDA_P=0; SCL_P=1; Delay5us(); SDA_P=1; Delay5us(); }/*********************************************************///IIC接收應(yīng)答信號(hào)/*********************************************************/bitIIcRecvACK(){ Delay5us(); SCL_P=1; Delay5us(); CY=SDA_P; SCL_P=0; returnCY; }/*********************************************************///IIC發(fā)送應(yīng)答信號(hào)//入口參數(shù):ack(0:ACK1:NAK)/*********************************************************/voidIIcSendACK(bitack){ SDA_P=ack; SCL_P=1; Delay5us(); SCL_P=0; Delay5us(); }/*********************************************************///向IIC總線(xiàn)發(fā)送一個(gè)字節(jié)數(shù)據(jù)/*********************************************************/voidIIcWriteByte(uchardat){ uchari; for(i=0;i<8;i++) { dat=dat<<1; SDA_P=CY; Delay5us(); SCL_P=1; Delay5us(); SCL_P=0; }}/*********************************************************///從IIC總線(xiàn)接收一個(gè)字節(jié)數(shù)據(jù)/*********************************************************/ucharIIcRecvByte(){ uchari; uchardat=0; SDA_P=1; for(i=0;i<8;i++) { dat<<=1; SCL_P=1; Delay5us(); dat=dat|SDA_P; SCL_P=0; Delay5us(); } returndat; }/*********************************************************///往IIC寫(xiě)入數(shù)據(jù)/*********************************************************/voidIIcWriteDate(uchardat){ IIcStart(); IIcWriteByte(0x46); IIcRecvACK(); IIcWriteByte(dat); IIcRecvACK(); IIcStop(); }/*********************************************************///從IIC讀出數(shù)據(jù)/*********************************************************/uintIIcReadDate(){ uintret; uchardat1,dat2; IIcStart(); IIcWriteByte(0x47); IIcRecvACK(); dat1=IIcRecvByte(); IIcSendACK(0); dat2=IIcRecvByte(); IIcSendACK(1); IIcStop(); ret=(dat1*256+dat2)/1.2; returnret; }/*********************************************************///液晶輸出數(shù)字/*********************************************************/voidLcdPrintLight(uintnum){ WriteLcdData(num/10000+0x30); WriteLcdData(num%10000/1000+0x30); WriteLcdData(num%1000/100+0x30); WriteLcdData(num%100/10+0x30); WriteLcdData(num%10+0x30); }/*********************************************************///是否需要報(bào)警判斷/*********************************************************/voidAlarmJudge(void){ uchari; /*溫度判斷*/ if(temp>AlarmTH) { LedTH_P=0; LedTL_P=1; } elseif(temp<AlarmTL) { LedTL_P=0; LedTH_P=1; } else { LedTH_P=1; LedTL_P=1; } /*濕度判斷*/ if(humi>AlarmHH) { LedHH_P=0;

溫馨提示

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

評(píng)論

0/150

提交評(píng)論