蔬菜大棚種植環(huán)境檢測系統(tǒng)設(shè)計(jì)正文終稿_第1頁
蔬菜大棚種植環(huán)境檢測系統(tǒng)設(shè)計(jì)正文終稿_第2頁
蔬菜大棚種植環(huán)境檢測系統(tǒng)設(shè)計(jì)正文終稿_第3頁
蔬菜大棚種植環(huán)境檢測系統(tǒng)設(shè)計(jì)正文終稿_第4頁
蔬菜大棚種植環(huán)境檢測系統(tǒng)設(shè)計(jì)正文終稿_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、. . . . 蔬菜大棚種植環(huán)境檢測系統(tǒng)設(shè)計(jì)第1章 緒論1.1 選題的依據(jù)和意義現(xiàn)代農(nóng)業(yè)生態(tài)園發(fā)展迅速,不僅種植品種更多、規(guī)模更大,而且種植區(qū)域也更加集中,這給農(nóng)業(yè)人員的管理和優(yōu)化種植增加了難度和成本。為了解決這些問題,我國的蔬菜大棚種植正在向信息化和智能化的方向發(fā)展。只有應(yīng)用先進(jìn)的較低成本的信息采集手段,實(shí)時(shí)、精確地獲取大棚環(huán)境信息,制定科學(xué)的管理決策,最后通過智能設(shè)備或人工控制等措施,才能提高種植作物的經(jīng)濟(jì)效益,本設(shè)計(jì)就是設(shè)計(jì)一個(gè)生態(tài)園的環(huán)境監(jiān)測系統(tǒng)。在當(dāng)今社會(huì),我們的經(jīng)濟(jì)、農(nóng)業(yè)和工業(yè)都趨向于信息話、科技化,尤其是農(nóng)業(yè)生產(chǎn)和農(nóng)業(yè)養(yǎng)殖更是借助了很多現(xiàn)代先進(jìn)的科技力量。在蔬菜、水果的大棚種植中

2、,大棚中的溫度、濕度和光照強(qiáng)度都會(huì)對(duì)農(nóng)作物的生長的產(chǎn)生影響,如果我們對(duì)大棚中的這三個(gè)參數(shù)進(jìn)行監(jiān)控和有效的調(diào)節(jié),那么農(nóng)作物的數(shù)量和質(zhì)量都會(huì)得到上升,一旦我們的農(nóng)作物的質(zhì)量和數(shù)量有大幅度的提高,那么就標(biāo)志著我們的農(nóng)業(yè)生產(chǎn)水平上了一個(gè)大臺(tái)階,所以對(duì)生態(tài)園環(huán)境監(jiān)測系統(tǒng)的研究是十分有必要的。選題的意義在于這個(gè)系統(tǒng)具有以下三個(gè)優(yōu)點(diǎn):1、可以實(shí)時(shí)采集周圍的溫度、濕度和光照強(qiáng)度,分別進(jìn)行顯示,可以人為的直觀的觀測到,了解生態(tài)園的現(xiàn)況。2、該監(jiān)測系統(tǒng)具有自動(dòng)設(shè)置上下限功能,并配有聲光報(bào)警功能,一旦所監(jiān)測的值不在自行設(shè)置的上限和下限的圍之,報(bào)警部分就會(huì)讓人們知道這一情況,工作人員可以作出相應(yīng)的措施。3、該系統(tǒng)可以

3、將數(shù)據(jù)傳送到上位機(jī)上,一旦配置上無線發(fā)射模塊,再在接收端配置上無線接收模塊,這樣可以實(shí)現(xiàn)遠(yuǎn)距離傳輸,接收端的上位機(jī)上可以顯示出生態(tài)園的溫度、濕度和光照強(qiáng)度。就以上三點(diǎn)可以充分地表達(dá)出這一選題是十分有意思的,一旦我們將這一系統(tǒng)研究到位,應(yīng)用合理,那么會(huì)對(duì)我們的農(nóng)業(yè)生產(chǎn)有很大的幫助。1.2 選題研究的基本容 本課題根據(jù)生態(tài)園發(fā)展需要,設(shè)計(jì)一種蔬菜大棚種植環(huán)境檢測系統(tǒng),利用傳感器對(duì)棚作物生長情況進(jìn)行監(jiān)測,采集其在生長周期溫度、濕度和光強(qiáng)的數(shù)據(jù),以便與時(shí)調(diào)整棚環(huán)境達(dá)到作物生長的適宜條件,實(shí)現(xiàn)蔬菜大棚的優(yōu)化種植。具體需要做的任務(wù)首先要按照實(shí)際應(yīng)用背景完成主控電路的設(shè)計(jì),然后要設(shè)計(jì)利用傳感器采集生態(tài)園大氣

4、環(huán)境中的溫度、濕度和光照強(qiáng)度的電路,將數(shù)據(jù)傳送到單片機(jī),設(shè)計(jì)的顯示電路要將采集的數(shù)據(jù)顯示,顯示精度±1,被監(jiān)測溫度圍10-35、被監(jiān)測濕度圍50-90%RH,不在預(yù)置的上下限圍之要進(jìn)行聲光報(bào)警。最后要設(shè)計(jì)通信電路,將采集完成的數(shù)據(jù)傳送到上位機(jī),并進(jìn)行顯示。 首先要對(duì)溫度、濕度和光照強(qiáng)度進(jìn)行采集,然后送入單片機(jī),再經(jīng)數(shù)碼管進(jìn)行顯示,最后送入無線發(fā)射模塊,將數(shù)據(jù)無線傳輸?shù)竭h(yuǎn)端的上位機(jī)上進(jìn)行顯示。主要需要研究以下兩種器件:傳感器:溫度傳感器是指能感受溫度并轉(zhuǎn)換成可用輸出信號(hào)的傳感器。按照傳感器材料與電子元件特性分為熱電阻和熱電偶兩類;濕度傳感器類似,電容式、電阻式和濕漲式濕敏元器件分別是根

5、據(jù)其高分子材料吸濕后的介電常數(shù)、電阻率和體積隨之發(fā)生變化而進(jìn)行濕度測量的;光強(qiáng)傳感器一般都選用光敏電阻,是一種因光照強(qiáng)度的改變而導(dǎo)致其電阻值改變的器件。這三種傳感器分別在三路信息的采集電路上起到了重要的作用。下位機(jī)、上位機(jī):上位機(jī)是指可以直接發(fā)出操控命令的計(jì)算機(jī),一般是PC,屏幕上顯示各種信號(hào)變化(液壓,水位,溫度等)。下位機(jī)是直接控制設(shè)備獲取設(shè)備狀況的計(jì)算機(jī),一般是單片機(jī)之類的。上位機(jī)發(fā)出的命令首先給下位機(jī),下位機(jī)再根據(jù)此命令解釋成相應(yīng)時(shí)序信號(hào)直接控制相應(yīng)設(shè)備。下位機(jī)不時(shí)讀取設(shè)備狀態(tài)數(shù)據(jù),一般為模擬量,轉(zhuǎn)換成數(shù)字信號(hào)反饋給上位機(jī)。本系統(tǒng)是下位機(jī)將采集的溫度、濕度和光照強(qiáng)度這三個(gè)量傳輸?shù)缴衔粰C(jī)

