蔬菜大棚種植環(huán)境檢測系統(tǒng)畢業(yè)論文設(shè)計.doc
《蔬菜大棚種植環(huán)境檢測系統(tǒng)畢業(yè)論文設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《蔬菜大棚種植環(huán)境檢測系統(tǒng)畢業(yè)論文設(shè)計.doc(59頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、沈陽航空航天大學(xué)電子信息工程學(xué)院畢業(yè)設(shè)計(論文)第1章 緒論1.1 選題的依據(jù)和意義現(xiàn)代農(nóng)業(yè)生態(tài)園發(fā)展迅速,不僅種植品種更多、規(guī)模更大,而且種植區(qū)域也更加集中,這給農(nóng)業(yè)人員的管理和優(yōu)化種植增加了難度和成本。為了解決這些問題,我國的蔬菜大棚種植正在向信息化和智能化的方向發(fā)展。只有應(yīng)用先進的較低成本的信息采集手段,實時、精確地獲取大棚環(huán)境信息,制定科學(xué)的管理決策,最后通過智能設(shè)備或人工控制等措施,才能提高種植作物的經(jīng)濟效益,本設(shè)計就是設(shè)計一個生態(tài)園的環(huán)境監(jiān)測系統(tǒng)。在當今社會,我們的經(jīng)濟、農(nóng)業(yè)和工業(yè)都趨向于信息話、科技化,尤其是農(nóng)業(yè)生產(chǎn)和農(nóng)業(yè)養(yǎng)殖更是借助了很多現(xiàn)代先進的科技力量。在蔬菜、水果的大棚種
2、植中,大棚中的溫度、濕度和光照強度都會對農(nóng)作物的生長的產(chǎn)生影響,如果我們對大棚中的這三個參數(shù)進行監(jiān)控和有效的調(diào)節(jié),那么農(nóng)作物的數(shù)量和質(zhì)量都會得到上升,一旦我們的農(nóng)作物的質(zhì)量和數(shù)量有大幅度的提高,那么就標志著我們的農(nóng)業(yè)生產(chǎn)水平上了一個大臺階,所以對生態(tài)園環(huán)境監(jiān)測系統(tǒng)的研究是十分有必要的。選題的意義在于這個系統(tǒng)具有以下三個優(yōu)點:1、可以實時采集周圍的溫度、濕度和光照強度,分別進行顯示,可以人為的直觀的觀測到,了解生態(tài)園的現(xiàn)況。2、該監(jiān)測系統(tǒng)具有自動設(shè)置上下限功能,并配有聲光報警功能,一旦所監(jiān)測的值不在自行設(shè)置的上限和下限的范圍之內(nèi),報警部分就會讓人們知道這一情況,工作人員可以作出相應(yīng)的措施。3、該
3、系統(tǒng)可以將數(shù)據(jù)傳送到上位機上,一旦配置上無線發(fā)射模塊,再在接收端配置上無線接收模塊,這樣可以實現(xiàn)遠距離傳輸,接收端的上位機上可以顯示出生態(tài)園的溫度、濕度和光照強度。就以上三點可以充分地表達出這一選題是十分有意思的,一旦我們將這一系統(tǒng)研究到位,應(yīng)用合理,那么會對我們的農(nóng)業(yè)生產(chǎn)有很大的幫助。1.2 選題研究的基本內(nèi)容 本課題根據(jù)生態(tài)園發(fā)展需要,設(shè)計一種蔬菜大棚種植環(huán)境檢測系統(tǒng),利用傳感器對棚內(nèi)作物生長情況進行監(jiān)測,采集其在生長周期內(nèi)溫度、濕度和光強的數(shù)據(jù),以便及時調(diào)整棚內(nèi)環(huán)境達到作物生長的適宜條件,實現(xiàn)蔬菜大棚的優(yōu)化種植。具體需要做的任務(wù)首先要按照實際應(yīng)用背景完成主控電路的設(shè)計,然后要設(shè)計利用傳感
4、器采集生態(tài)園大氣環(huán)境中的溫度、濕度和光照強度的電路,將數(shù)據(jù)傳送到單片機,設(shè)計的顯示電路要將采集的數(shù)據(jù)顯示,顯示精度1,被監(jiān)測溫度范圍10-35、被監(jiān)測濕度范圍50-90%RH,不在預(yù)置的上下限范圍之內(nèi)要進行聲光報警。最后要設(shè)計通信電路,將采集完成的數(shù)據(jù)傳送到上位機,并進行顯示。 首先要對溫度、濕度和光照強度進行采集,然后送入單片機,再經(jīng)數(shù)碼管進行顯示,最后送入無線發(fā)射模塊,將數(shù)據(jù)無線傳輸?shù)竭h端的上位機上進行顯示。主要需要研究以下兩種器件: 傳感器:溫度傳感器是指能感受溫度并轉(zhuǎn)換成可用輸出信號的傳感器。按照傳感器材料及電子元件特性分為熱電阻和熱電偶兩類;濕度傳感器類似,電容式、電阻式和濕漲式濕敏
5、元器件分別是根據(jù)其高分子材料吸濕后的介電常數(shù)、電阻率和體積隨之發(fā)生變化而進行濕度測量的;光強傳感器一般都選用光敏電阻,是一種因光照強度的改變而導(dǎo)致其電阻值改變的器件。這三種傳感器分別在三路信息的采集電路上起到了重要的作用。 下位機、上位機:上位機是指可以直接發(fā)出操控命令的計算機,一般是PC,屏幕上顯示各種信號變化(液壓,水位,溫度等)。下位機是直接控制設(shè)備獲取設(shè)備狀況的計算機,一般是單片機之類的。上位機發(fā)出的命令首先給下位機,下位機再根據(jù)此命令解釋成相應(yīng)時序信號直接控制相應(yīng)設(shè)備。下位機不時讀取設(shè)備狀態(tài)數(shù)據(jù),一般為模擬量,轉(zhuǎn)換成數(shù)字信號反饋給上位機。本系統(tǒng)是下位機將采集的溫度、濕度和光照強度這三
6、個量傳輸?shù)缴衔粰C上進行顯示。1.3 課題分析本課題主要是利用單片機對生態(tài)環(huán)境中的溫度、濕度和光照強度進行采集和顯示,并且無線傳輸?shù)竭h端的監(jiān)控地點再進行顯示?;舅悸肥峭ㄟ^對這三個采集量感應(yīng)的傳感器同時采集這三種數(shù)據(jù),將數(shù)據(jù)傳送到單片機,單片機通過程序控制實現(xiàn)用數(shù)碼管循環(huán)顯示這三種數(shù)據(jù)的值,再將數(shù)據(jù)通過24L01無線發(fā)射模塊發(fā)射,遠端的24L01無線接收模塊接收到數(shù)據(jù),將數(shù)據(jù)傳送到單片機,單片機通過程序控制實現(xiàn)遠端數(shù)碼管對這三個數(shù)據(jù)的顯示。第2章 方案分析2.1 系統(tǒng)工作原理測量空氣濕度的方式很多,其原理是根據(jù)某種物質(zhì)從其周圍的空氣中吸收水分后引起的物理或化學(xué)性質(zhì)的變化,間接地獲得該物質(zhì)的吸水量
7、及周圍空氣的濕度。電容式、電阻式和濕漲式濕敏元器件分別是根據(jù)其高分子材料吸濕后的介電常數(shù)、電阻率和體積隨之發(fā)生變化而進行濕度測量的。測量溫度和光照強度的方式也很多,和濕度類似。測溫元件主要有熱電偶和熱敏電阻,通過與電源構(gòu)成測溫電路,隨著溫度的變化導(dǎo)致輸出的電壓量變化,再經(jīng)過ADC0809模數(shù)轉(zhuǎn)換器,將電壓這個模擬量的變化變成數(shù)字量的變化,這樣再將變化的數(shù)字量傳輸?shù)絾纹瑱C中,通過程序控制,進行顯示,這樣就能讀出此時的溫度值了。感光元件主要就是光敏電阻和光敏二極管,隨著光照強度的改變,光敏電阻的阻值會發(fā)生變化,通過光敏二極管的光電流則會發(fā)生變化,和溫度類似,也將其通過外圍電路轉(zhuǎn)化為電壓的改變,再經(jīng)
8、過模數(shù)轉(zhuǎn)換器將數(shù)據(jù)數(shù)據(jù)送入單片機,從而控制數(shù)碼管顯示。AT89C51控制系統(tǒng),常用的單片機的類型主要有AT89C51,AT89C52以及AT89C2051等等,本系統(tǒng)選用的單片機類型為AT89C51,相對其他同類產(chǎn)品而言,此芯片具有超強的抗干擾、高速、低功耗、指令代碼完全兼容傳統(tǒng)8951單片機、12時鐘/機器周期和6時鐘/機器周期可以任意選擇等特點,綜合本系統(tǒng)的諸多情況及設(shè)計要求,故選用單片機AT89C51。無線發(fā)射和接受部分,接受采集信號的單片機作為下位機,將采集后的數(shù)據(jù)通過無線發(fā)射模塊進行發(fā)射。在遠端的接收部分,通過無線接收模塊將數(shù)據(jù)傳送給上位機,同樣上位機也是一個單片機,上位機再將接收的
9、數(shù)據(jù)傳送到數(shù)碼管進行顯示。2.2 方案設(shè)計本方案中的濕度采集和溫度采集部分共同利用一種器件完成,DHT11是一種數(shù)字量輸出的溫度、濕度傳感器,其內(nèi)部采集工作原理是利用電阻式的濕敏元件和NTC感溫元件分別對濕度和溫度進行采集。電阻式濕敏元件主要使用高分子固體電解質(zhì)材料作為感濕膜,由于膜中存在可動離子而產(chǎn)生導(dǎo)電性,隨著濕度的增大,其電離作用增強,便可動離子的濃度增大,電極間的阻值減小,當濕度減小時,電離作用也相應(yīng)減弱,可動離子的濃度也減小,電極間的電阻值增大,這樣,濕敏元件對水分子的吸附和釋放情況,可通過電極間電阻值的變化檢測出來,從而得到相應(yīng)的濕度值。NTC感溫元件是一種熱敏電阻,溫度越高熱敏電
10、阻阻值越小,溫度越低熱敏電阻阻值越大,從而通過對電阻值得變化檢測出響應(yīng)的溫度值。DHT11可以同時采集溫度和濕度,其內(nèi)部自帶模數(shù)轉(zhuǎn)換器和一個高性能的8位單片機,可以直接輸出數(shù)字量給單片機,達到對溫度和濕度的采集。一般的溫濕度采集還可以采用熱敏電阻和HS1101電容式的濕度傳感器進行,溫度改變,熱敏電阻的阻值則改變,這樣通過外圍電路就可以轉(zhuǎn)換為電壓的變化,再接一個模數(shù)轉(zhuǎn)換器,這樣就可以完成溫度的采集了。HS1101的電容值會根據(jù)濕度的變化而變化,這樣外圍用555芯片搭建一個多諧振蕩電路,這樣可以將濕度的變化轉(zhuǎn)換為多諧振蕩器輸出信號頻率的變化,這樣單片機計頻就可以采集出當時的濕度了。但是,與這種方
11、法相比,DHT11溫濕度傳感器方便簡潔,且能高效的同時采集出這兩種量,所以在溫濕度采集部分選用DHT11溫濕度傳感器。光照強度采集部分和溫濕度類似,也采用數(shù)字量輸出的傳感器,BH1750FVI是一種高性能的數(shù)字量輸出的光照強度傳感器,其內(nèi)部是一個光敏元件和一個模數(shù)轉(zhuǎn)換器,其光敏元件為一個光敏二極管,當有光照時,光敏二極管會產(chǎn)生光電流,光照強度不同,這個電流就不同,而后再經(jīng)過一個集成運放將電流轉(zhuǎn)化為電壓,再經(jīng)過一個模數(shù)轉(zhuǎn)換器,從而對光照強度感知后就可以直接輸出數(shù)字量的光照強度值,單片機讀取采集量的數(shù)值后進行顯示。無線發(fā)射和接收部分,接受采集信號的單片機作為下位機,將采集后的數(shù)據(jù)通過無線發(fā)射模塊進
12、行發(fā)射。在遠端的接收部分,通過無線接收模塊將數(shù)據(jù)傳送給上位機,同樣上位機也是一個單片機,上位機再將接收的數(shù)據(jù)傳送到數(shù)碼管進行顯示。此方案采用nrf24L01無線收發(fā)模塊,該模塊工作頻率2.4GHz2.525GHz,可以將采集的數(shù)據(jù)進行無線發(fā)射和接受,從而達到無線發(fā)射和接受的要求。此外,本系統(tǒng)在發(fā)射部分還設(shè)計了鍵盤輸入和聲光報警部分,鍵控部分采用開關(guān)和按鍵的結(jié)合,聲光報警部分的設(shè)計是在發(fā)射端的單片機上連接一個發(fā)光二極管和一個蜂鳴器。手動設(shè)置濕度、濕度和光強的上限和下限,首先選擇需要設(shè)置的量,然后再選擇設(shè)置上限或下限,最后分別設(shè)置每一位的值。當溫度、濕度和光照強度的值不在所設(shè)定的上下限之內(nèi),則啟動
13、聲光報警部分,這時二極管發(fā)光,蜂鳴器響,從而達到監(jiān)控報警的作用,這樣更能方便工作人員對生態(tài)園的檢測和管理。這方案中直接使用DHT11和BH1750FVI這兩個數(shù)字量輸出的傳感器,可以高效的對三個量進行采集并將采集的數(shù)據(jù)直接傳送至單片機,完成對溫度、濕度和光照強度這三個量的采集。集部分簡單高效,硬件調(diào)試不易出錯,可以按照預(yù)期完成數(shù)據(jù)采集和無線發(fā)射。圖2.1是整個系統(tǒng)的發(fā)射部分的原理框圖,圖2.2是系統(tǒng)的接收部分的原理框圖。時鐘電路溫濕度傳感器DHT11鍵盤輸入單 片 機顯示電路光強傳感器BH1750FVI無線發(fā)射模塊聲光報警復(fù)位電路圖2.1 系統(tǒng)的發(fā)射部分原理框圖顯示電路無線接收模塊上位機 圖2
14、.2 系統(tǒng)的接收部分原理框圖第3章 硬件電路設(shè)計本章圍繞整體設(shè)計方案進行設(shè)計分析,著重介紹硬件電路的設(shè)計原理,各部分的組成以及元器件的性能。本設(shè)計的硬件電路主要包括AT89C51單片機的時鐘電路和復(fù)位電路的設(shè)計、溫濕度采集電路的設(shè)計、光照強度采集電路的設(shè)計、顯示電路的設(shè)計、無線發(fā)射電路的設(shè)計、無線接收電路的設(shè)計、發(fā)射端鍵控電路的設(shè)計以及聲光報警電路的設(shè)計。3.1 單片機控制電路3.1.1 AT89C51單片機簡介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲的低電壓,高性能CMOS 8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指
15、令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。1 主要性能本系統(tǒng)選用并設(shè)定的單片機采用12時鐘/機器周期,工作電壓5V。在AT89C51單片機的40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,兩個16位定時器/計數(shù)器,中斷口線與P3口線復(fù)用,可編程串行通道,低功耗的閑置和掉電模式,片內(nèi)振蕩器和時鐘電路。2管腳說明 VCC:供電電壓;VSS:接地。 P0口:P0口為一個8位漏極開路雙向I/O口,每腳可吸收8個TTL門電流。當P1口的管
16、腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低8位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4個TTL門電流。P0口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第8位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉
17、電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高8位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部8位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高8位地址信號和控制信號。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT8
18、9C51的一些特殊功能口,如下所示: P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(計時器0外部輸入)P3.5 T1(計時器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用
19、于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN信號將不出現(xiàn)。 EA/VPP:當EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,EA將內(nèi)部鎖定為RESET;當EA端保持高電平時,此
20、間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。AT89C51芯片管腳圖如圖3.1所示。圖3.1 AT89C51管腳圖3.1.2 時鐘電路單片機各功能部件的運行都是以時鐘控制信號為基準,有條不紊地一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量也直接影響單片機系統(tǒng)的穩(wěn)定性。時鐘電路的兩根線分別接到單片機的X1端和X2端,電路中的晶振即石英晶體震蕩器。由于石英晶體震蕩器具有非常好的頻率穩(wěn)定性和抗外界干擾的能力,所以,石英晶體震蕩器是用來產(chǎn)生基準頻率的。通過基準頻率來控制電路中的頻率的準確性。同時,它還可以產(chǎn)生振蕩電流,向單片機發(fā)出時鐘信號。XT
21、AL1接外部晶體的一個引腳,XTAL2接外晶體的另一端,在單片機內(nèi)部,接至上述振蕩器的反相放大器的輸出端。石英晶振起振后要能在XTAL2線上輸出一個3V左右的正弦波,以便使MCS-51片內(nèi)的OSC電路按石英晶振相同頻率自激振蕩。常用的時鐘電路設(shè)計有兩種方式,一種是內(nèi)部時鐘方式,另一種是外部時鐘方式,本設(shè)計中采用的是內(nèi)部時鐘方式。OSC的輸出時鐘頻率fosc為0.5MHz-16MHz,典型值為12MHz或者11.0592MHz。電容C1和C2可以幫助起振,典型值為30pF,調(diào)節(jié)它們可以達到微調(diào)fosc的目的。時鐘電路如圖3.2所示。圖3.2 時鐘電路3.1.3 復(fù)位電路復(fù)位電路的主要功能是使單片
22、機進行初始化,在初始化的過程中需要在復(fù)位引腳上加大于2個機器周期的高電平。復(fù)位后的單片機地址初始化為0000H,然后繼續(xù)從0000H單元開始執(zhí)行程序。在復(fù)位電路中提供復(fù)位信號,等到系統(tǒng)電源穩(wěn)定后,再撤銷復(fù)位信號。但是為了在復(fù)位按鍵穩(wěn)定的前提下,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號,以防在按鍵過程中引起的抖動而影響復(fù)位。單片機的復(fù)位電路如圖3.3所示。圖3.3 復(fù)位電路在單片機系統(tǒng)中,系統(tǒng)上電啟動的時候復(fù)位一次,當按鍵按下的時候系統(tǒng)再次復(fù)位,如果釋放后再按下,系統(tǒng)還會復(fù)位。在剛開機時,這時按鍵沒有按下,電容充電,在這充電過程中電容兩端的電壓從0V迅速上升到5V,這時10K電阻的兩端電壓從5V
23、下降到0V,所以在剛開機時,10K電阻兩端電壓還沒有下降到2.5V以前,RES管腳為高電平,完成開機復(fù)位,電容充滿電后,10K電阻兩端電壓始終接近為0V,單片機RES管腳就始終為低電平。按下按鍵時,此時相當于1K電阻和充好電的電容組成了一個回路,電容將瞬間放電,隨著電容兩端的電壓減小,10K電阻兩端的電壓逐漸增大,當達到2.5V時,單片機RES管腳就為高電平,完成對單片機的復(fù)位。而后電容開始充電,10K電阻兩端電壓下降,RES管腳變回低電平,如需再次復(fù)位,則再次按下按鍵即可。3.2 溫濕度采集電路3.2.1 溫濕度傳感器簡介本設(shè)計的溫度采集和濕度采集選用DHT11溫濕度傳感器完成采集。DHT1
24、1數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強、性價比極高等優(yōu)點。每個DHT11傳感器都在極為精確的濕度校驗室中進行校準。校準系數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選擇,產(chǎn)品為
25、4 針單排引腳封裝。圖3.4為DHT11器件圖。圖3.4 DHT11DATA 用于微處理器與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說明,當前小數(shù)部分用于以后擴展,現(xiàn)讀出為零。操作流程如下:一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗和數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模
26、式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分數(shù)據(jù)。從模式下,DHT11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開始信號,DHT11不會主動進行溫濕度采集,采集數(shù)據(jù)后轉(zhuǎn)換到低速模式??偩€為低電平,說明DHT11發(fā)送響應(yīng)信號,DHT11發(fā)送響應(yīng)信號后,再把總線拉高80us,準備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時隙開始,高電平的長短定了數(shù)據(jù)位是0還是1。如果讀取響應(yīng)信號為高電平,則DHT11沒有響應(yīng),則檢查線路是否連接正常。當最后一bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線由上
27、拉電阻拉高進入空閑狀態(tài)。圖3.5為數(shù)字0信號表示方法。圖3.6為數(shù)字1信號表示方法。圖3.5 數(shù)字0信號表示方法圖3.6 數(shù)字1信號表示方法3.2.2 電路設(shè)計DHT11溫濕度傳感器一共有四個管腳,DHT11的供電電壓為35.5V,傳感器上電后,要等待1s 以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個100nF 的電容,用以去耦濾波。連接線長度短于20米時用5K上拉電阻,大于20米時根據(jù)實際情況使用合適的上拉電阻。由于本設(shè)計中DHT11溫濕度傳感器的連接線短于20米,所以選用4.7K的上拉電阻。傳感器的VCC端接5V電源,DATA端連接單片機的P1.2管腳
28、,這樣DHT11采集到的數(shù)據(jù)就可以通過P1.2管腳傳送到單片機里,單片機讀出數(shù)據(jù),再進行后續(xù)的顯示和發(fā)射。在傳感器的DATA端和單片機的P1.2口的連線上接4.7K上拉電阻連接到電源,傳感器的NC端懸空,GND端接地,這樣,溫濕度采集電路就設(shè)計完成了。DHT11溫濕度傳感器的引腳說明如表3.1所示。溫濕度采集電路如圖3.7所示。表3.1 DHT11溫濕度傳感器的引腳說明Pin名稱注釋1VDD供電3-5.5VDC2DATA串行數(shù)據(jù)單總線3NC空腳,請懸空4GND接地,電源負極圖3.7 溫濕度采集電路其內(nèi)部采集工作原理是利用電阻式的濕敏元件和NTC感溫元件分別對濕度和溫度進行采集。電阻式濕敏元件主
29、要使用高分子固體電解質(zhì)材料作為感濕膜,由于膜中存在可動離子而產(chǎn)生導(dǎo)電性,隨著濕度的增大,其電離作用增強,便可動離子的濃度增大,電極間的阻值減小,當濕度減小時,電離作用也相應(yīng)減弱,可動離子的濃度也減小,電極間的電阻值增大,這樣,濕敏元件對水分子的吸附和釋放情況,可通過電極間電阻值的變化檢測出來,從而得到相應(yīng)的濕度值。NTC感溫元件是一種熱敏電阻,溫度越高熱敏電阻阻值越小,溫度越低熱敏電阻阻值越大,從而通過對電阻值得變化檢測出響應(yīng)的溫度值。當單片機通過DATA管腳給出開始采集信號,DHT11等待主機開始信號結(jié)束后發(fā)出響應(yīng)信號,并送出40bit的數(shù)據(jù),每1bit數(shù)據(jù)都以50us低電平時隙開始,高電平
30、的長短決定是0還是1,當響應(yīng)完成后DHT11進入空閑狀態(tài),等待主機下一次的開始信號。3.3 光照強度采集電路3.3.1 光照強度傳感器簡介光照強度采集電路采用數(shù)字量輸出的光照強度傳感器BH1750FVI完成。不區(qū)分光源數(shù)字型環(huán)境光強度傳感器BH1750FVI是日本RHOM株式會社近些年推出的一種兩線式串行總線接口的集成電路,可以根據(jù)收集的光線強度數(shù)據(jù)來進行環(huán)境監(jiān)測,其具有165 535 lx的高分辨率,可支持較大范圍的光照強度變化。其內(nèi)部是利用一個光敏二極管作為一個感光元件,光照強度不同,通過光敏二極管的光電流不同,再經(jīng)過后面的集成運放,將變化的電流轉(zhuǎn)變?yōu)樽兓碾妷?,?jīng)過模數(shù)轉(zhuǎn)換器后就可以將采
31、集的光照強度的數(shù)字量的值輸出給單片機。BH1750FVI光照強度傳感器外形如圖3.8所示。圖3.8 BH1750FVI光照強度傳感器BH1750FVI光照強度傳感器是I2C總線接口,光源的依賴性不大的傳感器,光譜的范圍是人眼相近,無需任何外部零件。BH1750FVI可以改變傳感器的靈敏度,通過函數(shù)可以消除光學(xué)窗口的影響(有無光學(xué)窗口的差異):通過改變測量時間來調(diào)整。例如:當光學(xué)窗口的傳輸速率變?yōu)?0%時(如果設(shè)置光學(xué)窗口,測量結(jié)果可以變?yōu)?.5倍)。將傳感器靈敏度從默認狀態(tài)改變?yōu)?倍時,光學(xué)窗口的影響便可以忽略。 通過改變MG寄存器(時間測量寄存器)的值可以改變傳感器的靈敏度。如果希望傳感器的
32、靈敏度是原來的2倍,則MG寄存器的值需設(shè)置為2倍。當MT寄存器值設(shè)置為2倍時,則測量時間需設(shè)置為原來的2倍。BH1750FVI主要應(yīng)用于手機,LCD,TV,PC,便攜式游戲機,數(shù)碼相機,數(shù)碼攝像機,車載導(dǎo)航,PDA,LCD顯示。3.3.2 電路設(shè)計BH1750FVI光照強度傳感器有五個管腳,其SCL管腳和SDA管腳分別和單片機的P1.0和P1.1相連,SCL端和單片機相連的線為時鐘線,SDA端和單片機相連的線為數(shù)據(jù)線,所采集的光照強度數(shù)據(jù)就是通過SDA管腳傳入單片機中的。在時鐘線和數(shù)據(jù)線上還要分別接5.1K上拉電阻與電源相連,VCC接電源,ADDR管腳和GND管腳同時接地,這樣,光照強度采集電
33、路就完成了。BH1750FVI光照強度傳感器的引腳說明如表3.2所示。光照強度采集電路如圖3.9所示。表3.2 BH1750FVI光照強度傳感器引腳說明Pin引腳名稱描述1VCC供給電壓3-5V2SCLIIC總線時鐘線3SDAIIC總線數(shù)據(jù)線4ADDRIIC地址引腳5GND電源地圖3.9 光照強度采集電路 其內(nèi)部是一個光敏元件和一個模數(shù)轉(zhuǎn)換器,其光敏元件為一個光敏二極管,當有光照時,光敏二極管會產(chǎn)生光電流,光照強度不同,這個電流就不同,而后再經(jīng)過一個集成運放將電流轉(zhuǎn)化為電壓,再經(jīng)過一個模數(shù)轉(zhuǎn)換器,從而對光照強度感知后就可以直接輸出數(shù)字量的光照強度值。上電工作時,BH1750FVI首先初始化,單
34、片機給起始信號,BH1750FVI將采集到的光照強度數(shù)據(jù)存入寄存器中,而后將其內(nèi)部寄存器的地址通過總線給主機,主機讀取地址中的數(shù)據(jù),就是光照強度數(shù)據(jù),再將讀到的數(shù)據(jù)進行顯示。3.4 顯示電路3.4.1 顯示器件簡介要將采集的數(shù)據(jù)顯示有很多種方法,有多種顯示器件可以幫助實現(xiàn)顯示電路的設(shè)計,本設(shè)計顯示電路選用七段4位數(shù)碼管。四位數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。能顯示4個數(shù)碼管叫四位數(shù)碼管。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的
35、陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。當某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮。當某一字段的陽極為低電平時,相應(yīng)字段就不亮。數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通
36、控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口
37、,而且功耗更低。數(shù)碼管有共陰極和共陽極之分,區(qū)別他們的方法是若公共端接地,其他端接電源,若各段測試能亮,說明是共陰的,反之共陽的;若公共端接電源,其他端分別接的,測得各端亮,則說明是共陽的,反之為共陰的。本設(shè)計中的數(shù)碼管為共陽數(shù)碼管。數(shù)碼管的引腳圖如圖3.10所示。圖3.10 數(shù)碼管的引腳圖3.4.2 電路設(shè)計此電路是由一個單片機和一個七段數(shù)碼管構(gòu)成,單片機控制這個數(shù)碼管,通過程序控制數(shù)碼管的每一位,使其顯示測量的濕度值。大多數(shù)的單片機應(yīng)用系統(tǒng),都要配置輸入設(shè)備和輸出設(shè)備,顯示部分屬于輸出設(shè)備,顯示作為人機交換的重要媒介,所以,一個好的顯示電路對于本系統(tǒng)是非常重要。本系統(tǒng)的顯示部分采用的是七段
38、數(shù)碼管,系統(tǒng)設(shè)計的濕度控制范圍是20%RH60%RH,誤差為1%RH,溫度和光照強度的誤差1度和1勒克斯,顯示電路的作用是循環(huán)顯示濕度值、溫度值和光照強度值,由溫濕度采集電路和光照強度采集電路采集的濕度值、溫度值和光照強度值傳送至單片機,單片機通過程序控制,使采集量在數(shù)碼管上顯示,數(shù)碼管與單片機的P0口和P2口相連,P0口接上拉電阻。顯示電路的類型主要有LCD顯示,LED點陣顯示以及數(shù)碼管顯示等等,本系統(tǒng)顯示部分的作用是顯示濕度的上下限值以及采集到的濕度值??紤]到LCD顯示電路的工作原理相對比較復(fù)雜,并且容易出錯,而LED點陣顯示對于實現(xiàn)本系統(tǒng)顯示部分的設(shè)計顯然不太適合,因此本系統(tǒng)的顯示部分采
39、用的是七段數(shù)碼管顯示,顯示電路如圖3.11所示。圖3.11 顯示電路顯示電路工作時,由于顯示器的每一位是七段的,要想顯示0-9每一個數(shù)值,首先要在程序中建立一個數(shù)組,將這十個數(shù)按照在七段數(shù)碼管顯示的規(guī)則寫好,并放入數(shù)組中。然后要顯示一個十進制的數(shù),要把這個數(shù)的個位、十位、百位和千位都要提取出來,再給到控制數(shù)碼管的這四位的變量中,最后數(shù)碼管快速掃描每一位的值,由于是在一個循環(huán)里重復(fù)掃描,所以我們看到的就是一個穩(wěn)定的四位數(shù)。單片機的每個工作管腳的電流之和不得超過120mA,所以,單片機的管腳不直接與數(shù)碼管的位選相連,而是與三極管的基極相連,通過三極管驅(qū)動數(shù)碼管。3.5 無線發(fā)射、接收電路3.5.1
40、 無線收發(fā)模塊簡介 在當今社會,科技日益進步,無線傳輸已經(jīng)成為很多信息傳播的主要途徑,本設(shè)計中要對采集電路采集的濕度值、溫度值和光照強度值進行無線發(fā)射,在遠端要無線接收到這三種數(shù)據(jù),并顯示。無線收發(fā)模塊有很多種,本設(shè)計的無線發(fā)射、接收電路中選用nRF24L01無線收發(fā)模塊。nRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4 GHz2.5 GHz ISM頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強型ShockBurst技術(shù),其中輸出功率和通信頻道可通過程序進行配置。nRF24L01功耗低,在以-6dBm的功率發(fā)射時,工作電流也只有9mA;接收時,工作電流只有
41、12.3mA,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設(shè)計更方便。nRF24L01無線收發(fā)模塊如圖3.12所示。圖3.12 nRF24L01無線收發(fā)模塊3.5.2 電路設(shè)計 nRF24L01無線收發(fā)模塊一共有10個管腳,有6個管腳與單片機相連,3.3V供電,所以不能將該無線收發(fā)模塊直接與單片機相連,要先接在一個專用的轉(zhuǎn)接板上,這個轉(zhuǎn)接板會將5V電源轉(zhuǎn)成3.3V電源,以供給無線收發(fā)模塊。無線收發(fā)模塊不區(qū)分是無線發(fā)射還是無線接收,完全由程序控制。其引腳說明如圖3.13所示。圖3.13 nRF24L01無線收發(fā)模塊引腳圖無線發(fā)射電路中的nRF24L01無線發(fā)射模塊的六個管腳分別與發(fā)射端單片機的
42、P1口和P2口的一些管腳相連,無線接收電路中的nRF24L01無線接收模塊的六個管腳分別與接收端單片機的P1口的一些管腳相連。無線發(fā)射電路如圖3.14所示,無線接收電路如圖3.15所示。圖3.14 無線發(fā)射電路圖3.15 無線接收電路發(fā)射數(shù)據(jù)時,nRF24L01無線發(fā)射模塊采用GFSK調(diào)制方式,即高斯頻移鍵控調(diào)制方式。首先將nRF24L01配置為發(fā)射模式,接著把接收節(jié)點地址TX_ADDR和有效數(shù)TX_PLD按照時序由SPI口寫入nRF24L01緩存區(qū),TX_PLD必須在CSN為低時連續(xù)寫入,而TX_ADDR在發(fā)射時寫入一次即可,然后CE置為高電平并保持至少10s,延遲130s后發(fā)射數(shù)據(jù);若自動
43、應(yīng)答開啟,那么nRF24L01在發(fā)射數(shù)據(jù)后立即進入接收模式,接收應(yīng)答信號。如果收到應(yīng)答,則認為此次通信成功,TX_DS置高,同時TX_PLD從TX FIFO中清除;若未收到應(yīng)答,則自動重新發(fā)射該數(shù)據(jù),最后發(fā)射成功時,若CE為低則nRF24L01進入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進入下一次發(fā)射;若發(fā)送堆棧中無數(shù)據(jù)且CE為高,則進入空閑模式2,完成對數(shù)據(jù)的發(fā)射。接收數(shù)據(jù)時,首先將nRF24L01配置為接收模式,接著延遲130s進入接收狀態(tài)等待數(shù)據(jù)的到來。當接收方檢測到有效的地址和CRC時,就將數(shù)據(jù)包存儲在RX FIFO中,同時中斷標志位RX_DR置高,IRQ變低,產(chǎn)生中斷,通知MCU
44、去取數(shù)據(jù)。若此時自動應(yīng)答開啟,接收方則同時進入發(fā)射狀態(tài)回傳應(yīng)答信號。最后接收成功時,若CE變低,則nRF24L01進入空閑模式1,完成對數(shù)據(jù)的接收。這樣,無線收發(fā)電路完成對數(shù)據(jù)的發(fā)射和接收。3.6 鍵控電路此系統(tǒng)的作用是測試和監(jiān)控空氣的濕度、溫度和光照強度,因此,需要手動設(shè)置這三量的上限和下限。此鍵控電路是給單片機連接一個外部中斷,當外部中斷0口低電平時,即S2閉合,主程序停止,執(zhí)行中斷程序,這時由三個開關(guān)分別控制三個采集量的選擇,S3閉合則開始預(yù)置濕度的上下限,S4閉合則開始預(yù)置溫度的上下限,S5閉合則開始預(yù)置光照強度的上下限。當選擇好即將預(yù)置的采集量后,這時當S6接高電平時,開始設(shè)置預(yù)置量
45、的上限,接低電平時,則開始設(shè)置預(yù)置量的下限。S7是控制顯示器的十位,按下則十位加一,一下一下的加,加到10則自動變?yōu)?,S8是控制顯示器的個位,按下則個位加一,同樣也是一下一下的加,加到10也會自動變?yōu)?,這樣就完成了手動預(yù)置的操作。設(shè)置完畢后,將S2斷開,中斷程序停止,系統(tǒng)繼續(xù)執(zhí)行主程序,即數(shù)碼管繼續(xù)循環(huán)顯示此時所測大氣的濕度、溫度和光照強度,鍵控電路如圖3.16所示。圖3.16 鍵控電路3.7 聲光報警電路此電路部分是為了方便工作人員監(jiān)控濕度而設(shè)計的,該部分電路是由一個單片機、一個發(fā)光二極管、一個三極管和一個蜂鳴器組成,和單片機連接的支路上串聯(lián)1K電阻。當此時空氣的濕度、溫度和光照強度的任
46、意一個值低于所設(shè)置的下限值或高于所設(shè)置的上限值時,啟動聲光報警電路,二極管會發(fā)光,蜂鳴器會響。當空氣濕度、溫度和光照強度在正常范圍之內(nèi)時,不會此啟動聲光報警電路,聲光報警電路如圖3.17所示。圖3.17 聲光報警電路當三個采集量有不在所設(shè)定的上下限范圍之內(nèi)時,單片機和蜂鳴器、發(fā)光二極管連接的管腳分別置1,這樣三極管基級就有小電流,會使發(fā)射結(jié)正偏,三極管的集電極接電源,所以會使集電結(jié)反偏,三極管導(dǎo)通,驅(qū)動蜂鳴器工作。而放光二極管正向?qū)?,會發(fā)光。這樣聲光報警電路就會工作了。第4章軟件系統(tǒng)的設(shè)計系統(tǒng)軟件設(shè)計也就是程序設(shè)計,就是在完成了硬件系統(tǒng)的基礎(chǔ)上,再編寫相應(yīng)的程序,下載到芯片里,通過執(zhí)行程序指
47、令控制硬件,從而實現(xiàn)各部分功能。在本設(shè)計中,軟件編程方面采用C語言對單片機進行編程,并使用KeiLC51系統(tǒng)進行軟件調(diào)試。Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。掌握這一軟件的使用方法對于使用
48、51系列單片機的使用者來說是十分必要的。早期的單片機程序多采用匯編語言編寫。用匯編語言編程,直接、簡捷,可有效地訪問和控制各種硬件設(shè)備,如存儲器、I/O 口等,目標代碼簡短、占用內(nèi)存少、執(zhí)行速度快、語句效率高。然而,由于匯編語言是面向機器的語言,不同廠家或同廠家不同系列的單片機,其匯編語言指令系統(tǒng)往往互不相同,即通常所說的“不兼容”。這就出現(xiàn)了精通51單片機匯編語言的人不能直接編寫PIC 或其他單片機的匯編語言源程序,反之亦然的現(xiàn)象,以及產(chǎn)品升級換代和不同單片機間程序移植難的問題。而且,由于匯編語言是采用助記符的低級語言,可讀性較差,當源程序功能多、程序長時,即使加了注釋,閱讀自己編寫的程序也
49、會感到困難,更不用說修改程序和增加功能了。目前,單片機的應(yīng)用越來越廣,各半導(dǎo)體生產(chǎn)廠家不斷推出各種高、中、低檔單片機系列,以適應(yīng)市場的需求。而客戶對單片機系統(tǒng)的設(shè)計人員的基本要求,就是要選擇能夠滿足產(chǎn)品性能和成本要求的單片機,并以最快的速度開發(fā)出完全滿足市場需求的智能化產(chǎn)品。用匯編語言編程顯然無法達到要求。用C 語言開發(fā)單片機系統(tǒng)軟件的最大好處,是代碼效率高、軟件調(diào)試直觀、維護升級方便、代碼的重復(fù)利用率高、便于跨平臺的代碼移植等。因此,C 語言在單片機系統(tǒng)設(shè)計中得到越來越廣泛的運用。C 語言是一種高級語言,具有低級語言的特點,原來用各種匯編語言編寫的單片機程序,均可用C語言程序代換。于是本設(shè)計
50、采用C語言進行編程。4.1 主程序的設(shè)計開始本設(shè)計主要是完成對溫度、濕度和光照強度的采集并用數(shù)碼管顯示,并將數(shù)據(jù)通過無線發(fā)射模塊發(fā)射出去,發(fā)射端還要判斷采集的數(shù)值是否在預(yù)置的上下限范圍之內(nèi),不在范圍內(nèi)則還要進行聲光報警。接收端則只顯示接收的數(shù)據(jù)。發(fā)射端主程序流程圖如圖4.1所示,接收端主程序流程圖如圖4.2所示。系統(tǒng)初始化調(diào)用溫濕度采集子程序調(diào)用光照強度采集子程序調(diào)用數(shù)碼管顯示子程序調(diào)用無線發(fā)射子程序是否在上下限范圍之內(nèi)聲光報警 N Y圖4.1 發(fā)射端主程序流程圖開始調(diào)用無線接收子程序系統(tǒng)初始化調(diào)用數(shù)碼管顯示子程序圖4.2 接收端主程序流程圖4.2 溫濕度采集子程序的設(shè)計此部分是使用DHT11
51、溫濕度傳感器進行溫度和濕度的采集,傳感器內(nèi)部的電阻式濕敏元件和NTC元件分別對濕度和溫度采集,再經(jīng)數(shù)模轉(zhuǎn)換后將數(shù)值傳送給單片機。DHT11首先初始化,在采集完數(shù)據(jù)后,DATA端與單片機的P1.2口相連,開始單片機給P1.2口置0,表示主機發(fā)出開始信號,然后主機把總線拉高等待DHT11發(fā)出響應(yīng)信號,DHT11收到開始信號后將P1.2口置0表示發(fā)出響應(yīng)信號,而后開始一位一位的傳輸數(shù)據(jù),這時主機讀取響應(yīng)信號。溫濕度采集子程序流程圖如圖4.3所示。開始DHT11初始化數(shù)據(jù)采集主機發(fā)出開始信號DHT11發(fā)送響應(yīng)信號傳送數(shù)據(jù)主機讀取響應(yīng)信號返回圖4.3 溫濕度采集子程序流程圖4.3 光照強度采集子程序的設(shè)
52、計此部分是使用BH1750FVI光照強度傳感器對光照強度進行采集,傳感器內(nèi)部的光敏二極管會發(fā)出光電流,光照強度不同,光敏二極管所發(fā)出的光電流值則不同,在經(jīng)過集成運放和模數(shù)轉(zhuǎn)換器就可以將光照強度以數(shù)字量的形式傳送給單片機,完成對光照強度的采集。光照強度采集部分流程圖如圖4.4所示。開始BH1750FVI初始化主機發(fā)送從機地址寫器件相應(yīng)寄存器地址寫數(shù)據(jù)到相應(yīng)寄存器地址讀取數(shù)據(jù)主機發(fā)送停止信號返回圖4.4 光照強度采集子程序流程圖4.4 無線發(fā)射接收子程序的設(shè)計此部分是利用nRF24L01無線發(fā)射模塊對采集完成的溫度數(shù)據(jù)、濕度數(shù)據(jù)和光照強度數(shù)據(jù)進行無線發(fā)射。nRF24L01無線收發(fā)模塊不區(qū)分發(fā)射和接
53、收,完全由單片機的程序控制,將從傳感器采集完成的溫度、濕度和光照強度值存入到TxBuf數(shù)組中,無線發(fā)射模塊會將這個數(shù)組中的數(shù)據(jù)發(fā)射出去。接收端的無線接收模塊會將數(shù)據(jù)接收并存入到RxBuf數(shù)組中,再讀取這個數(shù)組中的數(shù)據(jù),這三個數(shù)據(jù)就是發(fā)射端采集的溫度、濕度和光照強度的數(shù)值。無線發(fā)射子程序流程圖如圖4.5所示。開始nRF2401初始化啟動發(fā)射模式將數(shù)據(jù)存入TxBuf中無線發(fā)射返回圖4.5 無線發(fā)射子程序流程圖無線接收子程序流程圖如圖4.6所示。開始nRF2401初始化啟動接收模式無線接收讀取RxBuf中的數(shù)據(jù)返回圖4.6 無線接收子程序流程圖4.5 數(shù)碼管顯示子程序的設(shè)計由采集電路采集到的溫度數(shù)據(jù)
54、、濕度數(shù)據(jù)和光照強度數(shù)據(jù)傳輸?shù)搅藛纹瑱C內(nèi),單片機就要通過程序控制將數(shù)據(jù)顯示出來,這時就要設(shè)計數(shù)碼管顯示電路,將傳感器采集完成的濕度值,溫度值和光照強度值用數(shù)碼管顯示。數(shù)碼管的位選分別接到單片機的P2.0至P2.3口上,由于是共陽極的數(shù)碼管,所以位選的四個管腳置1數(shù)碼管就滅,置0則亮,所以數(shù)碼管工作時,首先將數(shù)碼管清屏,就是全滅,再一位一位的掃描顯示各位的數(shù)。段選部分,abcdefg七段與P0口相連,哪一段置0則亮,置1則滅,工作時先將要顯示的數(shù)的段選碼從數(shù)組中找到送至P0口,再開啟位選,比如若要顯示1,則其二進制的段選碼應(yīng)為11111001,十六進制數(shù)為0 xf9。數(shù)碼管顯示流程圖如圖4.7所
55、示。開始清屏千位顯示百位顯示十位顯示個位顯示返回圖4.7 數(shù)碼管顯示子程序流程圖4.6 鍵控部分中斷程序的設(shè)計此部分是單片機的一個中斷服務(wù)程序所控制的,當單片機的INT0口接低電平時,主程序停止,這時由三個開關(guān)分別控制三個采集量的選擇,控制哪個量的開關(guān)閉合則代表即將預(yù)置哪個量,S3控制濕度,S4控制溫度,S5控制光照強度。S3閉合則開始預(yù)置濕度的上下限,S4閉合則開始預(yù)置溫度的上下限,S5閉合則開始預(yù)置光照強度的上下限,S6接高電平時可以設(shè)置上限,S6接低電平時可以設(shè)置下限。S7和S8分別是控制這三個采集量的上限或者下限的十位調(diào)節(jié)和個位調(diào)節(jié)的,按一下則對應(yīng)位加一,加到十則跳到零,這樣就完成了鍵
56、控部分的設(shè)計。鍵控部分流程圖如圖4.8所示。開始預(yù)置量選擇是否設(shè)置上限設(shè)置下限設(shè)置上限 Y N 十位調(diào)節(jié)個位調(diào)節(jié)返回圖4.8 鍵控部分中斷程序流程圖第5章系統(tǒng)調(diào)試5.1 硬件調(diào)試在進行硬件調(diào)試時,心一定要細,一定要耐心,因為硬件有一個地方錯誤都可能導(dǎo)致整個電路出于不正常工作狀態(tài)。此系統(tǒng)硬件的搭建有的部分是利用杜邦線將各個模塊和單片機最小系統(tǒng)開發(fā)板相連,有的部分是將自己焊接的電路板與單片機相連接。鑒于使用的硬件比較多,電路比較復(fù)雜,所以在硬件調(diào)試的過程中一定要運用了分步調(diào)試與整體調(diào)試想結(jié)合的方法。第一步調(diào)試硬件電路板首先目測各元件各管腳是否都已經(jīng)按照電路圖正確連接,接著利用電表逐一排查,查看每個
57、芯片的電源及地有無接反,是否焊好以及有無漏焊虛焊,然后查看每根導(dǎo)線與板的連接情況。仔細檢查各芯片的管腳連線是否正確,在這一切工作都完成后檢查高低電平是否短路。在這一切保證無誤后通電測量各芯片高低電壓及有關(guān)管腳電壓。第二步以同樣的方法步驟檢查近端硬件電路板。最后將兩部分電路連接在一塊,主要看LED數(shù)碼管能否顯示。圖5.1為硬件搭建的整體圖,此部分主要包括采集電路、顯示電路和無線收發(fā)電路。圖5.1 硬件搭建的整體圖在硬件調(diào)試時一共發(fā)現(xiàn)了三個錯誤,有一根連接數(shù)碼管和單片機開發(fā)板VCC端的杜邦線松了,在焊接鍵控部分時有一個焊點虛焊了,無線發(fā)射模塊的管腳與開發(fā)板之間連接錯了。前兩個錯誤很快就找到了,并且
58、換了一個杜邦線,將虛焊的焊點重新焊接完畢,最后一個錯誤找了好久才發(fā)現(xiàn),可能是因為發(fā)射模塊管腳多的原因吧,找到錯誤后重新將管腳連接正確。發(fā)射部分的鍵控電路焊接如圖5.2所示。圖5.2 發(fā)射部分焊接的鍵控電路5.2 軟件調(diào)試本設(shè)計中軟件部分是采用C語言進行編寫的,純軟件調(diào)試只是對軟件程序進行完善和編譯,使之沒有語法上的錯誤,能夠正確運行。由于本系統(tǒng)軟件編寫了多個功能模塊,所以在軟件調(diào)試中首先對各個功能模塊進行了調(diào)試,然后對整個程序進行連調(diào)在編譯通過的情況下運行。本設(shè)計中有兩個單片機,發(fā)射部分一個,接收部分一個,所以發(fā)射端要有發(fā)射部分的程序,接收端要有接收部分的程序。在調(diào)試過程中遇到了一些語法錯誤,
59、在查閱資料的同使請教了老師和同學(xué),順利將其改正。由于無線發(fā)射和接收部分的通信無法在protues軟件里進行仿真,所以以濕度一個采集量為例,在發(fā)射端采用555芯片搭制多諧振蕩電路單片機計頻的方法對濕度進行采集,其protues仿真電路如圖5.3所示。此時的相對濕度為40%RH。圖5.3 以濕度為例在發(fā)射端的protues仿真圖鍵控設(shè)置采集量上下限的protues仿真圖如圖5.4所示,同樣也是以濕度為例在發(fā)射端,設(shè)置濕度的上限為85%RH。圖5.4 將濕度上限設(shè)為85%RH的仿真圖5.3 軟硬件聯(lián)調(diào)調(diào)試完硬件電路以及軟件編譯成功之后,就開始了軟硬件的聯(lián)合調(diào)試。即使前期已經(jīng)分別完成了軟件和硬件的獨立
60、調(diào)試,但在聯(lián)機調(diào)試中也還是遇到了一些的問題,比如硬件連接單片機的管腳與程序中該硬件連接單片機的管腳不一致,下載程序失敗導(dǎo)致硬件無法工作,將硬件和程序仔細核對,下載程序時步驟正確,這樣就可以避免這些錯誤。硬件顯示如圖5.5所示,此時光照強度的顯示值為59,由于拍攝效果不好,所以圖中數(shù)碼管顯示數(shù)值模糊。圖5.5 硬件顯示圖如用手將光強傳感器的感官部分擋住,則光照強度變?yōu)?,如圖5.6所示。圖5.6 遮住光照強度傳感器后顯示光強為0的硬件圖第6章社會效益及經(jīng)濟效益在現(xiàn)實生活中,無論是工業(yè)、農(nóng)業(yè)還是日常生活都離不開對大氣溫度、濕度和光照強度的測量。尤其是農(nóng)業(yè)生產(chǎn)中,溫度、濕度和光強對農(nóng)作物的生長產(chǎn)生了
61、很大的影響,所以此系統(tǒng)可以極大的滿足日常生活中人們的使用,而且此系統(tǒng)具有無線發(fā)射和無線接收的功能,在科技越來越進步的當今社會,人們的通信都無線化了,本系統(tǒng)在采集溫度、濕度和光強的同時還可以通過無線發(fā)射和接收模塊將數(shù)值傳送到遠端,這也極大的完善了本系統(tǒng)的功能,可以滿足人們在遠端想得知這三個采集量的數(shù)值的要求。所以本系統(tǒng)一旦融入社會,一定會帶來十分好的社會效益。本次設(shè)計為了達到良好的實用性,又盡可能的考慮了價格因素,在挑選器件上做到了物美價廉,因此有比較高的性價比。該設(shè)計符合社會需求,擁有廣大的消費市場,而且推動了電子通信產(chǎn)業(yè)的發(fā)展,具有廣闊的市場前景。結(jié) 論本次課程設(shè)計實現(xiàn)了對生態(tài)園的大氣環(huán)境的
62、檢測,其中包括濕度數(shù)據(jù)、溫度數(shù)據(jù)和光照強度數(shù)據(jù)的采集,數(shù)碼管對濕度值的顯示,手動設(shè)置采集量的上下限以便在所測的三個采集量不在上下限范圍之內(nèi)時啟動聲光報警。工作人員如沒有聽到蜂鳴器發(fā)出聲響,沒有看到報警燈亮,則只需按時記錄此生態(tài)園的空氣濕度,并做相應(yīng)統(tǒng)計。如果聽到蜂鳴器發(fā)出聲響,看到報警燈亮,那么代表此時空氣濕度、溫度或光照強度中至少有一個值過低或過高,需工作人員馬上報告并作出應(yīng)對措施。此系統(tǒng)還將采集完成的三種數(shù)據(jù)通過無線發(fā)射模塊發(fā)射出去,這樣在遠處的檢測人員也可以看到溫度、濕度和光照強度的數(shù)值,從而完成了在遠程的檢測。綜上,此環(huán)境檢測系統(tǒng)會給社會帶來很大方便,可以大大的提高生態(tài)園的安全指數(shù)。這是一次十分有意義的訓(xùn)練,是一次真正鍛煉我們專業(yè)知識的訓(xùn)練。通過畢業(yè)設(shè)計,我真正的體會到了電子知識給我們的日常生活和工業(yè)生產(chǎn)帶來了很多方便之處,可以說我們的社會處處離不開電子。四個月的畢業(yè)設(shè)計結(jié)束了,在剛開始領(lǐng)到畢設(shè)題目時,生態(tài)園環(huán)境的檢測系統(tǒng),第一感覺就是應(yīng)該很簡單,因為題目里面的詞語都聽過,再仔細想想,感覺不知如何入手,看到任務(wù)書以后,我才漸漸的明白了需要我們做什么。這個大課題的電路設(shè)計最初讓我很
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。