基于單片機(jī)的多點(diǎn)溫濕度采集及無線傳輸系統(tǒng)-鄭州大學(xué)_第1頁(yè)
基于單片機(jī)的多點(diǎn)溫濕度采集及無線傳輸系統(tǒng)-鄭州大學(xué)_第2頁(yè)
基于單片機(jī)的多點(diǎn)溫濕度采集及無線傳輸系統(tǒng)-鄭州大學(xué)_第3頁(yè)
基于單片機(jī)的多點(diǎn)溫濕度采集及無線傳輸系統(tǒng)-鄭州大學(xué)_第4頁(yè)
基于單片機(jī)的多點(diǎn)溫濕度采集及無線傳輸系統(tǒng)-鄭州大學(xué)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

./WORD格式整理版XX大學(xué)畢業(yè)設(shè)計(jì)題目:基于51單片機(jī)的多點(diǎn)溫濕度采集和無線傳輸系統(tǒng)指導(dǎo)教師:職稱:專業(yè):電子信息工程院〔系:信息工程學(xué)院完成時(shí)間:.基于51單片機(jī)的多點(diǎn)溫濕度采集和無線傳輸系統(tǒng)摘要:本系統(tǒng)是基于51單片機(jī)的多點(diǎn)溫濕度采集和無線傳輸系統(tǒng),由兩個(gè)發(fā)射模塊與一個(gè)接收模塊組成。發(fā)射模塊利用數(shù)字溫濕度傳感器DHT11采集環(huán)境溫濕度數(shù)據(jù)并傳送給STC89C52RC單片機(jī),單片機(jī)進(jìn)行數(shù)據(jù)處理后利用無線傳輸模塊NRF24L01進(jìn)行無線發(fā)送。同時(shí),NRF24L01具有接收功能,接收模塊的NRF24L01將接收到的數(shù)據(jù)傳給STC89C52RC單片機(jī),最后用數(shù)字顯示屏LCD1602將經(jīng)過單片機(jī)處理后的溫濕度數(shù)據(jù)顯示出來。本系統(tǒng)能夠完成同時(shí)遠(yuǎn)距離采集兩點(diǎn)溫濕度并在系統(tǒng)終端進(jìn)行顯示的功能,以達(dá)到監(jiān)測(cè)多點(diǎn)環(huán)境溫濕度的目的。結(jié)果表明,本系統(tǒng)能夠方便、高效、及時(shí)地測(cè)量出兩個(gè)采集點(diǎn)的溫濕度。關(guān)鍵詞:STC89C52數(shù)據(jù)處理無線傳輸溫濕度Abstract:Thisisamulti-pointtemperatureandhumidityacquisitionandwirelesstransmissionsystemwhichisbasedon51single-chipmicrocomputer.itincludestwotransmittermodulesandareceivermodule.TransmissionmoduleuseDHT11—digitaltemperatureandhumiditysensortocollecttemperatureandhumiditydataandtransmitthemtoSTC89C52RCmicro-controller.Themicro-controllerprocessthedataanduseNRF24L01—thewirelesstransmissionmoduletotransmitdatawirelessly.Atthesametime,NRF24L01havethefunctionofreception.NRF24L01ofthereceivermodulewilltransmitthereceiveddatatotheSTC89C52RCmicro-controller,andfinallyuseLCD1602—adigitaldisplayscreentodisplaytemperatureandhumiditydataafterthemicro-controllerprocessthereceiveddata.Thesystemcancompletesimultaneouslyandremotelythecollectionoftemperatureandhumidityandthedisplayofdatainterminalfeatures.Itachievedthepurposeofmonitoringmulti-pointtemperatureandhumidity.Theresultsshowthatthesystemcanmeasurethetwocollectionpointsoftemperatureandhumidityconveniently,efficiently,andtimely.Keyword:STC89C52dataprocessingwirelesstransmissiontemperatureandhumidity.目錄TOC\o"1-3"\h\u61311緒論1124061.1引言1276731.2選題背景及意義1303001.3國(guó)內(nèi)外現(xiàn)狀及發(fā)展趨勢(shì) 2312261.4研究?jī)?nèi)容 3148762系統(tǒng)架構(gòu) 4169483系統(tǒng)硬件設(shè)計(jì) 551573.1主控模塊 5216573.1.1單片機(jī)的選擇 5208893.1.2主控模塊的硬件設(shè)計(jì) 7153463.2溫濕度采集模塊 8172883.2.1溫濕度傳感器的選擇 8227433.2.2溫濕度采集模塊的硬件設(shè)計(jì) 9217313.3無線傳輸模塊 10113323.3.1無線傳輸模塊的元器件選擇 1013473.3.2無線傳輸模塊的硬件設(shè)計(jì) 12224803.4顯示模塊 1358183.4.1顯示屏的選擇 1322313.4.2顯示模塊的硬件設(shè)計(jì) 14284804軟件設(shè)計(jì) 16276684.1系統(tǒng)總體軟件設(shè)計(jì) 16322474.1.1發(fā)射機(jī)的總體軟件設(shè)計(jì) 16325254.1.2接收機(jī)的總體軟件設(shè)計(jì) 16210664.2溫濕度采集模塊軟件設(shè)計(jì) 17116664.3無線傳輸模塊軟件設(shè)計(jì) 18288124.3.1數(shù)據(jù)發(fā)送模塊軟件設(shè)計(jì) 18135934.3.2數(shù)據(jù)接收模塊軟件設(shè)計(jì) 20233514.4顯示模塊軟件設(shè)計(jì) 22309755系統(tǒng)的實(shí)現(xiàn)與測(cè)試 23278845.1系統(tǒng)的實(shí)現(xiàn) 23287445.2系統(tǒng)的調(diào)試 2513313結(jié)論 2932223致謝329687參考文獻(xiàn)33.1緒論1.1引言工業(yè)農(nóng)業(yè)在國(guó)民經(jīng)濟(jì)中占據(jù)著重要地位,溫度和濕度是工農(nóng)業(yè)生產(chǎn)中一項(xiàng)重要的生產(chǎn)指標(biāo)。溫濕度過低過高會(huì)對(duì)工農(nóng)業(yè)生產(chǎn)帶來非常大的損失,因此,對(duì)其進(jìn)行連續(xù)準(zhǔn)確的測(cè)量就顯得尤為重要。而一般的人工測(cè)量過程較為復(fù)雜繁瑣,誤差相對(duì)較大,效率極低。本系統(tǒng)為一個(gè)多點(diǎn)溫濕度采集與無線傳輸系統(tǒng),能夠?qū)崟r(shí)監(jiān)測(cè)環(huán)境溫濕度,極大的方便了工農(nóng)業(yè)生產(chǎn)。此系統(tǒng)由兩個(gè)發(fā)射模塊與一個(gè)接收模塊組成,可以進(jìn)行多點(diǎn)溫濕度檢測(cè)。發(fā)射模塊利用數(shù)字溫濕度傳感器DHT11采集環(huán)境溫濕度數(shù)據(jù)并傳送給STC89C52單片機(jī),單片機(jī)進(jìn)行數(shù)據(jù)處理后利用無線傳輸模塊NRF24L01進(jìn)行無線發(fā)送。同時(shí),NRF24L01具有接收功能,接收模塊的NRF24L01將接收到的數(shù)據(jù)傳給STC89C52單片機(jī),最后用數(shù)字顯示屏LCD1602將經(jīng)過單片機(jī)處理后的溫濕度數(shù)據(jù)顯示出來。顧名思義,多點(diǎn)無線溫濕度測(cè)量系統(tǒng)的特點(diǎn)在于多點(diǎn)、無線,這也是其優(yōu)勢(shì)所在[1]。多點(diǎn)是指本系統(tǒng)能夠同時(shí)對(duì)多個(gè)監(jiān)測(cè)點(diǎn)的溫度、濕度進(jìn)行測(cè)量,無線是指不需要到達(dá)監(jiān)測(cè)點(diǎn),而是在遠(yuǎn)處對(duì)其進(jìn)行遠(yuǎn)程的溫濕度測(cè)量。多點(diǎn)無線使溫濕度測(cè)量更加方便高效,是其受到歡迎的重要原因,本論文的重點(diǎn)也放在了多點(diǎn)無線方面上。此系統(tǒng)原理相對(duì)簡(jiǎn)單、成本低廉、功能多樣,超高的性價(jià)比會(huì)使其在生產(chǎn)生活中得到廣泛的應(yīng)用。本論文著重介紹了多點(diǎn)無線溫濕度測(cè)量的制作原理和過程。比如,元器件的選擇、介紹、與硬件連接,系統(tǒng)的工作原理,軟件的編程與調(diào)試。1.2選題背景及意義溫濕度是我們?nèi)粘I钪谐3L岬降脑~語(yǔ),時(shí)時(shí)刻刻的影響著我們的生活,此外,溫濕度也是工農(nóng)業(yè)生產(chǎn)中一項(xiàng)重要的生產(chǎn)指標(biāo)。但是,溫度和濕度卻是最不容易保障的指標(biāo),如果不能保障適當(dāng)?shù)臏貪穸冗M(jìn)行工農(nóng)業(yè)生產(chǎn),便有可能會(huì)導(dǎo)致無法估量的損失。傳統(tǒng)的人工測(cè)量耗時(shí)耗力,而且誤差大,滿足不了實(shí)時(shí)性,連續(xù)性,多點(diǎn)性。針對(duì)這一情況,研究開發(fā)可靠且實(shí)用的多點(diǎn)無線溫度和濕度測(cè)量系統(tǒng)就具有很大意義了。當(dāng)今,無線通信技術(shù)是科技發(fā)展的重要熱點(diǎn),已經(jīng)成為信息交流的主要方式。我們自然而然聯(lián)想到多點(diǎn)無線測(cè)量系統(tǒng)中利用無線通信進(jìn)行數(shù)據(jù)傳輸,把多個(gè)監(jiān)測(cè)點(diǎn)的溫濕度傳感器采集到的數(shù)據(jù)通過無線傳輸?shù)揭粋€(gè)接收模塊進(jìn)行數(shù)據(jù)處理、顯示,這樣,便滿足了溫濕度測(cè)量的多點(diǎn)性、無線性,使測(cè)量起來更加方便高效。而且利用無線傳輸系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,成本低廉,靈活性高,維護(hù)方便,必將在生產(chǎn)生活中得到廣泛的應(yīng)用。另外此系統(tǒng)不需要額外的A/D轉(zhuǎn)換器將模擬電信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),而是使用DHT11直接得到溫濕度的數(shù)字量,減去了不必要的麻煩。以此為出發(fā)點(diǎn),利用自己所學(xué)的專業(yè)知識(shí),利用新型智能數(shù)字溫濕度傳感DHT11,無線發(fā)射模塊NRF24L01,單片機(jī)STC89C52RC,數(shù)字液晶顯示器件LCD1602等主要元器件設(shè)計(jì)這套多點(diǎn)溫度濕度采集和無線傳輸系統(tǒng)。1.3國(guó)內(nèi)外現(xiàn)狀及發(fā)展趨勢(shì)隨著人們對(duì)生活舒適性的要求的提高和工農(nóng)業(yè)生產(chǎn)對(duì)于高質(zhì)量,高效率,高科技的追求,我們對(duì)溫濕度的測(cè)量控制也越來越苛刻。傳統(tǒng)的人工測(cè)量模式不僅效率很低,而且還浪費(fèi)大量的人力資源及物力資源,還有缺乏一定的科學(xué)性,許多重大生產(chǎn)事故和損失大部分是人為因素造成的。人工測(cè)量缺乏完整的管理系統(tǒng),而無線測(cè)量系統(tǒng)就可以完美解決這樣的人力物力資源浪費(fèi),管理不及時(shí)的問題,這是此系統(tǒng)的智能化設(shè)計(jì)所擁有的過人之處。目前,無線溫濕度測(cè)量系統(tǒng)已成為熱門[2-3]。國(guó)內(nèi)各行各業(yè)的飛速發(fā)展對(duì)于生產(chǎn)條件也提出了越來越多的要求。某些行業(yè)高效率的生產(chǎn)對(duì)于溫濕度有更為嚴(yán)格的控制,而且某些行業(yè)危險(xiǎn)系數(shù)較高,測(cè)量極為不便,無線溫濕度測(cè)量系統(tǒng)最近幾年應(yīng)運(yùn)而生。多點(diǎn)無線溫濕度測(cè)量系統(tǒng)是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)的結(jié)晶。當(dāng)今的多點(diǎn)無線溫濕度測(cè)量產(chǎn)品,功能單一,價(jià)格高,導(dǎo)致各行業(yè)的利用率普遍不高,所以仍有很大的發(fā)展前景?,F(xiàn)在國(guó)內(nèi)外對(duì)于溫濕度的測(cè)量正在由傳統(tǒng)的人工測(cè)量向著新型的智能化測(cè)量發(fā)展,測(cè)量系統(tǒng)也正向著功能多樣化、產(chǎn)品小型化、功耗極低化的方向發(fā)展。在發(fā)展過程中,以單片機(jī)為主要單元的無線溫濕度測(cè)量系統(tǒng)有著體積小、操作簡(jiǎn)單、量程寬、性能穩(wěn)定、測(cè)量精度高等諸多優(yōu)點(diǎn),受到了測(cè)量系統(tǒng)開發(fā)者的青睞并且在生產(chǎn)生活的各個(gè)方面起著越來越重要的作用。1.4研究?jī)?nèi)容本系統(tǒng)是以STC89C52RC單片機(jī)為核心的一套多點(diǎn)溫濕度采集與無線傳輸系統(tǒng)。由溫濕度采集、數(shù)據(jù)傳輸、數(shù)據(jù)處理三個(gè)部分組成,主要包括單片機(jī)系統(tǒng),無線傳輸系統(tǒng),電源電路,復(fù)位電路,溫濕度檢測(cè),顯示系統(tǒng)等模塊。系統(tǒng)設(shè)計(jì)的研究?jī)?nèi)容包括元器件的選擇、電路的設(shè)計(jì)、程序的構(gòu)架與編寫、系統(tǒng)的調(diào)試等。元器件的選擇是一項(xiàng)重要內(nèi)容,它決定了系統(tǒng)的成本、功能、性能等很多方面[4-5]。選擇元器件必須仔細(xì)對(duì)比比較,選測(cè)出合適的元器件進(jìn)行系統(tǒng)設(shè)計(jì)。電路的設(shè)計(jì)決定了系統(tǒng)的成敗,要根據(jù)各個(gè)元器件的功能特性,設(shè)計(jì)出最佳的硬件電路,盡量做到正確無誤、簡(jiǎn)單明了、性能穩(wěn)定。本系統(tǒng)發(fā)送模塊的電路主要是是單片機(jī)STC89C52RC最小系統(tǒng)、溫濕度傳感器DHT11、發(fā)射模塊NRF24L01的連接。接收模塊的電路是單片機(jī)STC89C52最小系統(tǒng)、接收模塊NRF24L01,數(shù)字顯示屏LCD1602的連接。單片機(jī)STC89C52是整個(gè)硬件電路的核心,它一方面控制無線傳輸模塊NRF24L01發(fā)送、接收數(shù)據(jù),另一方面,將接收到的數(shù)字溫濕度數(shù)據(jù)送到LCD顯示器顯示,可以直觀的看到測(cè)量點(diǎn)的溫濕度并進(jìn)行監(jiān)測(cè)。整個(gè)系統(tǒng)的軟件設(shè)計(jì)就是通過c語(yǔ)言程序?qū)Πl(fā)射機(jī)、接收機(jī)的單片機(jī)STC89C52編程來實(shí)現(xiàn)其控制功能。系統(tǒng)結(jié)構(gòu)簡(jiǎn)介,功能強(qiáng)大,成本低,效率高,性價(jià)比較高,能較好的滿足生產(chǎn)生活中對(duì)于溫濕度的測(cè)量監(jiān)測(cè)要求。2系統(tǒng)架構(gòu)多點(diǎn)溫濕度采集和無線傳輸系統(tǒng)是一種基于射頻技術(shù)的測(cè)量裝置。本設(shè)計(jì)包括發(fā)送模塊與接受模塊,兩塊之間以無線傳輸方式進(jìn)行通信。發(fā)送模塊包括發(fā)射機(jī)A1與發(fā)射機(jī)A2,接收模塊是一個(gè)接收機(jī)B。其通訊方式及總體框圖如圖2.1所示。圖2.1系統(tǒng)通訊方式及總體框圖3系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件電路設(shè)計(jì)分為發(fā)射機(jī)與接收機(jī)[6]。兩個(gè)發(fā)射機(jī)A1、A2的硬件電路設(shè)計(jì)完全相同,主要包括溫濕度采集模塊、主控模塊、無線發(fā)射模塊。圖3.1所示為發(fā)射機(jī)各個(gè)模塊的關(guān)系。圖3.1發(fā)射機(jī)各個(gè)模塊接收機(jī)B主要包括無線接收模塊、主控模塊、顯示模塊。圖3.2所示為接收機(jī)各個(gè)模塊的關(guān)系。圖3.2接受機(jī)各個(gè)模塊 下面,將對(duì)各個(gè)模塊的硬件設(shè)計(jì)進(jìn)行詳細(xì)介紹。3.1主控模塊單片機(jī)的選擇STC89C52是Atmel公司生產(chǎn)的一種低功耗,高性能CMOS8位微控制器,其價(jià)格便宜,功耗較低,完全滿足本系統(tǒng)設(shè)計(jì)的要求,其功能特性如表3.1所示。表3.1STC89C52的主要功能特性主要功能特性兼容MCS51指令系統(tǒng)8k可反復(fù)擦寫FlashROM32個(gè)雙向I/O口512x8bit內(nèi)部RAM3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24MHz2個(gè)串行中斷可編程UART串行通道2個(gè)外部中斷源共6個(gè)中斷源2個(gè)讀寫中斷口線3級(jí)加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能STC89C52的引腳圖如圖3.3所示。圖3.3STC89C52引腳圖STC89C52的功能以及引腳完全可以滿足本系統(tǒng)對(duì)于控制核心的要求,且其成本低,應(yīng)用廣泛,相關(guān)技術(shù)的使用已經(jīng)很成熟,開發(fā)難度相對(duì)不高,所以,選擇STC89C52單片機(jī)作為發(fā)射機(jī)、接收機(jī)的主控芯片。3.1.2主控模塊的硬件設(shè)計(jì)STC89C52RC主控模塊主要包括供電電路,晶振電路,復(fù)位電路。1.供電電路STC89C52RC采用5v電源進(jìn)行供電,本系統(tǒng)供電電路采用了反接保護(hù),濾波電容,電源指示燈,使電源更加穩(wěn)定安全,電路圖如圖3.4所示。圖3.4供電電路2.晶振電路與復(fù)位電路晶振電路采用12M晶振,18,19引腳各接入2個(gè)22pf的電容與其共同組成晶振電路。復(fù)位電路即STC89C52RC的RESET引腳接入一個(gè)10k電阻并接地,單片機(jī)正常工作時(shí),保證此引腳電平一直處于低電平。兩部分電路圖如圖3.5所示。圖3.5單片機(jī)的晶振電路與復(fù)位電路3.2溫濕度采集模塊3.2.1溫濕度傳感器的選擇溫度測(cè)量采用的是最基本的應(yīng)用相對(duì)廣泛的熱電偶。其優(yōu)點(diǎn)是價(jià)價(jià)格便宜而且相當(dāng)耐用,種類較多,能夠測(cè)量非常寬的溫度范圍,但是其缺點(diǎn)是非線性、響應(yīng)速度慢、精度中等、靈敏度低、穩(wěn)定性低、高溫下容易老化和有線性漂移,并且測(cè)量需要參考量。濕度檢測(cè)采用的是濕敏元件,主要分為電阻式和電容式。濕敏電阻的種類多,靈敏度高,但是其線性度和產(chǎn)品的互換性差。濕敏電容反應(yīng)靈敏,體積小,但測(cè)量精度沒有濕敏電阻精確[7-9]。數(shù)字式溫濕度傳感器DHT11是sensiron公司生產(chǎn)的一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的智能化溫濕度復(fù)合傳感器,功能,精度完全能滿足本次系統(tǒng)設(shè)計(jì)的要求,且成本低。它不僅能夠測(cè)量溫度,還能同時(shí)測(cè)量相對(duì)濕度,所以可以把DHT11作為溫濕度檢測(cè)的一個(gè)模塊。DHT11傳感器內(nèi)部含有一個(gè)8位的單片機(jī),與之相連的是一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫原件來分別采集濕度和溫度數(shù)據(jù)。此傳感器體積小,靈敏度高,功耗低,超高的性價(jià)比得到了很多場(chǎng)合的廣泛應(yīng)用。DHT11數(shù)字溫濕度傳感器實(shí)物圖如圖示3.6所示。圖3.6DHT11數(shù)字溫濕度傳感器由上可知,DHT11與溫濕敏元件相比,它成本低,內(nèi)部集成度高,在測(cè)量過程中可以調(diào)用儲(chǔ)存在OTP內(nèi)存中的校準(zhǔn)系數(shù)對(duì)相對(duì)溫濕度進(jìn)行自動(dòng)校準(zhǔn),能夠更為準(zhǔn)確地測(cè)量溫濕度。而且能夠提供數(shù)字輸出,不需要再進(jìn)行A/D轉(zhuǎn)化,簡(jiǎn)化外部電路,測(cè)量精度相對(duì)較高,可以測(cè)量較寬的溫濕度范圍。DHT11數(shù)字溫濕度傳感器有4針單排引腳封裝,電路連接簡(jiǎn)單,焊接方便。因此,選擇數(shù)字溫濕度傳感器DHT11作為本系統(tǒng)中的測(cè)量元件。溫濕度采集模塊的硬件設(shè)計(jì)發(fā)射機(jī)中含有溫濕度采集模塊,它是指DHT11的硬件連接,本系統(tǒng)所選用的DHT11為4針單排直插封裝,4個(gè)引腳說明如表3.2所示表3.2DHT11的引腳說明pin名稱注釋1VDD供電3-5.5VDC2DATA串行數(shù)據(jù),單總線3NC空腳,懸空4GND接地,電源負(fù)極本系統(tǒng)中DHT11的供電與STC89C52RC一樣,采用圖3.4所示的供電電路進(jìn)行供電,NC腳在本系統(tǒng)中懸空,DATA引腳應(yīng)連接STC89C52RC的P17口,用于兩者通訊和同步。DATA引腳是一個(gè)單線串行接口,是數(shù)字信號(hào)的輸入輸出端。DHT11的硬件連接圖如圖3.7所示圖3.7DHT11的硬件連接圖3.3無線傳輸模塊3.3.1無線傳輸模塊的元器件選擇本系統(tǒng)設(shè)計(jì)采用無線方式向終端傳輸溫濕度數(shù)據(jù)。GSM、藍(lán)牙、zigbee、WLAN等方式均可進(jìn)行無線傳輸數(shù)據(jù)[10]。但考慮到成本及實(shí)用性,本系統(tǒng)無線傳輸模塊采用單片射頻收發(fā)芯片NRF24L01。實(shí)物圖如圖3.8所示圖3.8NRF24L01實(shí)物圖1.NRF24L01的管腳NRF24L01有8個(gè)引腳,各個(gè)引腳的具體說明如表3.3所示。表3.3NRF24L01各個(gè)引腳說明管腳名稱管腳功能方向pin1VDD正電源輸入pin2CE工作模式選擇,RX或TXIPin3CSNSPI片選使能,低電平使能Ipin4SCKSPI時(shí)鐘Ipin5MOSISPI輸入Ipin6MISOSPI輸出Opin7IRQ中斷輸出Opin8GND電源地2NRF24L01的工作模式NRF24L01有兩種節(jié)能模式和兩種工作模式。兩種節(jié)能模式是關(guān)機(jī)模式和空閑模式。兩種工作模式分別是接收模式和發(fā)送模式。NRF24L01的工作模式由CE、寄存器內(nèi)部PWR_UP、PRIM_RX三個(gè)引腳決定。三個(gè)引腳決定其工作方式的具體方式見下表3.4。表3.4NRF24L01的工作模式工作模式PWR_UPPRIM_RXCEFIFO寄存器狀態(tài)接收模式111-發(fā)射模式101數(shù)據(jù)在TXFIFO寄存器中發(fā)射模式101→0停留在發(fā)射模式,直至數(shù)據(jù)發(fā)送完掉電模式0待機(jī)模式2101TXFIFO為空待機(jī)模式11-0無正在傳輸?shù)臄?shù)據(jù)NRF24L01是我們開發(fā)設(shè)計(jì)小型項(xiàng)目的常用無線傳輸工具,它主要由五部分組成:頻率調(diào)制器,帶解調(diào)器的接收器,功率放大器,晶體震蕩器,調(diào)節(jié)器。NRF24L01可以進(jìn)行組網(wǎng)通信,正好滿足多點(diǎn)測(cè)量的要求。模塊有多種模式可以切換,用此進(jìn)行無線通信功耗極低,更加節(jié)能,有利于降低成本。其ShockBurst技術(shù)可在通訊時(shí)自動(dòng)生成前導(dǎo)碼和CRC校驗(yàn)位。所以NRF24L01是本系統(tǒng)無線收發(fā)模塊的最佳選擇。無線傳輸模塊的硬件設(shè)計(jì)本系統(tǒng)中兩個(gè)發(fā)射機(jī)各有一個(gè)無線發(fā)射模塊,一個(gè)接收機(jī)含有一個(gè)無線接收模塊。由于NRF24L01兼?zhèn)浒l(fā)送與接收功能,所以發(fā)射、接受模塊全部采用NRF24L01,與主機(jī)STC89C52的硬件連接也全部相同。NRF24L01模塊為8引腳封裝,其各個(gè)引腳描述如如表3.5所示表3.5NRF24L01引腳描述引腳號(hào)名稱性質(zhì)描述1GND電源地電源地2VCC電源正〔+3v3CE輸入信號(hào)由STC89C52RC給出信號(hào)控制NRF24L01模塊內(nèi)部射頻電路工作與否4CSN輸入信號(hào)模塊的片選信號(hào)。STC89C52RC發(fā)出信號(hào)控制允許向模塊讀或?qū)憯?shù)據(jù)5SCK輸入信號(hào)串行時(shí)鐘信號(hào)。STC89C52RC發(fā)出信號(hào)控制模塊讀或?qū)懙倪\(yùn)作節(jié)拍6MOSI輸入信號(hào)STC89C52RC向模塊發(fā)送數(shù)據(jù)7MISO輸出信號(hào)模塊向STC89C52RC發(fā)送數(shù)據(jù)8IRQ輸出信號(hào)模塊產(chǎn)生中斷信號(hào)發(fā)送給STC89C52RCNRF24L01無線模塊直接與STC89C52RC連接,電路圖如圖3.9所示。圖3.9NRF24L01無線模塊電路圖3.4顯示模塊3.4.1顯示屏的選擇顯示器可以選擇數(shù)碼管顯示或者液晶顯示[11-12]。由于本系統(tǒng)同時(shí)多點(diǎn)測(cè)量溫濕度,所以要顯示多組數(shù)據(jù)。數(shù)碼管顯示雖然能夠?qū)崿F(xiàn)多組溫濕度數(shù)據(jù)同時(shí)顯示,但是這種顯示方式不能夠顯示字符而且占據(jù)較多的單片機(jī)I/O口,導(dǎo)致電路連接復(fù)雜,焊接困難甚至出現(xiàn)接收機(jī)單片機(jī)I/O口不夠用的情況。LCD1602液晶顯示也是一種常用的顯示方式。LCD1602顯示內(nèi)容十分豐富,能夠顯示字母,符號(hào)和數(shù)字等192種字符,且可同時(shí)顯示16x2個(gè)字符,滿足了本系統(tǒng)對(duì)于多組數(shù)據(jù)同時(shí)顯示的要求。顯示屏共有16個(gè)引腳,節(jié)省了單片機(jī)的大量I/O口,且電路連接簡(jiǎn)單,容易焊接。此種顯示方式響應(yīng)也較快,亮度可調(diào),成本低,是顯示終端的最佳選擇??紤]到以上情況,本系統(tǒng)顯示終端選擇LCD1602液晶進(jìn)行溫濕度顯示,實(shí)物圖如圖3.10所示。圖3.10LCD1602實(shí)物圖3.4.2顯示模塊的硬件設(shè)計(jì)接收機(jī)收到溫濕度數(shù)據(jù)后,利用LCD1602顯示兩個(gè)監(jiān)測(cè)點(diǎn)A1、A2的溫濕度信息。LCD1602液晶顯示芯片采用標(biāo)準(zhǔn)的16腳接口,其各個(gè)引腳及說明如表3.6所示。表3.6LCD1602各個(gè)引腳的說明編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明1VSS電源地9D2數(shù)據(jù)I/O2VDD電源正極10D3數(shù)據(jù)I/O3VL液晶顯示偏壓11D4數(shù)據(jù)I/O4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)I/O5R/W讀/寫選擇13D6數(shù)據(jù)I/O6E使能信號(hào)14D7數(shù)據(jù)I/O7D0數(shù)據(jù)I/O15BLA背光源正極8D1數(shù)據(jù)I/O16BLK背光源負(fù)極LCD1602電路連接圖如圖3.11所示。圖3.11LCD1602模塊電路圖4軟件設(shè)計(jì)4.1系統(tǒng)總體軟件設(shè)計(jì)本系統(tǒng)由兩個(gè)發(fā)射機(jī)A1、A2與一個(gè)接收機(jī)B組成,可以設(shè)計(jì)出發(fā)射機(jī)的總體程序流程圖和接收機(jī)的總體程序流程圖。發(fā)射機(jī)程序主要是溫濕度采集處理程序,NRF24L01發(fā)送程序。接收機(jī)主要是數(shù)據(jù)接收程序,液晶顯示程序。4.1.1發(fā)射機(jī)的總體軟件設(shè)計(jì)發(fā)送部分的總體設(shè)計(jì)思路為:初始化溫度傳感器DHT11;傳感器測(cè)得溫濕度;把溫濕度值寫入待發(fā)射數(shù)據(jù);初始化NRF24L01無線模塊;將溫濕度發(fā)送給接收機(jī),其流程圖如圖4.1所示圖4.1發(fā)射機(jī)程序流程圖4.1.2接收機(jī)的總體軟件設(shè)計(jì)接收部分的總體設(shè)計(jì)思路是:初始化nRF24L01無線模塊和LCD1602顯示模塊;接收溫濕度數(shù)據(jù);在LCD1602上分組顯示,其程序流程圖如圖4.2所示。圖4.2接收機(jī)程序流程圖4.2溫濕度采集模塊軟件設(shè)計(jì)發(fā)射機(jī)利用DHT11進(jìn)行溫濕度采集,DATA引腳連接于STC89C52RC的P17口以進(jìn)行數(shù)據(jù)傳輸。NRF24L01通過DATA總線發(fā)送出的溫濕度數(shù)據(jù)分小數(shù)部分和整數(shù)部分,共40bit。數(shù)據(jù)格式為:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗(yàn)和[13-14]。本系統(tǒng)DHT11的工作流程如下:開機(jī)后,DHT11處于低功耗模式,當(dāng)它檢測(cè)到STC89C52RC發(fā)送出的開始信號(hào)后,其轉(zhuǎn)換到高速模式,開始進(jìn)行溫濕度采集,并以以上所說的數(shù)據(jù)格式發(fā)送至STC89C52RC,然后進(jìn)入低速模式。單片機(jī)可以選擇讀取溫濕度數(shù)據(jù)。DATA總線空閑狀態(tài)為高電平,DHT11接收到的開始信號(hào)必須是大于18ms的低電平,否則,DHT11便無法視其為開始信號(hào)。開始信號(hào)結(jié)束后,DHT11會(huì)發(fā)送80us的低電平響應(yīng)信號(hào)。STC89C52RC發(fā)送開始信號(hào)后,需要等待20-40us,然后讀取DHT11回饋的低電平響應(yīng)信號(hào)。若讀取總線為低電平,則說明DHT11收到了開始信號(hào)。DHT11發(fā)送響應(yīng)信號(hào)后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時(shí)隙開始,高電平的長(zhǎng)短決定了數(shù)據(jù)位是0還是1。當(dāng)最后一bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線再次進(jìn)入空閑狀態(tài)。根據(jù)DHT11與單片機(jī)的數(shù)據(jù)通信時(shí)序,可以設(shè)計(jì)出溫濕度采集處理的程序流程圖,如圖4.3所示。圖4.3溫濕度采集程序流程圖4.3無線傳輸模塊軟件設(shè)計(jì)發(fā)射機(jī)含有數(shù)據(jù)發(fā)射模塊,接收機(jī)含有數(shù)據(jù)接收模塊,兩種模塊都采用NRF24L01。所以在進(jìn)行無線數(shù)據(jù)通信時(shí),需要把發(fā)射機(jī)的NRF24L01配置為發(fā)射模式,把接收機(jī)的NRF24L01配置為接收模式。4.3.1數(shù)據(jù)發(fā)送模塊軟件設(shè)計(jì)發(fā)射機(jī)的STC89C52RC獲得溫濕度數(shù)據(jù)后,需要通過NRF24L01進(jìn)行數(shù)據(jù)發(fā)送。NRF24L01數(shù)據(jù)的發(fā)送過程為1.當(dāng)STC89C52RC有數(shù)據(jù)要發(fā)送時(shí),通過SPI接口,按時(shí)序把接收機(jī)的地址和要發(fā)送的數(shù)據(jù)送傳給NRF24L01。SPI接口的速率可以通過軟件配置。2.微控制器通過置高CE,激發(fā)NRF24L01的ShockBurstTM的發(fā)送模式。3.NRF24L01的ShockBurstTM發(fā)送數(shù)據(jù)。自動(dòng)開啟射頻寄存器,打包數(shù)據(jù)<加字頭和CRC校驗(yàn)碼>,發(fā)送數(shù)據(jù)包[15]。4.當(dāng)AUTO_RETRAN被置高,NRF24L01不斷重發(fā),直到CE被置低。5.當(dāng)CE被置低,NRF24L01發(fā)送過程完成,自動(dòng)進(jìn)入空閑模式。6.在ShockBurstTM工作模式下,一旦開始發(fā)送數(shù)據(jù),發(fā)送過程都會(huì)被處理完。只有發(fā)送完前一個(gè)數(shù)據(jù)包的數(shù)據(jù),NRF24L01才能接受下一個(gè)發(fā)送數(shù)據(jù)包。由此,發(fā)送模塊的程序設(shè)計(jì)思路如下1.STC89C52RC控制CE引腳為低電平,從而使NRF24L01置于待機(jī)模式,對(duì)其進(jìn)行寄存器配置。2.當(dāng)STC89C52要發(fā)送溫濕度數(shù)據(jù)時(shí),其按時(shí)序通過SPI總線把接收節(jié)點(diǎn)地址<TX_ADDR>和有效數(shù)據(jù)<TX_PLD>寫入NRF24L01相應(yīng)寄存器中。發(fā)送端發(fā)送完數(shù)據(jù)后,將通道0設(shè)置為接收模式來接收應(yīng)答信號(hào),其接收地址<RX_ADDR_P0>與接收端地<TX_ADDR>相同;