6、上進(jìn)行顯示。1.3課題分析本課題主要是利用單片機(jī)對(duì)生態(tài)環(huán)境中的溫度、濕度和光照強(qiáng)度進(jìn)行采集和顯示,并且無線傳輸?shù)竭h(yuǎn)端的監(jiān)控地點(diǎn)再進(jìn)行顯示?;舅悸肥峭ㄟ^對(duì)這三個(gè)采集量感應(yīng)的傳感器同時(shí)采集這三種數(shù)據(jù),將數(shù)據(jù)傳送到單片機(jī),單片機(jī)通過程序控制實(shí)現(xiàn)用數(shù)碼管循環(huán)顯示這三種數(shù)據(jù)的值,再將數(shù)據(jù)通過24L01無線發(fā)射模塊發(fā)射,遠(yuǎn)端的24L01無線接收模塊接收到數(shù)據(jù),將數(shù)據(jù)傳送到單片機(jī),單片機(jī)通過程序控制實(shí)現(xiàn)遠(yuǎn)端數(shù)碼管對(duì)這三個(gè)數(shù)據(jù)的顯示。第2章 方案分析2.1 系統(tǒng)工作原理測量空氣濕度的方式很多,其原理是根據(jù)某種物質(zhì)從其周圍的空氣中吸收水分后引起的物理或化學(xué)性質(zhì)的變化,間接地獲得該物質(zhì)的吸水量與周圍空氣的濕度。

7、電容式、電阻式和濕漲式濕敏元器件分別是根據(jù)其高分子材料吸濕后的介電常數(shù)、電阻率和體積隨之發(fā)生變化而進(jìn)行濕度測量的。測量溫度和光照強(qiáng)度的方式也很多,和濕度類似。測溫元件主要有熱電偶和熱敏電阻,通過與電源構(gòu)成測溫電路,隨著溫度的變化導(dǎo)致輸出的電壓量變化,再經(jīng)過ADC0809模數(shù)轉(zhuǎn)換器,將電壓這個(gè)模擬量的變化變成數(shù)字量的變化,這樣再將變化的數(shù)字量傳輸?shù)絾纹瑱C(jī)中,通過程序控制,進(jìn)行顯示,這樣就能讀出此時(shí)的溫度值了。感光元件主要就是光敏電阻和光敏二極管,隨著光照強(qiáng)度的改變,光敏電阻的阻值會(huì)發(fā)生變化,通過光敏二極管的光電流則會(huì)發(fā)生變化,和溫度類似,也將其通過外圍電路轉(zhuǎn)化為電壓的改變,再經(jīng)過模數(shù)轉(zhuǎn)換器將數(shù)據(jù)

8、數(shù)據(jù)送入單片機(jī),從而控制數(shù)碼管顯示。AT89C51控制系統(tǒng),常用的單片機(jī)的類型主要有AT89C51,AT89C52以與AT89C2051等等,本系統(tǒng)選用的單片機(jī)類型為AT89C51,相對(duì)其他同類產(chǎn)品而言,此芯片具有超強(qiáng)的抗干擾、高速、低功耗、指令代碼完全兼容傳統(tǒng)8951單片機(jī)、12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可以任意選擇等特點(diǎn),綜合本系統(tǒng)的諸多情況與設(shè)計(jì)要求,故選用單片機(jī)AT89C51。無線發(fā)射和接受部分,接受采集信號(hào)的單片機(jī)作為下位機(jī),將采集后的數(shù)據(jù)通過無線發(fā)射模塊進(jìn)行發(fā)射。在遠(yuǎn)端的接收部分,通過無線接收模塊將數(shù)據(jù)傳送給上位機(jī),同樣上位機(jī)也是一個(gè)單片機(jī),上位機(jī)再將接收的數(shù)據(jù)傳送到數(shù)碼管進(jìn)

9、行顯示。2.2 方案設(shè)計(jì)本方案中的濕度采集和溫度采集部分共同利用一種器件完成,DHT11是一種數(shù)字量輸出的溫度、濕度傳感器,其部采集工作原理是利用電阻式的濕敏元件和NTC感溫元件分別對(duì)濕度和溫度進(jìn)行采集。電阻式濕敏元件主要使用高分子固體電解質(zhì)材料作為感濕膜,由于膜中存在可動(dòng)離子而產(chǎn)生導(dǎo)電性,隨著濕度的增大,其電離作用增強(qiáng),便可動(dòng)離子的濃度增大,電極間的阻值減小,當(dāng)濕度減小時(shí),電離作用也相應(yīng)減弱,可動(dòng)離子的濃度也減小,電極間的電阻值增大,這樣,濕敏元件對(duì)水分子的吸附和釋放情況,可通過電極間電阻值的變化檢測出來,從而得到相應(yīng)的濕度值。NTC感溫元件是一種熱敏電阻,溫度越高熱敏電阻阻值越小,溫度越低

10、熱敏電阻阻值越大,從而通過對(duì)電阻值得變化檢測出響應(yīng)的溫度值。DHT11可以同時(shí)采集溫度和濕度,其部自帶模數(shù)轉(zhuǎn)換器和一個(gè)高性能的8位單片機(jī),可以直接輸出數(shù)字量給單片機(jī),達(dá)到對(duì)溫度和濕度的采集。一般的溫濕度采集還可以采用熱敏電阻和HS1101電容式的濕度傳感器進(jìn)行,溫度改變,熱敏電阻的阻值則改變,這樣通過外圍電路就可以轉(zhuǎn)換為電壓的變化,再接一個(gè)模數(shù)轉(zhuǎn)換器,這樣就可以完成溫度的采集了。HS1101的電容值會(huì)根據(jù)濕度的變化而變化,這樣外圍用555芯片搭建一個(gè)多諧振蕩電路,這樣可以將濕度的變化轉(zhuǎn)換為多諧振蕩器輸出信號(hào)頻率的變化,這樣單片機(jī)計(jì)頻就可以采集出當(dāng)時(shí)的濕度了。但是,與這種方法相比,DHT11溫濕

11、度傳感器方便簡潔,且能高效的同時(shí)采集出這兩種量,所以在溫濕度采集部分選用DHT11溫濕度傳感器。光照強(qiáng)度采集部分和溫濕度類似,也采用數(shù)字量輸出的傳感器,BH1750FVI是一種高性能的數(shù)字量輸出的光照強(qiáng)度傳感器,其部是一個(gè)光敏元件和一個(gè)模數(shù)轉(zhuǎn)換器,其光敏元件為一個(gè)光敏二極管,當(dāng)有光照時(shí),光敏二極管會(huì)產(chǎn)生光電流,光照強(qiáng)度不同,這個(gè)電流就不同,而后再經(jīng)過一個(gè)集成運(yùn)放將電流轉(zhuǎn)化為電壓,再經(jīng)過一個(gè)模數(shù)轉(zhuǎn)換器,從而對(duì)光照強(qiáng)度感知后就可以直接輸出數(shù)字量的光照強(qiáng)度值,單片機(jī)讀取采集量的數(shù)值后進(jìn)行顯示。無線發(fā)射和接收部分,接受采集信號(hào)的單片機(jī)作為下位機(jī),將采集后的數(shù)據(jù)通過無線發(fā)射模塊進(jìn)行發(fā)射。在遠(yuǎn)端的接收部分

12、,通過無線接收模塊將數(shù)據(jù)傳送給上位機(jī),同樣上位機(jī)也是一個(gè)單片機(jī),上位機(jī)再將接收的數(shù)據(jù)傳送到數(shù)碼管進(jìn)行顯示。此方案采用nrf24L01無線收發(fā)模塊,該模塊工作頻率2.4GHz2.525GHz,可以將采集的數(shù)據(jù)進(jìn)行無線發(fā)射和接受,從而達(dá)到無線發(fā)射和接受的要求。此外,本系統(tǒng)在發(fā)射部分還設(shè)計(jì)了鍵盤輸入和聲光報(bào)警部分,鍵控部分采用開關(guān)和按鍵的結(jié)合,聲光報(bào)警部分的設(shè)計(jì)是在發(fā)射端的單片機(jī)上連接一個(gè)發(fā)光二極管和一個(gè)蜂鳴器。手動(dòng)設(shè)置濕度、濕度和光強(qiáng)的上限和下限,首先選擇需要設(shè)置的量,然后再選擇設(shè)置上限或下限,最后分別設(shè)置每一位的值。當(dāng)溫度、濕度和光照強(qiáng)度的值不在所設(shè)定的上下限之,則啟動(dòng)聲光報(bào)警部分,這時(shí)二極管發(fā)

13、光,蜂鳴器響,從而達(dá)到監(jiān)控報(bào)警的作用,這樣更能方便工作人員對(duì)生態(tài)園的檢測和管理。這方案中直接使用DHT11和BH1750FVI這兩個(gè)數(shù)字量輸出的傳感器,可以高效的對(duì)三個(gè)量進(jìn)行采集并將采集的數(shù)據(jù)直接傳送至單片機(jī),完成對(duì)溫度、濕度和光照強(qiáng)度這三個(gè)量的采集。集部分簡單高效,硬件調(diào)試不易出錯(cuò),可以按照預(yù)期完成數(shù)據(jù)采集和無線發(fā)射。圖2.1是整個(gè)系統(tǒng)的發(fā)射部分的原理框圖,圖2.2是系統(tǒng)的接收部分的原理框圖。時(shí)鐘電路溫濕度傳感器DHT11鍵盤輸入單 片 機(jī)顯示電路光強(qiáng)傳感器BH1750FVI無線發(fā)射模塊聲光報(bào)警復(fù)位電路圖2.1 系統(tǒng)的發(fā)射部分原理框圖顯示電路無線接收模塊上位機(jī)圖2.2 系統(tǒng)的接收部分原理框圖

14、第3章 硬件電路設(shè)計(jì)本章圍繞整體設(shè)計(jì)方案進(jìn)行設(shè)計(jì)分析,著重介紹硬件電路的設(shè)計(jì)原理,各部分的組成以與元器件的性能。本設(shè)計(jì)的硬件電路主要包括AT89C51單片機(jī)的時(shí)鐘電路和復(fù)位電路的設(shè)計(jì)、溫濕度采集電路的設(shè)計(jì)、光照強(qiáng)度采集電路的設(shè)計(jì)、顯示電路的設(shè)計(jì)、無線發(fā)射電路的設(shè)計(jì)、無線接收電路的設(shè)計(jì)、發(fā)射端鍵控電路的設(shè)計(jì)以與聲光報(bào)警電路的設(shè)計(jì)。3.1 單片機(jī)控制電路3.1.1 AT89C51單片機(jī)簡介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多

15、功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。1 主要性能本系統(tǒng)選用并設(shè)定的單片機(jī)采用12時(shí)鐘/機(jī)器周期,工作電壓5V。在AT89C51單片機(jī)的40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,中斷口線與P3口線復(fù)用,可編程串行通道,低功耗的閑置和掉電模式,片振蕩器和時(shí)鐘電路。2管腳說明 VCC:供電電壓;VSS:接地。  P0口:P0口為一個(gè)8位漏極開路雙向I/O口,每腳可吸收8個(gè)TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定

16、義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低8位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4個(gè)TTL門電流。P0口管腳寫入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第8位地址接收。 P2口:P2口為一個(gè)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被部上拉電阻拉高,

17、且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高8位。在給出地址“1”時(shí),它利用部上拉優(yōu)勢(shì),當(dāng)對(duì)外部8位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗(yàn)時(shí)接收高8位地址信號(hào)和控制信號(hào)。  P3口:P3口管腳是8個(gè)帶部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51