3.STC89C52RC將CE引腳設(shè)置高電平,激發(fā)NRF24L01的ShockBurstTM發(fā)送模式,CE高電平持續(xù)時(shí)間最小為10μs。

4.nRF24L01ShockBurstTM發(fā)送模式:無線系統(tǒng)上電,射頻寄存器自動(dòng)開啟;數(shù)據(jù)打包;發(fā)送數(shù)據(jù)包;5.數(shù)據(jù)發(fā)送完后,CE被置低,自動(dòng)進(jìn)入空閑模式

NRF24L01的發(fā)送模塊程序流程圖如圖4.4所示。圖4.4發(fā)送模塊程序流程圖4.3.2數(shù)據(jù)接收模塊軟件設(shè)計(jì)接收機(jī)要想顯示溫濕度,就必須要通過NRF24L01接收兩個(gè)發(fā)射機(jī)發(fā)送的溫濕度數(shù)據(jù)。NRF24L01數(shù)據(jù)的接收過程為1.當(dāng)PWR_UP、PRIM_RX、CE全部為高電平時(shí),NRF24L01進(jìn)入ShockBurstTM接收模式;2.NRF24L01不斷監(jiān)測(cè),等待接收數(shù)據(jù),當(dāng)檢測(cè)到同一頻段的載波時(shí),載波檢測(cè)引腳被置高;3.當(dāng)接收到一個(gè)相匹配的地址時(shí),地址匹配引腳被置高;4.當(dāng)接收完一個(gè)正確的數(shù)據(jù)包后,NRF24L01自動(dòng)移去字頭、地址和CRC校驗(yàn)位,然后把數(shù)據(jù)準(zhǔn)備好引腳置高;5.STC89C52RC將CE置低,NRF24L01進(jìn)入待機(jī)模式;6.STC89C52RC通過SPI口,以一定的速率把數(shù)據(jù)傳送到STC89C52RC內(nèi);7.當(dāng)所有的數(shù)據(jù)接收完畢后,NRF24L01進(jìn)入待機(jī)模式。由此,接收模塊的程序設(shè)計(jì)思路如下1.STC89C52RC控制CE引腳為低電平,從而使NRF24L01置于待機(jī)模式,對(duì)其進(jìn)行寄存器配置。2.STC89C52RC將PWR_UP、PRIM_RX、CE三個(gè)引腳置高電平,使NRF24L01進(jìn)入ShockBurstTM接收模式;3.NRF24L01開始檢測(cè)空中信號(hào),接收到有效的數(shù)據(jù)包后<地址匹配、CRC校驗(yàn)正確>,將數(shù)據(jù)存儲(chǔ)在RX_FIFO寄存器中,并發(fā)送確認(rèn)信號(hào);4.STC89C52RC設(shè)置CE腳為低電平,使nRF24L01進(jìn)入待機(jī)模式;5.STC89C52RC通過SPI口以合適的速率將數(shù)據(jù)讀出。NRF24L01的接收模塊程序流程圖如圖4.5所示。圖4.5接收模塊程序流程圖4.4顯示模塊軟件設(shè)計(jì)顯示模塊軟件設(shè)計(jì)相對(duì)簡(jiǎn)單,首先將LCD1602初始化,然后STC89C52通過數(shù)據(jù)傳輸端口P0.0~P0.6向LCD1602傳送溫濕度數(shù)據(jù)信息。若LCD1602正確接收到數(shù)據(jù)信息,則顯示收到的溫濕度數(shù)據(jù)。延時(shí)0.8S后,重新開始讀取下一個(gè)時(shí)間段溫濕度數(shù)據(jù),進(jìn)入循環(huán)。若LCD1602讀取數(shù)據(jù)錯(cuò)誤,則直接返回,重新讀取。程序流程圖如圖4.6所示圖4.6LCD1602顯示模塊程序流程圖5系統(tǒng)的實(shí)現(xiàn)與測(cè)試5.1系統(tǒng)的實(shí)現(xiàn)系統(tǒng)的兩個(gè)發(fā)射機(jī)A1,A2的原理圖相同,如圖5.1所示圖5.1發(fā)射機(jī)原理圖系統(tǒng)的接收機(jī)B的原理圖如圖5.2所示圖5.2接收機(jī)原理圖根據(jù)原理圖進(jìn)行焊接后,發(fā)射機(jī)A1、A2實(shí)物圖如圖5.3所示,接收機(jī)B實(shí)物圖如圖5.4所示。圖5.3發(fā)射機(jī)A1、A2實(shí)物圖圖5.4接收機(jī)B實(shí)物圖5.2系統(tǒng)的調(diào)試整個(gè)系統(tǒng)的電路焊接完成后,開始進(jìn)行整個(gè)系統(tǒng)的調(diào)試。在整個(gè)調(diào)試的過程中主要使用KELLvision4軟件和stc-isp軟件。首先對(duì)程序進(jìn)行設(shè)計(jì)以及編譯。程序的編譯是一個(gè)很重要的過程,他是這整個(gè)系統(tǒng)關(guān)鍵。在編寫代碼的過程中,通過設(shè)計(jì)的流程圖,按照自己的思路進(jìn)行定義以及調(diào)用函數(shù),編譯調(diào)試可以讓我們清楚地認(rèn)識(shí)到函數(shù)的調(diào)用順序以及函數(shù)的調(diào)用情況。并且我們可以通過調(diào)試發(fā)現(xiàn)其中的錯(cuò)誤,并通過調(diào)試改正過來。通過不斷地對(duì)代碼進(jìn)行調(diào)試,從而將設(shè)計(jì)完美的實(shí)現(xiàn)。程序編譯完成后利用stc-isp軟件把三個(gè)程序分別燒錄進(jìn)發(fā)射機(jī)A1、A2和接收機(jī)的STC89C52RC單片機(jī)中。完成后,對(duì)系統(tǒng)進(jìn)行功能測(cè)試,測(cè)試流程如下。1.把發(fā)射機(jī)A1、A2,接收機(jī)B分別放置于三個(gè)房間,其分布示意圖如圖5.5所示。圖5.5發(fā)射機(jī)、接收機(jī)分布示意圖2.啟動(dòng)發(fā)射機(jī)A1、A2和接收機(jī)B。接收機(jī)B液晶屏顯示如圖5.6所示。A1、A2的初始溫濕度如表5.1所示。符合環(huán)境的溫濕度。圖5.6A1、A2采集點(diǎn)的初始溫濕度顯示表5.1A1、A2的初始溫濕度采集點(diǎn)溫度濕度A125℃32%RHA224℃36%RH3.對(duì)A1的溫濕度傳感器DHT11吹氣,接收機(jī)的液晶屏顯示如圖5.7所示。A1、A2的溫濕度變化如表5.2所示。對(duì)比發(fā)現(xiàn),A1采集點(diǎn)的溫度上升至30℃。濕度急劇上升至55%RH。A2采集點(diǎn)的溫濕度沒有變化??芍l(fā)射機(jī)A1工作正常,接收機(jī)能正常顯示溫濕度數(shù)據(jù),達(dá)到了本設(shè)計(jì)的對(duì)于無線采集某點(diǎn)溫濕度要求。圖5.7對(duì)A1吹氣后A1、A2采集點(diǎn)的溫濕度表5.2對(duì)A1吹氣后A1、A2的溫濕度采集點(diǎn)溫度濕度A130℃55%RHA224℃36%RH4.利用電吹風(fēng)對(duì)準(zhǔn)發(fā)射機(jī)A2的DHT11吹風(fēng),接收機(jī)的液晶屏顯示如圖5.8所示。A1、A2的溫濕度變化如表5.3所示。對(duì)比發(fā)現(xiàn)A2采集點(diǎn)的溫度急劇上升至46℃。濕度下降至26%RH??芍l(fā)射機(jī)A2工作正常,接收機(jī)能正常顯示A2點(diǎn)溫濕度數(shù)據(jù)。圖5.8利用電吹風(fēng)對(duì)A2吹風(fēng)后A1、A2采集點(diǎn)的溫濕度顯示表5.3利用電吹風(fēng)對(duì)A2吹風(fēng)后A1、A2的溫濕度采集點(diǎn)溫度濕度A128℃58%RHA246℃26%RH5.綜上可知,本系統(tǒng)完整的實(shí)現(xiàn)了預(yù)設(shè)功能,本次設(shè)計(jì)制作成功。結(jié)論本系統(tǒng)是基于51單片機(jī)的多點(diǎn)溫濕度采集和無線傳輸系統(tǒng),由兩個(gè)發(fā)射模塊與一個(gè)接收模塊組成。兩個(gè)模塊電路圖如圖1、圖2所示圖1發(fā)射機(jī)A1、A2的原理圖圖2接收機(jī)B的原理圖發(fā)射機(jī)利用數(shù)字溫濕度傳感器DHT11采集環(huán)境溫濕度數(shù)據(jù)并傳送給STC89C52RC單片機(jī),單片機(jī)進(jìn)行數(shù)據(jù)處理后利用無線傳輸模塊NRF24L01進(jìn)行無線發(fā)送。接收模塊的NRF24L01將接收到的數(shù)據(jù)傳給STC89C52RC單片機(jī),最后用數(shù)字顯示屏LCD1602將經(jīng)過單片機(jī)處理后的溫濕度數(shù)據(jù)顯示出來。顯示效果如圖3所示。圖3顯示效果本設(shè)計(jì)基于51單片機(jī),能夠完成同時(shí)遠(yuǎn)距離采集兩點(diǎn)溫濕度并在系統(tǒng)終端進(jìn)行顯示的功能,以達(dá)到監(jiān)測(cè)多點(diǎn)環(huán)境溫濕度的目的。結(jié)果表明,本系統(tǒng)能夠方便、高效、及時(shí)地測(cè)量出兩個(gè)采集點(diǎn)的溫濕度。系統(tǒng)成本低,性能好,制作相對(duì)簡(jiǎn)單。遠(yuǎn)程測(cè)量能達(dá)到百米左右,基本滿足日常生活的測(cè)量要求??梢暂p松添加多個(gè)監(jiān)測(cè)點(diǎn),程序移植性十分好。系統(tǒng)可擴(kuò)展性也比較強(qiáng),在此程序框架上添加其他模塊程序,并加入相應(yīng)的硬件,可以實(shí)現(xiàn)其他功能。如溫濕度異常報(bào)警功能,溫濕度自動(dòng)調(diào)節(jié)功能。致謝本次畢業(yè)設(shè)計(jì)過程中,遇到了很多困難。雖然之前對(duì)類似系統(tǒng)有一些初步了解,但是當(dāng)自己一個(gè)人獨(dú)自完成系統(tǒng)時(shí),還是產(chǎn)生了很多意想不到的問題。通過本次設(shè)計(jì),我學(xué)習(xí)到了很多東西,不管是做人,還是做事兒。在我進(jìn)行畢業(yè)設(shè)計(jì)的過程中接收到許許多多的人的幫助,特別是指導(dǎo)老師的悉心指導(dǎo)和幫助。在這個(gè)畢業(yè)設(shè)計(jì)的過程中,李老師對(duì)我們盡職盡責(zé),每周固定設(shè)定一個(gè)時(shí)間,組織我們開會(huì)總結(jié)。要求我們每周匯報(bào)自己的工作進(jìn)度,并對(duì)我們的問題認(rèn)真解答,才使得設(shè)計(jì)過程中出現(xiàn)的問題及時(shí)的得到改正。這才使得畢業(yè)設(shè)計(jì)能夠順利的進(jìn)展。我這次能夠順利完成畢業(yè)設(shè)計(jì),也要感謝我們學(xué)校以及學(xué)院。為了配合完成畢業(yè)設(shè)計(jì),我們可以借助圖書館的免費(fèi)數(shù)據(jù)庫(kù)以及學(xué)院給我們提供實(shí)驗(yàn)室,方便我們進(jìn)行畢業(yè)設(shè)計(jì),以及相關(guān)的測(cè)試。通過圖書館的資料的查詢。以及學(xué)院給我們提供的良好的環(huán)境,畢業(yè)設(shè)計(jì)才會(huì)跟好的完成。畢業(yè)設(shè)計(jì)是我們對(duì)四年專業(yè)課學(xué)習(xí)的總結(jié),也是畢業(yè)之前的最后一張答卷。這些過程讓我學(xué)到了很多,當(dāng)然這也離不開同學(xué)們的熱心幫助,在此也向他們表示感謝。參考文獻(xiàn)[1]周峰.Zigbee無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)硬件設(shè)計(jì).電子世界雜志,2011,5:59-62[2]周遠(yuǎn)舉.基于AT89S52和NRF24L01的無線溫度監(jiān)測(cè)系統(tǒng)[J].中國(guó)知網(wǎng),2012,2:12-23[3]郭剛,李思敏.基于nRF24E1開發(fā)的短距離無線數(shù)據(jù)傳輸系統(tǒng).XX電子工業(yè)學(xué)院學(xué)報(bào).2004,24:5-11[4]李會(huì)聰.DS18B20多點(diǎn)測(cè)溫方法探討[J].微計(jì)算機(jī)信息,2010,26:126-153[5]英慶,王代華,張志杰.基于nRF24L01的無線數(shù)據(jù)傳輸系統(tǒng)[J].現(xiàn)代電子技術(shù).2008,31:68-82.[6]丁永紅,孫運(yùn)強(qiáng).基于nRF2401的無線數(shù)傳系統(tǒng)設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù).2008,27:45-47[7]朱玉穎,蔡占輝.基于NRF24L01的遠(yuǎn)程溫度檢測(cè)系統(tǒng)設(shè)計(jì)[J].通信與信息處理.2009:68-96[8]潘勇,管學(xué)奎,趙瑞.基于NRF24L01的智能無線溫度測(cè)量系統(tǒng)設(shè)計(jì)[J].電子測(cè)量技術(shù)2010,2:56-8984-92[10]李文仲,段朝玉.短距離無線數(shù)據(jù)通信入門與實(shí)戰(zhàn)[M].北京航空航天大學(xué)出版社.2006.80-259[11]喻金錢,喻斌.短距離無線通信詳解:基于單片機(jī)控制[M].北京航空航天大學(xué)出版社.2009,125-246[12]劉君華.智能傳感器系統(tǒng).XX電子科技大學(xué)出版社.1999.3:137-146[13]周月霞、孫傳友.DS18B20硬件連接及軟件編程.傳感器世界.2001.8:13-21[14]JoyecVandeVegte.fundamentalsofdigitalsignalprocessing.電子工業(yè)出版社。2003:156-183[15]LyonsRG.UnderstandingDigitalSignalProcessing.科學(xué)出版社.2003:256-294/************************LCD模塊***********************************/BOOLlcd_bz<>//測(cè)試LCD忙碌狀態(tài){ BOOLresult; rs=0; rw=1; ep=1; result=<BOOL><P0&0x80>; ep=0; returnresult;}voidwrite_cmd<ucharcmd>//寫指令{ while<lcd_bz<>>; rs=0; rw=0; ep=0; P0=cmd; ep=1; ep=0;}voidwrite_addr<ucharaddr>//寫地址{ write_cmd<addr|0x80>;}voidwrite_byte<uchardat>//寫字節(jié){ while<lcd_bz<>>; rs=1; rw=0; ep=0; P0=dat; ep=1; ep=0;}voidlcd_init<>//初始化{ write_cmd<0x38>; delay<1>; write_cmd<0x08>; delay<1>; write_cmd<0x01>; delay<1>; write_cmd<0x06>; delay<1>; write_cmd<0x0c>; delay<1>;}display<ucharaddr,ucharq>//在某一地址上顯示一字節(jié){ delay<1>; write_addr<addr>;write_byte<q>; longdelay<1>;}voidshow1<>{ lcd_init<>;//初始化display<0x03,'W'>;display<0x04,'e'>; display<0x05,'l'>; display<0x06,'c'>; display<0x07,'o'>; display<0x08,'m'>;display<0x09,'e'>; NRFDelay<1000>;//短暫延時(shí) lcd_init<>;//初始化 display<0x00,'A'>;display<0x01,'1'>; display<0x02,':'>; display<0x06,0xdf>;display<0x07,'C'>; display<0x0d,'%'>;display<0x0e,'R'>;display<0x0f,'H'>; display<0x40,'A'>;display<0x41,'2'>; display<0x42,':'>; display<0x46,0xdf>;display<0x47,'C'>; display<0x4d,'%'>;display<0x4e,'R'>;display<0x4f,'H'>;}/*****************狀態(tài)標(biāo)志*****************************************/uncharbdatasta;sbitRX_DR=sta^6;sbitTX_DS=sta^5;sbitMAX_RT=sta^4;/*****************SPI時(shí)序函數(shù)***********************************/uncharNRFSPI<unchardate>{unchari; for<i=0;i<8;i++>//循環(huán)8次 { if<date&0x80> MOSI=1; else MOSI=0;//byte最高位輸出到MOSI date<<=1;//低一位移位到最高位 SCLK=1; if<MISO>//拉高SCK,nRF24L01從MOSI讀入1位數(shù)據(jù),同時(shí)從MISO輸出1位數(shù)據(jù) date|=0x01; //讀MISO到byte最低位 SCLK=0; //SCK置低 }return<date>; //返回讀出的一字節(jié)}/**********************NRF24L01初始化函數(shù)**************************/voidNRF24L01Int<>{ NRFDelay<2>;//讓系統(tǒng)什么都不干 CE=0; CSN=1; SCLK=0; IRQ=1; BJ=0;}/*****************SPI讀寄存器一字節(jié)函數(shù)*****************************/uncharNRFReadReg<uncharRegAddr>{uncharBackDate;CSN=0;//啟動(dòng)時(shí)序NRFSPI<RegAddr>;//寫寄存器地址BackDate=NRFSPI<0x00>;//寫入讀寄存器指令CSN=1;return<BackDate>;//返回狀態(tài)}/*****************SPI讀取RXFIFO寄存器的值**************************/uncharNRFReadRxDate<uncharRegAddr,unchar*RxDate,uncharDateLen>{//寄存器地址//讀取數(shù)據(jù)存放變量//讀取數(shù)據(jù)長(zhǎng)度//用于接收uncharBackDate,i; CSN=0;//啟動(dòng)時(shí)序 BackDate=NRFSPI<RegAddr>;//寫入要讀取的寄存器地址 for<i=0;i<DateLen;i++>//讀取數(shù)據(jù) { RxDate[i]=NRFSPI<0>; }CSN=1;return<BackDate>;}/*****************NRF設(shè)置為接收模式并接收數(shù)據(jù)***********************/voidNRFSetRXMode<>{CE=0; NRFWriteTxDate<W_REGISTER+RX_ADDR_P0,RxAddr0,TX_ADDR_WITDH>;//接收設(shè)備接收通道0使用和發(fā)送設(shè)備相同的發(fā)送地址 NRFWriteTxDate<W_REGISTER+RX_ADDR_P1,RxAddr1,TX_ADDR_WITDH>;//接收設(shè)備接收通道1使用和發(fā)送設(shè)備相同的發(fā)送地址 NRFWriteReg<W_REGISTER+EN_AA,0x03>;//使能數(shù)據(jù)通道0和1自動(dòng)應(yīng)答 NRFWriteReg<W_REGISTER+EN_RXADDR,0x03>;//使能接收通道0和1 NRFWriteReg<W_REGISTER+RX_PW_P0,TX_DATA_WITDH>;//

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論