18、的一些特殊功能口,如下所示: P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(計(jì)時(shí)器0外部輸入)P3.5 T1(計(jì)時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。

19、然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。    EA/VPP:當(dāng)EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有部程序存儲(chǔ)器。注意加密方式1時(shí),EA將部鎖

20、定為RESET;當(dāng)EA端保持高電平時(shí),此間部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。AT89C51芯片管腳圖如圖3.1所示。圖3.1 AT89C51管腳圖3.1.2 時(shí)鐘電路單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘控制信號(hào)為基準(zhǔn),有條不紊地一拍一拍地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。時(shí)鐘電路的兩根線分別接到單片機(jī)的X1端和X2端,電路中的晶振即石英晶體震蕩器。由于石英晶體震蕩器具有非常好的頻率穩(wěn)定性和抗外界干擾的能力,所以,石英晶體震蕩器是用來產(chǎn)生基準(zhǔn)頻率的。通過基準(zhǔn)頻率來控制電路中的頻率的準(zhǔn)確性。同時(shí),它還可以產(chǎn)

21、生振蕩電流,向單片機(jī)發(fā)出時(shí)鐘信號(hào)。XTAL1接外部晶體的一個(gè)引腳,XTAL2接外晶體的另一端,在單片機(jī)部,接至上述振蕩器的反相放大器的輸出端。石英晶振起振后要能在XTAL2線上輸出一個(gè)3V左右的正弦波,以便使MCS-51片的OSC電路按石英晶振一樣頻率自激振蕩。常用的時(shí)鐘電路設(shè)計(jì)有兩種方式,一種是部時(shí)鐘方式,另一種是外部時(shí)鐘方式,本設(shè)計(jì)中采用的是部時(shí)鐘方式。OSC的輸出時(shí)鐘頻率fosc為0.5MHz-16MHz,典型值為12MHz或者11.0592MHz。電容C1和C2可以幫助起振,典型值為30pF,調(diào)節(jié)它們可以達(dá)到微調(diào)fosc的目的。時(shí)鐘電路如圖3.2所示。圖3.2 時(shí)鐘電路3.1.3復(fù)位電

22、路復(fù)位電路的主要功能是使單片機(jī)進(jìn)行初始化,在初始化的過程中需要在復(fù)位引腳上加大于2個(gè)機(jī)器周期的高電平。復(fù)位后的單片機(jī)地址初始化為0000H,然后繼續(xù)從0000H單元開始執(zhí)行程序。在復(fù)位電路中提供復(fù)位信號(hào),等到系統(tǒng)電源穩(wěn)定后,再撤銷復(fù)位信號(hào)。但是為了在復(fù)位按鍵穩(wěn)定的前提下,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防在按鍵過程中引起的抖動(dòng)而影響復(fù)位。單片機(jī)的復(fù)位電路如圖3.3所示。圖3.3 復(fù)位電路在單片機(jī)系統(tǒng)中,系統(tǒng)上電啟動(dòng)的時(shí)候復(fù)位一次,當(dāng)按鍵按下的時(shí)候系統(tǒng)再次復(fù)位,如果釋放后再按下,系統(tǒng)還會(huì)復(fù)位。在剛開機(jī)時(shí),這時(shí)按鍵沒有按下,電容充電,在這充電過程中電容兩端的電壓從0V迅速上升到5V,這

23、時(shí)10K電阻的兩端電壓從5V下降到0V,所以在剛開機(jī)時(shí),10K電阻兩端電壓還沒有下降到2.5V以前,RES管腳為高電平,完成開機(jī)復(fù)位,電容充滿電后,10K電阻兩端電壓始終接近為0V,單片機(jī)RES管腳就始終為低電平。按下按鍵時(shí),此時(shí)相當(dāng)于1K電阻和充好電的電容組成了一個(gè)回路,電容將瞬間放電,隨著電容兩端的電壓減小,10K電阻兩端的電壓逐漸增大,當(dāng)達(dá)到2.5V時(shí),單片機(jī)RES管腳就為高電平,完成對(duì)單片機(jī)的復(fù)位。而后電容開始充電,10K電阻兩端電壓下降,RES管腳變回低電平,如需再次復(fù)位,則再次按下按鍵即可。3.2溫濕度采集電路3.2.1溫濕度傳感器簡介本設(shè)計(jì)的溫度采集和濕度采集選用DHT11溫濕度

24、傳感器完成采集。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存中,傳感器部在檢測信號(hào)的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場

25、合的最佳選擇,產(chǎn)品為4 針單排引腳封裝。圖3.4為DHT11器件圖。圖3.4 DHT11DATA用于微處理器與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ù)+8bi溫度整數(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ù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。用戶MCU發(fā)送一次開始信號(hào)后,D

26、HT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號(hào)結(jié)束后,DHT11發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)一次信號(hào)采集,用戶可選擇讀取部分?jǐn)?shù)據(jù)。從模式下,DHT11接收到開始信號(hào)觸發(fā)一次溫濕度采集,如果沒有接收到主機(jī)發(fā)送開始信號(hào),DHT11不會(huì)主動(dòng)進(jìn)行溫濕度采集,采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。總線為低電平,說明DHT11發(fā)送響應(yīng)信號(hào),DHT11發(fā)送響應(yīng)信號(hào)后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時(shí)隙開始,高電平的長短定了數(shù)據(jù)位是0還是1。如果讀取響應(yīng)信號(hào)為高電平,則DHT11沒有響應(yīng),則檢查線路是否連接正常。當(dāng)最后一bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50

27、us,隨后總線由上拉電阻拉高進(jìn)入空閑狀態(tài)。圖3.5為數(shù)字0信號(hào)表示方法。圖3.6為數(shù)字1信號(hào)表示方法。圖3.5 數(shù)字0信號(hào)表示方法圖3.6 數(shù)字1信號(hào)表示方法3.2.2電路設(shè)計(jì)DHT11溫濕度傳感器一共有四個(gè)管腳,DHT11的供電電壓為35.5V,傳感器上電后,要等待1s以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個(gè)100nF 的電容,用以去耦濾波。連接線長度短于20米時(shí)用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用合適的上拉電阻。由于本設(shè)計(jì)中DHT11溫濕度傳感器的連接線短于20米,所以選用4.7K的上拉電阻。傳感器的VCC端接5V電源,DATA端連接單片機(jī)

28、的P1.2管腳,這樣DHT11采集到的數(shù)據(jù)就可以通過P1.2管腳傳送到單片機(jī)里,單片機(jī)讀出數(shù)據(jù),再進(jìn)行后續(xù)的顯示和發(fā)射。在傳感器的DATA端和單片機(jī)的P1.2口的連線上接4.7K上拉電阻連接到電源,傳感器的NC端懸空,GND端接地,這樣,溫濕度采集電路就設(shè)計(jì)完成了。DHT11溫濕度傳感器的引腳說明如表3.1所示。溫濕度采集電路如圖3.7所示。表3.1 DHT11溫濕度傳感器的引腳說明Pin名稱注釋1VDD供電3-5.5VDC2DATA串行數(shù)據(jù)單總線3NC空腳,請(qǐng)懸空4GND接地,電源負(fù)極圖3.7 溫濕度采集電路其部采集工作原理是利用電阻式的濕敏元件和NTC感溫元件分別對(duì)濕度和溫度進(jìn)行采集。電阻

29、式濕敏元件主要使用高分子固體電解質(zhì)材料作為感濕膜,由于膜中存在可動(dòng)離子而產(chǎn)生導(dǎo)電性,隨著濕度的增大,其電離作用增強(qiáng),便可動(dòng)離子的濃度增大,電極間的阻值減小,當(dāng)濕度減小時(shí),電離作用也相應(yīng)減弱,可動(dòng)離子的濃度也減小,電極間的電阻值增大,這樣,濕敏元件對(duì)水分子的吸附和釋放情況,可通過電極間電阻值的變化檢測出來,從而得到相應(yīng)的濕度值。NTC感溫元件是一種熱敏電阻,溫度越高熱敏電阻阻值越小,溫度越低熱敏電阻阻值越大,從而通過對(duì)電阻值得變化檢測出響應(yīng)的溫度值。當(dāng)單片機(jī)通過DATA管腳給出開始采集信號(hào),DHT11等待主機(jī)開始信號(hào)結(jié)束后發(fā)出響應(yīng)信號(hào),并送出40bit的數(shù)據(jù),每1bit數(shù)據(jù)都以50us低電平時(shí)隙

30、開始,高電平的長短決定是0還是1,當(dāng)響應(yīng)完成后DHT11進(jìn)入空閑狀態(tài),等待主機(jī)下一次的開始信號(hào)。3.3光照強(qiáng)度采集電路3.3.1光照強(qiáng)度傳感器簡介光照強(qiáng)度采集電路采用數(shù)字量輸出的光照強(qiáng)度傳感器BH1750FVI完成。不區(qū)分光源數(shù)字型環(huán)境光強(qiáng)度傳感器BH1750FVI是日本RHOM株式會(huì)社近些年推出的一種兩線式串行總線接口的集成電路,可以根據(jù)收集的光線強(qiáng)度數(shù)據(jù)來進(jìn)行環(huán)境監(jiān)測,其具有165 535 lx的高分辨率,可支持較大圍的光照強(qiáng)度變化。其部是利用一個(gè)光敏二極管作為一個(gè)感光元件,光照強(qiáng)度不同,通過光敏二極管的光電流不同,再經(jīng)過后面的集成運(yùn)放,將變化的電流轉(zhuǎn)變?yōu)樽兓碾妷海?jīng)過模數(shù)轉(zhuǎn)換器后就可以

31、將采集的光照強(qiáng)度的數(shù)字量的值輸出給單片機(jī)。BH1750FVI光照強(qiáng)度傳感器外形如圖3.8所示。圖3.8 BH1750FVI光照強(qiáng)度傳感器BH1750FVI光照強(qiáng)度傳感器是I2C總線接口,光源的依賴性不大的傳感器,光譜的圍是人眼相近,無需任何外部零件。BH1750FVI可以改變傳感器的靈敏度,通過函數(shù)可以消除光學(xué)窗口的影響(有無光學(xué)窗口的差異):通過改變測量時(shí)間來調(diào)整。例如:當(dāng)光學(xué)窗口的傳輸速率變?yōu)?0%時(shí)(如果設(shè)置光學(xué)窗口,測量結(jié)果可以變?yōu)?.5倍)。將傳感器靈敏度從默認(rèn)狀態(tài)改變?yōu)?倍時(shí),光學(xué)窗口的影響便可以忽略。 通過改變MG寄存器(時(shí)間測量寄存器)的值可以改變傳感器的靈敏度。如果希望傳感器

32、的靈敏度是原來的2倍,則MG寄存器的值需設(shè)置為2倍。當(dāng)MT寄存器值設(shè)置為2倍時(shí),則測量時(shí)間需設(shè)置為原來的2倍。BH1750FVI主要應(yīng)用于手機(jī),LCD,TV,PC,便攜式游戲機(jī),數(shù)碼相機(jī),數(shù)碼攝像機(jī),車載導(dǎo)航,PDA,LCD顯示。3.3.2電路設(shè)計(jì)BH1750FVI光照強(qiáng)度傳感器有五個(gè)管腳,其SCL管腳和SDA管腳分別和單片機(jī)的P1.0和P1.1相連,SCL端和單片機(jī)相連的線為時(shí)鐘線,SDA端和單片機(jī)相連的線為數(shù)據(jù)線,所采集的光照強(qiáng)度數(shù)據(jù)就是通過SDA管腳傳入單片機(jī)中的。在時(shí)鐘線和數(shù)據(jù)線上還要分別接5.1K上拉電阻與電源相連,VCC接電源,ADDR管腳和GND管腳同時(shí)接地,這樣,光照強(qiáng)度采集電

33、路就完成了。BH1750FVI光照強(qiáng)度傳感器的引腳說明如表3.2所示。光照強(qiáng)度采集電路如圖3.9所示。表3.2BH1750FVI光照強(qiáng)度傳感器引腳說明Pin引腳名稱描述1VCC供給電壓3-5V2SCLIIC總線時(shí)鐘線3SDAIIC總線數(shù)據(jù)線4ADDRIIC地址引腳5GND電源地圖3.9 光照強(qiáng)度采集電路 其部是一個(gè)光敏元件和一個(gè)模數(shù)轉(zhuǎn)換器,其光敏元件為一個(gè)光敏二極管,當(dāng)有光照時(shí),光敏二極管會(huì)產(chǎn)生光電流,光照強(qiáng)度不同,這個(gè)電流就不同,而后再經(jīng)過一個(gè)集成運(yùn)放將電流轉(zhuǎn)化為電壓,再經(jīng)過一個(gè)模數(shù)轉(zhuǎn)換器,從而對(duì)光照強(qiáng)度感知后就可以直接輸出數(shù)字量的光照強(qiáng)度值。上電工作時(shí),BH1750FVI首先初始化,單片機(jī)

34、給起始信號(hào),BH1750FVI將采集到的光照強(qiáng)度數(shù)據(jù)存入寄存器中,而后將其部寄存器的地址通過總線給主機(jī),主機(jī)讀取地址中的數(shù)據(jù),就是光照強(qiáng)度數(shù)據(jù),再將讀到的數(shù)據(jù)進(jìn)行顯示。3.4顯示電路3.4.1顯示器件簡介要將采集的數(shù)據(jù)顯示有很多種方法,有多種顯示器件可以幫助實(shí)現(xiàn)顯示電路的設(shè)計(jì),本設(shè)計(jì)顯示電路選用七段4位數(shù)碼管。四位數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。能顯示4個(gè)數(shù)碼管叫四位數(shù)碼管。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一

35、起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極C

36、OM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到一樣的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象與發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大

37、量的I/O端口,而且功耗更低。數(shù)碼管有共陰極和共陽極之分,區(qū)別他們的方法是若公共端接地,其他端接電源,若各段測試能亮,說明是共陰的,反之共陽的;若公共端接電源,其他端分別接的,測得各端亮,則說明是共陽的,反之為共陰的。本設(shè)計(jì)中的數(shù)碼管為共陽數(shù)碼管。數(shù)碼管的引腳圖如圖3.10所示。圖3.10 數(shù)碼管的引腳圖3.4.2電路設(shè)計(jì)此電路是由一個(gè)單片機(jī)和一個(gè)七段數(shù)碼管構(gòu)成,單片機(jī)控制這個(gè)數(shù)碼管,通過程序控制數(shù)碼管的每一位,使其顯示測量的濕度值。大多數(shù)的單片機(jī)應(yīng)用系統(tǒng),都要配置輸入設(shè)備和輸出設(shè)備,顯示部分屬于輸出設(shè)備,顯示作為人機(jī)交換的重要媒介,所以,一個(gè)好的顯示電路對(duì)于本系統(tǒng)是非常重要。本系統(tǒng)的顯示部分

38、采用的是七段數(shù)碼管,系統(tǒng)設(shè)計(jì)的濕度控制圍是20%RH60%RH,誤差為±1%RH,溫度和光照強(qiáng)度的誤差±1度和±1勒克斯,顯示電路的作用是循環(huán)顯示濕度值、溫度值和光照強(qiáng)度值,由溫濕度采集電路和光照強(qiáng)度采集電路采集的濕度值、溫度值和光照強(qiáng)度值傳送至單片機(jī),單片機(jī)通過程序控制,使采集量在數(shù)碼管上顯示,數(shù)碼管與單片機(jī)的P0口和P2口相連,P0口接上拉電阻。顯示電路的類型主要有LCD顯示,LED點(diǎn)陣顯示以與數(shù)碼管顯示等等,本系統(tǒng)顯示部分的作用是顯示濕度的上下限值以與采集到的濕度值??紤]到LCD顯示電路的工作原理相對(duì)比較復(fù)雜,并且容易出錯(cuò),而LED點(diǎn)陣顯示對(duì)于實(shí)現(xiàn)本系統(tǒng)顯示

39、部分的設(shè)計(jì)顯然不太適合,因此本系統(tǒng)的顯示部分采用的是七段數(shù)碼管顯示,顯示電路如圖3.11所示。圖3.11 顯示電路顯示電路工作時(shí),由于顯示器的每一位是七段的,要想顯示0-9每一個(gè)數(shù)值,首先要在程序中建立一個(gè)數(shù)組,將這十個(gè)數(shù)按照在七段數(shù)碼管顯示的規(guī)則寫好,并放入數(shù)組中。然后要顯示一個(gè)十進(jìn)制的數(shù),要把這個(gè)數(shù)的個(gè)位、十位、百位和千位都要提取出來,再給到控制數(shù)碼管的這四位的變量中,最后數(shù)碼管快速掃描每一位的值,由于是在一個(gè)循環(huán)里重復(fù)掃描,所以我們看到的就是一個(gè)穩(wěn)定的四位數(shù)。單片機(jī)的每個(gè)工作管腳的電流之和不得超過120mA,所以,單片機(jī)的管腳不直接與數(shù)碼管的位選相連,而是與三極管的基極相連,通過三極管驅(qū)

40、動(dòng)數(shù)碼管。3.5無線發(fā)射、接收電路3.5.1無線收發(fā)模塊簡介在當(dāng)今社會(huì),科技日益進(jìn)步,無線傳輸已經(jīng)成為很多信息傳播的主要途徑,本設(shè)計(jì)中要對(duì)采集電路采集的濕度值、溫度值和光照強(qiáng)度值進(jìn)行無線發(fā)射,在遠(yuǎn)端要無線接收到這三種數(shù)據(jù),并顯示。無線收發(fā)模塊有很多種,本設(shè)計(jì)的無線發(fā)射、接收電路中選用nRF24L01無線收發(fā)模塊。nRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4 GHz2.5 GHz ISM頻段。置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強(qiáng)型ShockBurst技術(shù),其中輸出功率和通信頻道可通過程序進(jìn)行配置。nRF24L01功耗低,在以-6dBm的功率發(fā)射時(shí),工作

41、電流也只有9mA;接收時(shí),工作電流只有12.3mA,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設(shè)計(jì)更方便。nRF24L01無線收發(fā)模塊如圖3.12所示。圖3.12 nRF24L01無線收發(fā)模塊3.5.2電路設(shè)計(jì)nRF24L01無線收發(fā)模塊一共有10個(gè)管腳,有6個(gè)管腳與單片機(jī)相連,3.3V供電,所以不能將該無線收發(fā)模塊直接與單片機(jī)相連,要先接在一個(gè)專用的轉(zhuǎn)接板上,這個(gè)轉(zhuǎn)接板會(huì)將5V電源轉(zhuǎn)成3.3V電源,以供給無線收發(fā)模塊。無線收發(fā)模塊不區(qū)分是無線發(fā)射還是無線接收,完全由程序控制。其引腳說明如圖3.13所示。圖3.13 nRF24L01無線收發(fā)模塊引腳圖無線發(fā)射電路中的nRF24L01無線發(fā)射

42、模塊的六個(gè)管腳分別與發(fā)射端單片機(jī)的P1口和P2口的一些管腳相連,無線接收電路中的nRF24L01無線接收模塊的六個(gè)管腳分別與接收端單片機(jī)的P1口的一些管腳相連。無線發(fā)射電路如圖3.14所示,無線接收電路如圖3.15所示。圖3.14 無線發(fā)射電路圖3.15 無線接收電路發(fā)射數(shù)據(jù)時(shí),nRF24L01無線發(fā)射模塊采用GFSK調(diào)制方式,即高斯頻移鍵控調(diào)制方式。首先將nRF24L01配置為發(fā)射模式,接著把接收節(jié)點(diǎn)地址TX_ADDR和有效數(shù)TX_PLD按照時(shí)序由SPI口寫入nRF24L01緩存區(qū),TX_PLD必須在CSN為低時(shí)連續(xù)寫入,而TX_ADDR在發(fā)射時(shí)寫入一次即可,然后CE置為高電平并保持至少10

43、s,延遲130s后發(fā)射數(shù)據(jù);若自動(dòng)應(yīng)答開啟,那么nRF24L01在發(fā)射數(shù)據(jù)后立即進(jìn)入接收模式,接收應(yīng)答信號(hào)。如果收到應(yīng)答,則認(rèn)為此次通信成功,TX_DS置高,同時(shí)TX_PLD從TX FIFO中清除;若未收到應(yīng)答,則自動(dòng)重新發(fā)射該數(shù)據(jù),最后發(fā)射成功時(shí),若CE為低則nRF24L01進(jìn)入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進(jìn)入下一次發(fā)射;若發(fā)送堆棧中無數(shù)據(jù)且CE為高,則進(jìn)入空閑模式2,完成對(duì)數(shù)據(jù)的發(fā)射。接收數(shù)據(jù)時(shí),首先將nRF24L01配置為接收模式,接著延遲130s進(jìn)入接收狀態(tài)等待數(shù)據(jù)的到來。當(dāng)接收方檢測到有效的地址和CRC時(shí),就將數(shù)據(jù)包存儲(chǔ)在RX FIFO中,同時(shí)中斷標(biāo)志位RX_DR置高

44、,IRQ變低,產(chǎn)生中斷,通知MCU去取數(shù)據(jù)。若此時(shí)自動(dòng)應(yīng)答開啟,接收方則同時(shí)進(jìn)入發(fā)射狀態(tài)回傳應(yīng)答信號(hào)。最后接收成功時(shí),若CE變低,則nRF24L01進(jìn)入空閑模式1,完成對(duì)數(shù)據(jù)的接收。這樣,無線收發(fā)電路完成對(duì)數(shù)據(jù)的發(fā)射和接收。3.6鍵控電路此系統(tǒng)的作用是測試和監(jiān)控空氣的濕度、溫度和光照強(qiáng)度,因此,需要手動(dòng)設(shè)置這三量的上限和下限。此鍵控電路是給單片機(jī)連接一個(gè)外部中斷,當(dāng)外部中斷0口低電平時(shí),即S2閉合,主程序停止,執(zhí)行中斷程序,這時(shí)由三個(gè)開關(guān)分別控制三個(gè)采集量的選擇,S3閉合則開始預(yù)置濕度的上下限,S4閉合則開始預(yù)置溫度的上下限,S5閉合則開始預(yù)置光照強(qiáng)度的上下限。當(dāng)選擇好即將預(yù)置的采集量后,這時(shí)

45、當(dāng)S6接高電平時(shí),開始設(shè)置預(yù)置量的上限,接低電平時(shí),則開始設(shè)置預(yù)置量的下限。S7是控制顯示器的十位,按下則十位加一,一下一下的加,加到10則自動(dòng)變?yōu)?,S8是控制顯示器的個(gè)位,按下則個(gè)位加一,同樣也是一下一下的加,加到10也會(huì)自動(dòng)變?yōu)?,這樣就完成了手動(dòng)預(yù)置的操作。設(shè)置完畢后,將S2斷開,中斷程序停止,系統(tǒng)繼續(xù)執(zhí)行主程序,即數(shù)碼管繼續(xù)循環(huán)顯示此時(shí)所測大氣的濕度、溫度和光照強(qiáng)度,鍵控電路如圖3.16所示。圖3.16 鍵控電路3.7聲光報(bào)警電路此電路部分是為了方便工作人員監(jiān)控濕度而設(shè)計(jì)的,該部分電路是由一個(gè)單片機(jī)、一個(gè)發(fā)光二極管、一個(gè)三極管和一個(gè)蜂鳴器組成,和單片機(jī)連接的支路上串聯(lián)1K電阻。當(dāng)此時(shí)

46、空氣的濕度、溫度和光照強(qiáng)度的任意一個(gè)值低于所設(shè)置的下限值或高于所設(shè)置的上限值時(shí),啟動(dòng)聲光報(bào)警電路,二極管會(huì)發(fā)光,蜂鳴器會(huì)響。當(dāng)空氣濕度、溫度和光照強(qiáng)度在正常圍之時(shí),不會(huì)此啟動(dòng)聲光報(bào)警電路,聲光報(bào)警電路如圖3.17所示。圖3.17 聲光報(bào)警電路當(dāng)三個(gè)采集量有不在所設(shè)定的上下限圍之時(shí),單片機(jī)和蜂鳴器、發(fā)光二極管連接的管腳分別置1,這樣三極管基級(jí)就有小電流,會(huì)使發(fā)射結(jié)正偏,三極管的集電極接電源,所以會(huì)使集電結(jié)反偏,三極管導(dǎo)通,驅(qū)動(dòng)蜂鳴器工作。而放光二極管正向?qū)?,?huì)發(fā)光。這樣聲光報(bào)警電路就會(huì)工作了。第4章軟件系統(tǒng)的設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)也就是程序設(shè)計(jì),就是在完成了硬件系統(tǒng)的基礎(chǔ)上,再編寫相應(yīng)的程序,下載到

47、芯片里,通過執(zhí)行程序指令控制硬件,從而實(shí)現(xiàn)各部分功能。在本設(shè)計(jì)中,軟件編程方面采用C語言對(duì)單片機(jī)進(jìn)行編程,并使用KeiLC51系統(tǒng)進(jìn)行軟件調(diào)試。Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。掌握這一

48、軟件的使用方法對(duì)于使用51系列單片機(jī)的使用者來說是十分必要的。早期的單片機(jī)程序多采用匯編語言編寫。用匯編語言編程,直接、簡捷,可有效地訪問和控制各種硬件設(shè)備,如存儲(chǔ)器、I/O 口等,目標(biāo)代碼簡短、占用存少、執(zhí)行速度快、語句效率高。然而,由于匯編語言是面向機(jī)器的語言,不同廠家或同廠家不同系列的單片機(jī),其匯編語言指令系統(tǒng)往往互不一樣,即通常所說的“不兼容”。這就出現(xiàn)了精通51單片機(jī)匯編語言的人不能直接編寫PIC 或其他單片機(jī)的匯編語言源程序,反之亦然的現(xiàn)象,以與產(chǎn)品升級(jí)換代和不同單片機(jī)間程序移植難的問題。而且,由于匯編語言是采用助記符的低級(jí)語言,可讀性較差,當(dāng)源程序功能多、程序長時(shí),即使加了注釋,

49、閱讀自己編寫的程序也會(huì)感到困難,更不用說修改程序和增加功能了。目前,單片機(jī)的應(yīng)用越來越廣,各半導(dǎo)體生產(chǎn)廠家不斷推出各種高、中、低檔單片機(jī)系列,以適應(yīng)市場的需求。而客戶對(duì)單片機(jī)系統(tǒng)的設(shè)計(jì)人員的基本要求,就是要選擇能夠滿足產(chǎn)品性能和成本要求的單片機(jī),并以最快的速度開發(fā)出完全滿足市場需求的智能化產(chǎn)品。用匯編語言編程顯然無法達(dá)到要求。用C 語言開發(fā)單片機(jī)系統(tǒng)軟件的最大好處,是代碼效率高、軟件調(diào)試直觀、維護(hù)升級(jí)方便、代碼的重復(fù)利用率高、便于跨平臺(tái)的代碼移植等。因此,C 語言在單片機(jī)系統(tǒng)設(shè)計(jì)中得到越來越廣泛的運(yùn)用。C 語言是一種高級(jí)語言,具有低級(jí)語言的特點(diǎn),原來用各種匯編語言編寫的單片機(jī)程序,均可用C語言

50、程序代換。于是本設(shè)計(jì)采用C語言進(jìn)行編程。4.1主程序的設(shè)計(jì)開始本設(shè)計(jì)主要是完成對(duì)溫度、濕度和光照強(qiáng)度的采集并用數(shù)碼管顯示,并將數(shù)據(jù)通過無線發(fā)射模塊發(fā)射出去,發(fā)射端還要判斷采集的數(shù)值是否在預(yù)置的上下限圍之,不在圍則還要進(jìn)行聲光報(bào)警。接收端則只顯示接收的數(shù)據(jù)。發(fā)射端主程序流程圖如圖4.1所示,接收端主程序流程圖如圖4.2所示。系統(tǒng)初始化調(diào)用溫濕度采集子程序調(diào)用光照強(qiáng)度采集子程序調(diào)用數(shù)碼管顯示子程序調(diào)用無線發(fā)射子程序是否在上下限X圍之內(nèi)聲光報(bào)警 N Y圖4.1 發(fā)射端主程序流程圖開始調(diào)用無線接收子程序系統(tǒng)初始化調(diào)用數(shù)碼管顯示子程序圖4.2 接收端主程序流程圖4.2溫濕度采集子程序的設(shè)計(jì)此部分是使用D

51、HT11溫濕度傳感器進(jìn)行溫度和濕度的采集,傳感器部的電阻式濕敏元件和NTC元件分別對(duì)濕度和溫度采集,再經(jīng)數(shù)模轉(zhuǎn)換后將數(shù)值傳送給單片機(jī)。DHT11首先初始化,在采集完數(shù)據(jù)后,DATA端與單片機(jī)的P1.2口相連,開始單片機(jī)給P1.2口置0,表示主機(jī)發(fā)出開始信號(hào),然后主機(jī)把總線拉高等待DHT11發(fā)出響應(yīng)信號(hào),DHT11收到開始信號(hào)后將P1.2口置0表示發(fā)出響應(yīng)信號(hào),而后開始一位一位的傳輸數(shù)據(jù),這時(shí)主機(jī)讀取響應(yīng)信號(hào)。溫濕度采集子程序流程圖如圖4.3所示。開始DHT11初始化數(shù)據(jù)采集主機(jī)發(fā)出開始信號(hào)DHT11發(fā)送響應(yīng)信號(hào)傳送數(shù)據(jù)主機(jī)讀取響應(yīng)信號(hào)返回圖4.3 溫濕度采集子程序流程圖4.3光照強(qiáng)度采集子程序

52、的設(shè)計(jì)此部分是使用BH1750FVI光照強(qiáng)度傳感器對(duì)光照強(qiáng)度進(jìn)行采集,傳感器部的光敏二極管會(huì)發(fā)出光電流,光照強(qiáng)度不同,光敏二極管所發(fā)出的光電流值則不同,在經(jīng)過集成運(yùn)放和模數(shù)轉(zhuǎn)換器就可以將光照強(qiáng)度以數(shù)字量的形式傳送給單片機(jī),完成對(duì)光照強(qiáng)度的采集。光照強(qiáng)度采集部分流程圖如圖4.4所示。開始BH1750FVI初始化主機(jī)發(fā)送從機(jī)地址寫器件相應(yīng)寄存器地址寫數(shù)據(jù)到相應(yīng)寄存器地址讀取數(shù)據(jù)主機(jī)發(fā)送停止信號(hào)返回圖4.4 光照強(qiáng)度采集子程序流程圖4.4無線發(fā)射接收子程序的設(shè)計(jì)此部分是利用nRF24L01無線發(fā)射模塊對(duì)采集完成的溫度數(shù)據(jù)、濕度數(shù)據(jù)和光照強(qiáng)度數(shù)據(jù)進(jìn)行無線發(fā)射。nRF24L01無線收發(fā)模塊不區(qū)分發(fā)射和接

53、收,完全由單片機(jī)的程序控制,將從傳感器采集完成的溫度、濕度和光照強(qiáng)度值存入到TxBuf數(shù)組中,無線發(fā)射模塊會(huì)將這個(gè)數(shù)組中的數(shù)據(jù)發(fā)射出去。接收端的無線接收模塊會(huì)將數(shù)據(jù)接收并存入到RxBuf數(shù)組中,再讀取這個(gè)數(shù)組中的數(shù)據(jù),這三個(gè)數(shù)據(jù)就是發(fā)射端采集的溫度、濕度和光照強(qiáng)度的數(shù)值。無線發(fā)射子程序流程圖如圖4.5所示。開始nRF2401初始化啟動(dòng)發(fā)射模式將數(shù)據(jù)存入TxBuf中無線發(fā)射返回圖4.5 無線發(fā)射子程序流程圖無線接收子程序流程圖如圖4.6所示。開始nRF2401初始化啟動(dòng)接收模式無線接收讀取RxBuf中的數(shù)據(jù)返回圖4.6 無線接收子程序流程圖4.5數(shù)碼管顯示子程序的設(shè)計(jì)由采集電路采集到的溫度數(shù)據(jù)、

54、濕度數(shù)據(jù)和光照強(qiáng)度數(shù)據(jù)傳輸?shù)搅藛纹瑱C(jī),單片機(jī)就要通過程序控制將數(shù)據(jù)顯示出來,這時(shí)就要設(shè)計(jì)數(shù)碼管顯示電路,將傳感器采集完成的濕度值,溫度值和光照強(qiáng)度值用數(shù)碼管顯示。數(shù)碼管的位選分別接到單片機(jī)的P2.0至P2.3口上,由于是共陽極的數(shù)碼管,所以位選的四個(gè)管腳置1數(shù)碼管就滅,置0則亮,所以數(shù)碼管工作時(shí),首先將數(shù)碼管清屏,就是全滅,再一位一位的掃描顯示各位的數(shù)。段選部分,abcdefg七段與P0口相連,哪一段置0則亮,置1則滅,工作時(shí)先將要顯示的數(shù)的段選碼從數(shù)組中找到送至P0口,再開啟位選,比如若要顯示1,則其二進(jìn)制的段選碼應(yīng)為11111001,十六進(jìn)制數(shù)為0xf9。數(shù)碼管顯示流程圖如圖4.7所示。開

55、始清屏千位顯示百位顯示十位顯示個(gè)位顯示返回圖4.7 數(shù)碼管顯示子程序流程圖4.6鍵控部分中斷程序的設(shè)計(jì)此部分是單片機(jī)的一個(gè)中斷服務(wù)程序所控制的,當(dāng)單片機(jī)的INT0口接低電平時(shí),主程序停止,這時(shí)由三個(gè)開關(guān)分別控制三個(gè)采集量的選擇,控制哪個(gè)量的開關(guān)閉合則代表即將預(yù)置哪個(gè)量,S3控制濕度,S4控制溫度,S5控制光照強(qiáng)度。S3閉合則開始預(yù)置濕度的上下限,S4閉合則開始預(yù)置溫度的上下限,S5閉合則開始預(yù)置光照強(qiáng)度的上下限,S6接高電平時(shí)可以設(shè)置上限,S6接低電平時(shí)可以設(shè)置下限。S7和S8分別是控制這三個(gè)采集量的上限或者下限的十位調(diào)節(jié)和個(gè)位調(diào)節(jié)的,按一下則對(duì)應(yīng)位加一,加到十則跳到零,這樣就完成了鍵控部分的

56、設(shè)計(jì)。鍵控部分流程圖如圖4.8所示。開始預(yù)置量選擇是否設(shè)置上限設(shè)置下限設(shè)置上限 Y N 十位調(diào)節(jié)個(gè)位調(diào)節(jié)返回圖4.8 鍵控部分中斷程序流程圖第5章系統(tǒng)調(diào)試5.1硬件調(diào)試在進(jìn)行硬件調(diào)試時(shí),心一定要細(xì),一定要耐心,因?yàn)橛布幸粋€(gè)地方錯(cuò)誤都可能導(dǎo)致整個(gè)電路出于不正常工作狀態(tài)。此系統(tǒng)硬件的搭建有的部分是利用杜邦線將各個(gè)模塊和單片機(jī)最小系統(tǒng)開發(fā)板相連,有的部分是將自己焊接的電路板與單片機(jī)相連接。鑒于使用的硬件比較多,電路比較復(fù)雜,所以在硬件調(diào)試的過程中一定要運(yùn)用了分步調(diào)試與整體調(diào)試想結(jié)合的方法。第一步調(diào)試硬件電路板首先目測各元件各管腳是否都已經(jīng)按照電路圖正確連接,接著利用電表逐一排查,查看每個(gè)芯片的電源與地有無接反,是否焊好以與有無漏焊虛焊,然后查看每根導(dǎo)線與板的連接情況。仔細(xì)檢查各芯片的管腳連線是否正確,在這一切工作都完成后檢查高低電平是否短路。在這一切保證無誤后通電測量各芯片高低電壓與有關(guān)管腳電壓。第二步以同樣的方法步驟檢查近端硬件電路板。最后將兩部分電路連接在一塊,主要看LED數(shù)碼管能否顯示。圖5.1為硬件搭建的整體圖,此部分主要包括采集電路、顯示電路和無線收發(fā)電路。圖5.1 硬件搭建的整體圖在硬件調(diào)試時(shí)一共發(fā)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論