無線溫度濕度采集系統(tǒng)的設計_第1頁
無線溫度濕度采集系統(tǒng)的設計_第2頁
無線溫度濕度采集系統(tǒng)的設計_第3頁
無線溫度濕度采集系統(tǒng)的設計_第4頁
無線溫度濕度采集系統(tǒng)的設計_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、畢 業(yè) 設 計 (論 文)題 目:無線溫度濕度采集系統(tǒng)的設計院 系:電氣信息工程系專 業(yè):通信工程班 級:2009級1班姓 名:。學 號:/指導教師:于京生2013年04月16日I無線溫度濕度采集系統(tǒng)的設計【摘要】隨著工業(yè)農(nóng)業(yè)等相關產(chǎn)業(yè)的不斷發(fā)展,溫度和濕度的測量在實際生活中的應用越來越廣泛。如現(xiàn)代溫室大棚,釀造酒類,微生物發(fā)酵,藥物制造等方面均對溫度濕度的要求嚴格。本設計為一個無線溫濕度采集系統(tǒng)。以AT89S52為主要芯片,利用數(shù)字式溫濕度傳感器SHT10采集溫濕度,把收集到的數(shù)據(jù)傳給單片機AT89S52,再用無線發(fā)射模塊nRF905將經(jīng)過處理的數(shù)據(jù)發(fā)射出去。單片機通過模擬SPI口跟nRF9

2、05之間傳送數(shù)據(jù)。同時,nRF905具有接收功能,接收模塊的nRF905將接收到的數(shù)據(jù)傳給AT89S52,最后用數(shù)字顯示屏LCD1602將經(jīng)過單片機處理后的數(shù)據(jù)顯示出來?!娟P鍵詞】AT89S52 數(shù)據(jù)處理 溫度 濕度Design of wireless temperature humidity acquisition system【Abstract】With the continuous development of industry and agriculture and related industries, the temperature and humidity measurement

3、 used more and more widely in the practical life. Such as modern greenhouses, brewing wine, microbial fermentation, so on drugs manufacture of temperature humidity requirements strictly. Therefore, to design a wireless temperature and humidity acquisition system. AT89S52 as the main chip, using digi

4、tal temperature and humidity sensor SHT10 to collect temperature and humidity. Pass the collected data to MCU AT89S52, reoccupy nRF905 wireless transmitting module data will be processed. Single chip microcomputer simulation SPI mouth to transmit data between nRF905. NRF905, meanwhile, has the funct

5、ion of receiving, receiving modules nRF905 will receives the data to AT89S52 devices, with digital display LCD1602 will finally after dealing with the single chip microcomputer of data displayed.【Key word】AT89S52 data processing Temperature humidity目 錄1 緒論11.1 引言11.2 選題背景及意義11.3 國內(nèi)外現(xiàn)狀及發(fā)展趨勢11.4 研究內(nèi)容2

6、2 系統(tǒng)總體設計方案32.1 溫濕度傳感器的選擇32.2 無線發(fā)射模塊的元器件選擇32.2.1 nRF905主要包括三種接口42.2.2 nRF905的工作模式42.3 單片機的選擇52.4顯示模塊的選擇63 硬件電路設計73.1 溫濕度采集模塊的設計83.2 無線發(fā)射接收模塊設計93.2.1 溫濕度數(shù)據(jù)的控制發(fā)送93.2.2 溫濕度數(shù)據(jù)的接收103.2.3 模擬SPI口的實現(xiàn)103.3 LCD1602液晶顯示模塊設計113.4 電源模塊設計124 軟件設計124.1 采集模塊軟件設計124.2 發(fā)送接收模塊軟件設計134.3顯示模塊軟件設計174.4 調(diào)試17結論18附錄A 系統(tǒng)總體電路圖2

7、0附錄B nRF905接收程序22附錄C SHT10與LCD1602初始化與溫濕度采集顯示程序2835石家莊學院畢業(yè)設計(論文)1 緒論1.1 引言溫度濕度在工農(nóng)業(yè)生產(chǎn)中占有很重要的地位,是工農(nóng)業(yè)生產(chǎn)的重要組成數(shù)據(jù)。溫濕度過高會造成糧食發(fā)霉長芽,還會引起大棚蔬菜一系列的病害。因此,對其適時準確的測量就顯得尤為重要。而一般的測量過程較為復雜繁瑣,誤差還大。比如現(xiàn)在所使用的水銀,酒精溫度計進行溫度檢測和用傳統(tǒng)的物理模擬量的方法進行的濕度檢測,這些溫濕度檢測計的刻度間隔通常都很密,不容易準確分辨,讀數(shù)困難,而且他們的熱容量還比較大,達到熱平衡所需的時間較長,因此很難讀準,并且使用非常不方便。本設計以

8、AT89S52為主要芯片,利用數(shù)字式溫濕度傳感器SHT10采集溫濕度,把收集到的數(shù)據(jù)傳給單片機AT89S52,再用無線發(fā)射模塊nRF905將經(jīng)過處理的數(shù)據(jù)發(fā)射出去。單片機通過模擬SPI口跟nRF905之間傳送數(shù)據(jù)。同時,nRF905具有接收功能,接收模塊的NRF905將接收到的數(shù)據(jù)傳給AT89S52,最后用數(shù)字顯示屏LCD1602將經(jīng)過單片機處理后的數(shù)據(jù)顯示出來。單片機體積小,價格低,且穩(wěn)定性較強,操作靈活簡單,誤差較小,具有很高的應用價值。1.2 選題背景及意義溫濕度的測量控制在農(nóng)業(yè)生產(chǎn),工業(yè)制造,倉庫管理,科學研究等方面都有廣泛的應用。然而,溫度和濕度卻是最不易保障的指標。由于溫濕度控制不

9、當,可能會導致無法估計的損失。傳統(tǒng)的測量方法是有線測控法,實施起來不僅難度大,成本比較高,系統(tǒng)靈活性較差,而且維護起來也比較困難。針對這一情況,研制可靠且實用的溫度和濕度檢測與控制系統(tǒng)就顯得非常重要。如今,隨著科技的進步,無線通信技術日趨成熟,如果將無線通信技術應用到溫濕度的測量系統(tǒng)中,通過無線傳輸將傳感器收集到的溫濕度信息傳送到控制顯示終端,這樣設計系統(tǒng)具有結構簡單,采樣點可靈活設置,系統(tǒng)適應性強等特點。符合向智能化,小型化方向的發(fā)展。另外此系統(tǒng)不需要A/D轉換器將電信號轉換成數(shù)字信號,而使用SHT10直接得到數(shù)字量,減去了不必要的麻煩。由此為出發(fā)點,根據(jù)自己所學的專業(yè)知識,用新型智能溫度傳

10、感器SHT10,無線發(fā)射模塊nRF905,單片機AT89S52,數(shù)字液晶顯示器件LCD1602等主要元件設計這套無線溫度濕度采集系統(tǒng)。1.3 國內(nèi)外現(xiàn)狀及發(fā)展趨勢隨著科技的飛速發(fā)展和普及,高性能設備也越來越多,各行各業(yè)對溫濕度的要求也越來越高。 傳統(tǒng)的溫濕度監(jiān)測模式是以人為基礎,依靠人工輪流值班,人工巡回查看等方式來測量和記錄環(huán)境狀況信息。在這種模式下,不僅效率低下,還浪費大量人才資源及財力資源,而且缺乏科學性,許多重大事故都是因為人為因素造成的,人工維護缺乏完整的管理系統(tǒng)。而無線監(jiān)控系統(tǒng)就可以解決這樣人才資源浪費,管理不及時的問題,這是由于它的智能化設計所決定的。它的工作步驟如下:感應環(huán)境溫

11、濕度;單片機判斷感應到的溫濕度是否異常;若感應到的溫濕度異常,實行措施進行調(diào)節(jié);判斷異常是否超過預設時間,若超過預設時間,則輸出異常信號報警;判斷異常是否處理完畢,若處理完畢,解除報警。這樣就可以利用控制器對機房溫濕度進行監(jiān)控,從而實現(xiàn)環(huán)境溫濕度管理的實時性和有效性。故本次設計對于類似項目還具有普遍意義智能溫度傳感器(亦稱數(shù)字溫度傳感器)在20世紀90年代中期問世。它是微電子技術、計算機技術和自動測試技術(ATE_)的結晶。目前,國際上已開發(fā)出多種智能溫度傳感器系列產(chǎn)品。智能溫度傳感器內(nèi)部包含溫度傳感器、A/D傳感器、信號處理器、存儲器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器

12、(CPU)、隨機存取存儲器(RAM)和只讀存儲器(ROM)。智能溫度傳感器能輸出溫度數(shù)據(jù)及相關的溫度控制量,適配各種微控制器(MCU),并且可通過軟件來實現(xiàn)測試功能,溫度計也越來越智能化。跟電子溫度計一樣濕度計隨著濕度傳感器的發(fā)展趨于成熟?,F(xiàn)在常用的溫度傳感器AD590,DS18B20濕度傳感器HMxx系列,HS1xx系列,SHT系列隨著溫濕度計的發(fā)展溫室監(jiān)控系統(tǒng)也越來越成熟,更好的為人們服務。對于國內(nèi)外對溫濕度檢測的研究,從復雜模擬量檢測到現(xiàn)在的數(shù)字智能化檢測越發(fā)的成熟,現(xiàn)在的對于溫濕度研究,檢測系統(tǒng)向著智能化、小型化、低功耗的方向發(fā)展。在發(fā)展過程中,以單片機為核心的溫濕度控制系統(tǒng)發(fā)展為體積

13、小、操作簡單、量程寬、性能穩(wěn)定、測量精度高,等諸多優(yōu)點在生產(chǎn)生活的各個方面實現(xiàn)著至關重要的作用。1.4 研究內(nèi)容設計以AT89S52基本系統(tǒng)為核心的一套檢測系統(tǒng)。由溫濕度采集、數(shù)據(jù)分析、數(shù)據(jù)處理三個部分。包括單片機系統(tǒng),復位電路,溫度檢測,濕度檢測,顯示部分等模塊。該系統(tǒng)包括了硬件組成和軟件的設計,該系統(tǒng)在硬件設計上主要是通過溫濕度傳感器對溫濕度進行采集,通過A/D轉換器,將模擬信號轉化為對應的數(shù)字溫度信號電壓。其硬件設計中最為核心的器件是單片機AT89S52,它一方面控制A/D轉換器實現(xiàn)模擬信號到數(shù)字信號的轉換,另一方面,將采集到的數(shù)字溫濕度電壓值經(jīng)計算機處理得到相應的溫度值和相對濕度值,送

14、到LCD顯示器,以數(shù)字形式顯示測量的溫度和濕度??梢灾庇^的看到測量點的溫濕度。整個系統(tǒng)的軟件編程就是通過c語言程序?qū)纹瑱CAT89S52實現(xiàn)控制功能。再通過nRF905整個發(fā)射出去。系統(tǒng)結構緊湊,簡單可靠,操作靈活,功能強大,性能價格比高,較好的滿足了現(xiàn)代生產(chǎn)和科研的需要。2 系統(tǒng)總體設計方案無線溫度濕度采集系統(tǒng)是基于一種射頻技術的無線溫濕度檢測的裝置。圖1 系統(tǒng)通訊方式及總體框圖2.1 溫濕度傳感器的選擇溫度檢測采用最基本的熱電偶,熱電偶應用廣泛,雖然其價格便宜而且耐用。種類多,能夠覆蓋非常寬的溫度范圍,但是其非線性、響應速度慢、精度中等、靈敏度低、穩(wěn)定性低、高溫下容易老化和有線性漂移,并且

15、測量需要參考量。濕度檢測采用濕敏元件,其主要分為電阻式和電容式。濕敏電阻的種類多,靈敏度高,但是起線性度和產(chǎn)品的互換性差。濕敏電容靈敏度高,響應速度快,偏于實現(xiàn)產(chǎn)品小型化和集成化,但精度一般比濕敏電阻要低一些。綜合濕敏元件,其線性度可抗污染性差,在濕度的檢測環(huán)境中濕敏元件需要時刻在檢測環(huán)境中,很容易受到環(huán)境污染從而影響其測量精度和持續(xù)的穩(wěn)定性。數(shù)字式傳感器SHT10是sensiron公司生產(chǎn)的智能化溫濕度傳感器。體積與火柴頭大小相似。不僅能夠測量溫度,還能同時測量相對濕度。所以能把SHT10作為溫濕度檢測的一個整體。SHT10作為典型的溫濕度傳感器,在測量過程中可對相對溫濕度進行自動校準,準確

16、的測量溫濕度。產(chǎn)品互換性好,相應速度快,抗干擾性強。 由上可知,SHT10與溫濕敏元件的溫濕度測量相比,數(shù)字溫濕度傳感器低成本,內(nèi)部集成復雜,在測量過程中可對相對溫濕度進行自動校準,準確的測量溫濕度。而且能夠提供數(shù)字輸出,簡化外部測量電路,精度高,適用廣泛的測量范圍,并且本設計的溫濕度檢測系統(tǒng)相適合。因此,選擇溫度濕度傳感器SHT10作為此次設計中的測量元件。2.2 無線發(fā)射模塊的元器件選擇本設計發(fā)射模塊采用單片射頻收發(fā)芯片nRF905,該芯片工作于433MHz的ISM頻段,由一個完全集成的頻率調(diào)制器,一個帶解調(diào)器的接收器,一個功率放大器,一個晶體震蕩器和一個調(diào)節(jié)器組成。輸出功率和通信頻道可通

17、過程序進行配置。芯片能耗非常低,以10dBm 的功率發(fā)射時工作電流僅有 30mA,接收時工作電流只有 12.5mA,多種低功率工作模式,待機模式下電流僅為12.5A,節(jié)能設計更方便。其ShockBurst技術可在通訊時自動生成前導碼和CRC校驗位。nRF905適用于多種無線通信的場合,如無線數(shù)據(jù)傳輸系統(tǒng)、報警及安全系統(tǒng)、家庭自動化、遙感監(jiān)測。2.2.1 nRF905主要包括三種接口(1)模式控制接口該接口由PWR、TX_EN、TRX_CE組成控制由nRF905組成的高頻頭的四種工作模式:掉電和SPI編程模式;待機SPI編程模式 ;發(fā)射模式;接收模式。(2)SPI接口SPI 接口由 CSN、SC

18、K、MOSI以及MISO組成。在配置模式下單片機通過SPI接口配置高頻頭的工作參數(shù);在發(fā)射/接收模式下單片機SPI接口發(fā)送和接收數(shù)據(jù)。(3)狀態(tài)輸出接口提供載波檢測輸出CD,地址匹配輸出AM,數(shù)據(jù)就緒輸出DR。表1 nRF905各個引腳的功能及說明管腳名稱管腳功能說明1VCC電源電源+3.33.6V DC2TX_EN數(shù)字輸入TX_EN=1 TX模式 TX_EN=0 RX模式3TRX_CE數(shù)字輸入使能芯片發(fā)射或接收4PWR_UP數(shù)字輸入芯片上電5uCLK時鐘輸出本模塊該引腳廢棄不用,向后兼容6CD數(shù)字輸出載波檢測7AM數(shù)字輸出地址匹配8DR數(shù)字輸出接收或發(fā)射數(shù)據(jù)完成9MISOSPI接口SPI輸出

19、10MOSISPI接口SPI輸入11SCKSPI時鐘SPI時鐘12CSNSPI使能SPI使能13GND地接地14GND地接地2.2.2 nRF905的工作模式nRF905有兩種節(jié)能模式和兩種工作模式。兩種節(jié)能模式分別是關機模式和空閑模式。兩種工作模式分別是ShockBurstTM接收模式和ShockBurstTM發(fā)送模式。 nRF905的工作模式由TRX_CE、TX_EN、PWR_UP三個引腳決定。三個引腳決定其工作方式的具體方式見下表。表2 nRF905的工作模式PWR_UPTRX_CETX_EN工作模式0XX掉電和SPI編程10XStandby和SPI編程110ShockBurstEX 1

20、11ShockBurst TX與射頻數(shù)據(jù)包有關的高速信號處理都在nRF905片內(nèi)進行,微控制器配置的SPI接口決定數(shù)據(jù)速率。數(shù)據(jù)在nRF905中高速傳送,在微控制器中低速處理。因此中間有很長時間的空閑,這很有利于節(jié)能。由于nRF905工作于ShockBurstTM模式,因此使用低速的微控制器也能得到很高的射頻數(shù)據(jù)發(fā)射速率。在ShockBurstTM接收模式下,當一個包含正確地址和數(shù)據(jù)的數(shù)據(jù)包被接收到后,地址匹配(AM)和數(shù)據(jù)準備好(DR)兩引腳通知微控制器。2.3 單片機的選擇AT89S52是一種低功耗,高性能CMOS 8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密

21、度非易失性存儲器技術制造。與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52在眾多嵌入式控制應用系統(tǒng)中得到廣泛應用。AT89S52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,看門狗定時器,三個16位定時器/計數(shù)器,32 位I/O口線,一個6向量2級中斷結構,2個數(shù)據(jù)指針,全雙工串行口,片內(nèi)晶振及時鐘電路。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結,單片機工作停止,直到下一個中斷或硬件復

22、位為止。AT89S52是片內(nèi)有ROM/EPROM的單片機,當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。用AT單片機構成最小系統(tǒng)時,只要將單片機接上時鐘電路和復位電路即可,如圖 AT89S52單片機最小系統(tǒng)所示。由于集成度的限制,單片機最小應用系統(tǒng)只能作一些小型的控制單元。其應用特點:有可供用戶使用的大量I/O口線; 內(nèi)部存儲器容量有限;應用系統(tǒng)開發(fā)具有特殊性。AT89S52的復位是由外部的復位電路實現(xiàn)的。復位引腳RST通過一個斯密特觸發(fā)器來抑制噪聲,

23、在每個機器周期的S5P2,斯密特觸發(fā)器的輸出電平由復位電路采樣一次,然后才能得到內(nèi)部復位操作所需要的信號。AT89S52雖然有內(nèi)部振蕩電路,但要形成時鐘,必須外部附加電路。AT89S52單片機的時鐘產(chǎn)生方法有兩種,一種是內(nèi)部方式,利用時鐘內(nèi)部的振蕩電路產(chǎn)生;另一種是外部方式,時鐘信號由外部引入。本設計采用內(nèi)部時鐘方式,利用芯片內(nèi)部的振蕩電路,在XTAL1、XTAL2引腳上外接定時元件,內(nèi)部的振蕩電路便產(chǎn)生自激振蕩。本設計采用最常用的內(nèi)部時鐘方式,即用外接晶體和電容組成的并聯(lián)諧振電路。振蕩晶體可以在1.2MHZ到24MHZ之間選擇,常用的晶振頻率有6MHZ、12MHZ和11.0592MHZ。電容

24、CX1和CX2主要是幫助起振,稱為諧振電容,電容值無嚴格要求,但電容的取值對振蕩頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度有少許影響,CX1、CX2可在20pF到100pF之間取值,當時鐘頻率為12MHZ時典型值為30pF。所以本設計中振蕩晶體采用12MHZ,電容選擇30pF。圖2 單片機最小系統(tǒng)2.4顯示模塊的選擇顯示器可以選擇數(shù)碼管顯示或者液晶顯示。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,起驅(qū)動方式分別為靜態(tài)驅(qū)動和動態(tài)驅(qū)動,靜態(tài)驅(qū)動編程簡單,顯示亮度高但是占用I/O端口多,增加了硬件電路的復雜性。動態(tài)電路是最廣泛的顯示方式之一,其能夠節(jié)省大量的I/O端口,功耗低。但是,針對數(shù)碼管,其顯示單調(diào)

25、不具備數(shù)據(jù)的直觀性。LCD1602液晶顯示,具有字符發(fā)生器ROM可以顯示192種字符。具有64個字節(jié)的自定義字符RAM,可自定義8個58點陣字符或四個511點陣字符。具有80個字節(jié)的RAM,標準的接口特性,適配M6800系列MPU的操作時序。模塊結構緊湊、輕巧、裝配容易,像素尺寸小,分辨率高。考慮到以上情況,顯示終端選擇LCD1602,它能把溫濕度直觀的顯示出來,設計起來簡潔明了,大大降低了系統(tǒng)的復雜性。LCD1602各個引腳的說明及作用為第一腳:VSS為接地電源。第二腳:VDD接5V正電源。第三腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“幻影

26、”,使用時可以通過一個可調(diào)電位器調(diào)整對比度。第四腳:RS為寄存器選擇,高電平時為數(shù)據(jù)寄存器、低電平時為指令寄存器。第五腳:R/W為讀寫操作信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。第六腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令第七十四腳:D0D7為8位雙向數(shù)據(jù)線。第十五腳:背光源正極。第十六腳:背光源負極。表3 LCD1602各個引腳的說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3V

27、L液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負極3 硬件電路設計該采集系統(tǒng)是以AT89S52芯片為主要,利用數(shù)字式溫濕度傳感器SHT10進行收集,將收集數(shù)據(jù)傳給單片機AT89S52,經(jīng)過處理從無線發(fā)送模塊nRF905發(fā)射出去,單片機通過模擬SPI口實現(xiàn)與nRF905之間的通信,因為nRF905兼具發(fā)射和接收功能,經(jīng)過一定距離的通信,接受模塊通過nRF905將數(shù)據(jù)傳給AT89S52,單片機經(jīng)處理后,將數(shù)據(jù)傳給顯示屏LCD1602.完成無線數(shù)據(jù)采集與發(fā)送。本設計的重點在于數(shù)據(jù)

28、如何在各個模塊之間傳輸。3.1 溫濕度采集模塊的設計串行時鐘輸入(SCK)。SCK引腳是MCU與SHTIO之間的同步時鐘,由于接口包含了全靜態(tài)邏輯,因此沒有最小的時鐘頻率。串行數(shù)據(jù)(DATA)引腳是1個三態(tài)門,用于MCU與SHTIO之間的數(shù)據(jù)傳輸。DATA的狀態(tài)在串行始終SCK的下降沿之后發(fā)生改變,在SCK的上升沿有效。在數(shù)據(jù)傳輸期間,當SCK為高電平時,DATA數(shù)據(jù)線上必須保持穩(wěn)定狀態(tài)。為避免數(shù)據(jù)發(fā)生沖突,MCU應該驅(qū)動DATA使其處于低電平狀態(tài),而外部接一個上拉電阻,將信號拉至高電平。如圖4所示。圖3 溫濕度采集模塊“000 00101”為相對濕度(RH)測量,“000 00011”為溫度

29、(T)測量。發(fā)送一組測量命令后控制器要等待測量結束,這個過程大約需要2080320 ms,對應其81214位的測量。測量時間隨內(nèi)部晶振的速度而變化,最多能夠縮短30 %。SHT10下拉DATA至低電平而使其進入空閑模式。重新啟動SCK時鐘讀出數(shù)據(jù)之前,控制器必須等待這個“數(shù)據(jù)準備好”信號。接下來傳輸2個字節(jié)的測量數(shù)據(jù)和1個字節(jié)的CRC校驗。MCU必須通過拉低DATA來確認每個字節(jié)。所有的數(shù)據(jù)都從MSB開始,至LSB有效。例如對于12位數(shù)據(jù),第5個SCK時鐘時的數(shù)值作為MSB位;而對于8位數(shù)據(jù),第1個字節(jié)(高8位)數(shù)據(jù)無意義。確認CRC數(shù)據(jù)位之后,通信結束。如果不使用CRC一8校驗,控制器可以在

30、測量數(shù)據(jù)LSB位之后,通過保持ACK位為高電平來結束本次通信。測量和通信結束后,SHT10自動進入休眠狀態(tài)模式。3.2 無線發(fā)射接收模塊設計本系統(tǒng)通過數(shù)字溫濕度傳感器SHT10實現(xiàn)溫濕度的采集,由單片機AT89S52控制,通過射頻芯片nRF905進行無線傳輸和接收。nRF905提供給應用的微控制器一個SPI接口,速率由微控制器自己設定的接口速度決定。圖4 單片機與nRF905的連接圖3.2.1 溫濕度數(shù)據(jù)的控制發(fā)送nRF905數(shù)據(jù)的發(fā)送過程為A. 當微控制器有數(shù)據(jù)要發(fā)送時,通過SPI接口,按時序把接收機的地址和要發(fā)送的數(shù)據(jù)送傳給nRF905,SPI接口的速率在通信協(xié)議和器件配置時確定;B微控制

31、器通過置高TRX_CE和TX_EN,激發(fā)nRF905的ShockBurstTM的發(fā)送模式;CnRF905的ShockBurstTM發(fā)送數(shù)據(jù);自動開啟射頻寄存器;打包數(shù)據(jù)(加字頭和CRC校驗碼);發(fā)送數(shù)據(jù)包;當數(shù)據(jù)發(fā)送完成后,數(shù)據(jù)準備好引腳被置高;D.當AUTO_RETRAN被置高,nRF905不斷重發(fā),直到TRX_CE被置低;E.當TRX_CE被置低,nRF905發(fā)送過程完成,自動進入空閑模式。ShockBurstTM工作模式,一旦開始發(fā)送數(shù)據(jù),無論TRX_EN和TX_EN引腳是高或低,發(fā)送過程都會被處理完。只有發(fā)送完前一個數(shù)據(jù)包的數(shù)據(jù),nRF905才能接受下一個發(fā)送數(shù)據(jù)包。3.2.2 溫濕度

32、數(shù)據(jù)的接收A.當TRX_CE為高電平、TX_EN為低電平時,nRF905進入ShockBurstTM接收模式;B. nRF905不斷監(jiān)測,等待接收數(shù)據(jù),當檢測到同一頻段的載波時,載波檢測引腳被置高;C.當接收到一個相匹配的地址時,地址匹配引腳被置高;D.當接收完一個正確的數(shù)據(jù)包后,nRF905自動移去字頭、地址和CRC校驗位,然后把數(shù)據(jù)準備好引腳置高;E.微控制器將TRX_CE置低,nRF905進入空閑模式;F.微控制器通過SPI口,以一定的速率把數(shù)據(jù)傳送到微控制器內(nèi);G.當所有的數(shù)據(jù)接收完畢,nRF905把數(shù)據(jù)準備好引腳和地址匹配引腳置低。此時nRF905此時可以進入ShockBurstTM

33、接收模式、ShockBurstTM發(fā)送模式或關機模式。當nRF905正在接收一個數(shù)據(jù)包時,TRX_CE或TX_EN任意一引腳的狀態(tài)發(fā)生改變,nRF905隨之改變其工作模式,接收的數(shù)據(jù)包丟失。當微處理器接到地址匹配引腳的信息之后,其就知道nRF905正在接收數(shù)據(jù)包,其可以決定是讓nRF905繼續(xù)接收該數(shù)據(jù)包還是進入另一個工作模式。由于接收模塊單片機與nRF905的連接電路相同,只是程序不同,這里,不在給出接收模塊單片機與nRF905連接圖。詳細連接電路圖見附錄A3.2.3 模擬SPI口的實現(xiàn)由于單片機不存在SPI口,為了實現(xiàn)單片機與nRF905的通訊,需要進行模擬SPI口,SPI口的工作方式可以

34、通過SPI指令進行設置。首先必須設置器件的發(fā)送/接收模式才能保證有效的數(shù)據(jù)發(fā)送接收。SPI口外圍串行接口包括:MOSI(主機寫操作)、MISO(主機讀操作)、SCK(串行時鐘信號,由主機控制)、CSN(片選信號,低電平有效)。SPI口的讀寫操作如如圖5和圖6所示。圖5 SPI讀操作時序圖6 SPI寫操作時序3.3 LCD1602液晶顯示模塊設計本次設計可以采用的顯示芯片很多,考慮到顯示效果的精確度和成本等方面的因素,本設計采用LCD1602顯示,經(jīng)過無線傳輸后,溫、濕度數(shù)據(jù)信息將在1602液晶顯示芯片上進行顯示,1602液晶顯示芯片采用標準的16腳接口。RS接p1.0,E接P1.2。為了能夠判

35、斷無線溫濕度傳輸?shù)臄?shù)據(jù)是否正確,我們在數(shù)據(jù)采集模塊也設計了一個液晶顯示電路,通過采集模塊和接收模塊顯示的溫濕度數(shù)據(jù)對比,來判斷傳輸是否準確。將以上的傳感器電路,液晶顯示電路,無線傳輸和接收電路,單片機最小系統(tǒng)等各單元電路進行接口連接,構成無線溫濕度數(shù)據(jù)采集系統(tǒng)的總體電路圖。(附錄A)用LCD顯示一個字符時比較復雜,因為一個字符由68或88點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但LCD1602內(nèi)帶字符發(fā)生器,顯示字符就比較簡單了,根據(jù)在LCD上開始顯示的行列號及每行

36、的列數(shù)找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。通過單片機發(fā)送不同的指令即可控制LCD使其顯示相應的溫濕度信息。各個引腳的連接圖如下圖7 LCD1602模塊電路圖3.4 電源模塊設計本設計電路采用+5V直流電源供電,電源模塊電路圖圖8 電源模塊電路圖4 軟件設計本設計的數(shù)據(jù)采集系統(tǒng)是由采集模塊和顯示模塊構成,程序設計主要有單片微處理器數(shù)據(jù)采集程序,nRF905發(fā)送和接收程序,液晶顯示程序構成4.1 采集模塊軟件設計首先,將SHT10初始化,將采集到的溫度濕度信息傳送到單片機,通過單片機的P1.6和P1.7腳控制SHT10的SCK和DATA。主機通過SPI接口向905配置

37、寄存器寫入信息并通過天線發(fā)送,同時將數(shù)據(jù)顯示在LCD1602上。用于同接收模塊顯示的數(shù)據(jù)作對比,檢驗發(fā)送過程是否出錯。表4 SHT10命令集命令代碼預留0000x溫度測量00011濕度測量00101讀狀態(tài)寄存器00111寫狀態(tài)寄存器00110接口復位11110圖9 采集模塊主程序4.2 發(fā)送接收模塊軟件設計在進行采集模塊軟件設計時,要將nRF905設置為發(fā)送狀態(tài),TX_EN=1,TRX_CE=0如下圖9所示。在ShockBurstTM發(fā)送模式,nRF905自動產(chǎn)生字頭和CRC校驗碼,當發(fā)送過程完成后,數(shù)據(jù)準備好引腳通知微處理器數(shù)據(jù)發(fā)射完畢。由以上可知,nRF905的ShockBurstTM收發(fā)

38、模式有利于節(jié)約存儲器和微控制器資源,同時也減小了編寫程序的時間。接收模塊主要包括nRF905接收程序和液晶顯示程序。與發(fā)送模塊相同,在接收模塊軟件設計中,同樣要先將nRF905設置為接收狀態(tài),TRX_CE=1,TX_EN=0,這樣主機才能從nRF905讀取數(shù)據(jù)。圖10 發(fā)送模塊流程圖當微控制器有數(shù)據(jù)要發(fā)送時,STC11L60XE先把PWR_UP引腳置為電平、TRX_CE引腳置為低電平。從而使nRF905置于待機模式;然后按時序通過SPI總線把發(fā)送地址和待發(fā)送的數(shù)據(jù)都寫入nRF905相應寄存器中。SPI接口的速率在通信協(xié)議和器件配置時確定。微控制器將PWR_UP、TRX_CE和,TX_EN全置高

39、電平,激發(fā)nRF905的ShockBurstTM發(fā)送模式。nRF905的ShockBurstTM發(fā)送包括以下步驟:射頻寄存器自動開啟;數(shù)據(jù)打包;發(fā)送數(shù)據(jù)包;當數(shù)據(jù)發(fā)送完成,數(shù)據(jù)準備好,引腳被置高。當TRX_CE被置時,nRF905發(fā)送過程完成,自動進入空閑模式。Sho ckBurstTM工作模式保證一旦發(fā)送數(shù)據(jù)的過程開始,無論TRX_EN和TX_EN引腳是高或低,發(fā)送過程都會被處理完,并且只有在前一個數(shù)據(jù)包被發(fā)送完畢,nRF905才能接受下一個發(fā)送數(shù)據(jù)包。圖11 接收模塊主程序當nRF905正在接收一個數(shù)據(jù)包時,TRX_CE或TX_EN任意一引腳的狀態(tài)發(fā)生改變,nRF905隨之改變其工作模式,

40、接收的數(shù)據(jù)包丟失。當微處理器接到地址匹配引腳的信息之后,其就知道nRF905正在接收數(shù)據(jù)包,其可以決定是讓nRF905繼續(xù)接收該數(shù)據(jù)包還是進入另一個工作模式。當微控制器有數(shù)據(jù)要接收時,STCllL60XE先把TRX_CE置為高電平、TX_EN置為低電平,此時nRF905進入ShockBurstTM接收模式;650 s后,nRF905不斷監(jiān)測,等待接收數(shù)據(jù);當nRF905檢測到同一頻段的載波時,載波檢測引腳被置高;當接收到一個相匹配的地址,地址匹配引腳被置高。當一個正確的數(shù)據(jù)包接收完畢,nRF905自動移去字頭、地址和CRC校驗位,然后把數(shù)據(jù)備好引腳置高。準備接收下一組數(shù)據(jù)或者進入空閑模式。接收

41、流程圖如下所示圖12 nRF905接收流程圖4.3顯示模塊軟件設計圖13 LCD1602顯示數(shù)據(jù)流程圖顯示模塊軟件設計過程為,先將LCD1602初始化,初始化程序見附錄。單片機通過數(shù)據(jù)傳輸端口P0.0P0.6向顯示器傳送溫濕度數(shù)據(jù)信息。若LCD1602正確接收到數(shù)據(jù)信息,顯示收到溫濕度信息。延時0.8S后,重新開始讀取下一個時間段溫濕度數(shù)據(jù),進入循環(huán)。若LCD1602讀取數(shù)據(jù)錯誤,則直接返回,重新讀取。4.4 調(diào)試軟件調(diào)試主要使用Proteus軟件和Keil C51軟件。在軟件調(diào)試中,首先在Proteusz中繪制電路圖,并設置各元器件的參數(shù)。然后在Keil C51軟件編寫程序,并編譯后輸入PR

42、OTEUS中進行仿真。在元器件的布局方面,把相互有關的元件放得比較近,例如:晶振、單片機的時鐘輸入端都容易產(chǎn)生噪音,在放置元件時的時候把它們放的靠近些。地線應構成閉環(huán)形式,提高電路的抗干擾能力,電路提供的電源是具有穩(wěn)壓作用的+5V電源。單片機選用12MHZ的晶振,因為這樣有利于得到?jīng)]有誤差的波特率。特別是當與單片機進行通信的話,選用這種晶振比較好。由于單線數(shù)字溫度傳感器SHT10,測溫相當準確,我們主要時間要花在單片機軟件程序的編輯和調(diào)試以及電路模塊的制作方面。結論本系統(tǒng)能較好地完成一個半雙工無線數(shù)據(jù)傳輸工作,在空曠地帶數(shù)據(jù)傳輸平均有效距離為200m;在復雜環(huán)境下,由于發(fā)射接收模塊屬于微功率器

43、件,一般數(shù)據(jù)傳輸有效距離在20m-50m 之間?;趩纹瑱C89S52、溫濕度傳感器SHT10和射頻模塊NRF905構成的無線溫濕度數(shù)據(jù)采集系統(tǒng),具有數(shù)據(jù)采集和運算處理方便簡單的優(yōu)點。另外由于本次設計的程序使用C語言編程,由于許多模塊本身自帶語言,大大減小了編程的難度。本方案的可擴展性比較強,整個程序的程序框架已經(jīng)搭建好,可以繼續(xù)編寫程序完成其他功能。例如:添加語音播報功能;添加超高溫報警功能等。通過這次設計,使我們更加深入的了解了溫度傳感器,無線傳輸模塊,以及單片機的結構功能和具體應用,也使我們對電路PCB板有了更深的認識。在老師和同學們的幫助下,我完成了本次設計,本設計可以實現(xiàn)溫度的無線采集

44、和實時顯示,并且相當精確。我們的電路板雖然簡單,沒有運放等元件,但可以基本上完成此系統(tǒng)的任務,在電源的穩(wěn)定等方面,我也相應的補充改進了我的設計方案。參考文獻1 黃友銳.單片機原理及應用.合肥:合肥工業(yè)大學出版社,2006.11.2 黃智偉.無線發(fā)射與接收電路設計M. 北京:北京航空航天大學出版社,2004.3 陳杰,黃鴻.傳感器與檢測技術.北京:高等教育出版社,2002.84 莢莢慶,王代華,張志杰.基于nRF905 的無線數(shù)據(jù)傳輸系統(tǒng)J.國外電子元器件.2008,(1):29-31.5 李建設.低功耗低成本溫濕度測量儀的設計J.節(jié)能,2006,(05)6 譚浩強. C 程序設計.北京:清華大

45、學出版社,1991.77 孟臣,李敏.數(shù)字式溫濕度傳感器原理與應用J.世界電子元器件,2003 (8):66268.8 Cotter W.塞爾.無線通信設備與系統(tǒng)設計大全M. 張之超等譯.北京:人民郵電出版社,20049JacbMillman,ArvinGrabel:Microeletronics,2ndEdition,McGraw-Hill,I-nc.10 Atmel Coporation.AT89S52.pdf EB/ OL. (2001 - 01 - 07) 2008- 08 http :/ / www. 21icsearch. com/ so. asp.11 Nordic VLSI A

46、SA. nRF905 Product SpecificationS.Norway:Nordic VLSI ASA,200512 劉仲娥 張維新 宋文洋敏感元器件與應用青島海洋大學出版社199346-12513 唐穎單片機原理與應用及C51程序設計北京大學出版社200814-1814 佟玲 楊玉芬 張本華智能溫濕度監(jiān)控系統(tǒng)的組成及發(fā)展農(nóng)機化研究2006-39(3):24-2615 Cheng Huarui Du HongqiAutomatic control system of temperature and humidity in storeroom2001-17(3):17-19附錄A 系統(tǒng)

47、總體電路圖發(fā)射模塊電路圖接收模塊電路圖附錄B nRF905接收程序#include #include #include #include #define uint unsigned int /0 255#define uchar unsigned char/#define BYTE_BIT0 0x01#define BYTE_BIT1 0x02#define BYTE_BIT2 0x04#define BYTE_BIT3 0x08#define BYTE_BIT4 0x10#define BYTE_BIT5 0x20#define BYTE_BIT6 0x40#define BYTE_BIT7

48、 0x80/#define WC 0x00#define RC 0x10#define WTP 0x20#define RTP 0x21#define WTA 0x22#define RTA 0x23#define RRP 0x24bdata unsigned char DATA_BUF;#define DATA7 (DATA_BUF&BYTE_BIT7) != 0)#define DATA0 (DATA_BUF&BYTE_BIT0) != 0)sbit flag =DATA_BUF7;sbit flag1 =DATA_BUF0;#define TxRxBuf_Len 4unsigned ch

49、ar TxRxBufferTxRxBuf_Len;char temp4;uint count=1;sbit TXEN=P13;sbit TRX_CE=P10;sbit PWR=P12;sbit MISO=P03;sbit MOSI=P11;sbit SCK=P14;sbit CSN=P32;sbit AM=P02;sbit DR=P01;sbit CD=P00;/sbit led0=P10;/sbit led1=P12;/sbit led2=P14;uchar seg10=0xC0,0xCF,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90; /09段碼/ucha

50、r seg110=0x02,0xf2,0x24,0x0c,0x98,0x48,0x40,0x1e,0x00,0x08; /09段碼/RF寄存器配置/unsigned char idata RFConf11=0x00, /配置命令/0x4c,0x0c,0x44,0x04,0x04,0xcc,0xcc,0xcc,0xcc,0x58, /CRC充許,8位CRC校驗,外部時鐘信號不使能,16M晶振;bit lcdbit;/80us延時/void Delay(uchar n)uint k;while(n-)for(k=0;k0;i-); /unsigned char SpiRead(void)unsig

51、ned char j;return DATA_BUF;void SpiWrite(unsigned char send)unsigned char i;DATA_BUF=send;for (i=0;i8;i+)if (DATA7) /總是發(fā)送最高位MOSI=1;elseMOSI=0;SCK=1;DATA_BUF=DATA_BUF1;SCK=0;/初始化nRF905/void nRF905Init(void)/初始化寄存器void Config905(void)uchar i;CSN=0; / Spi enable for write a spi command/SpiWrite(WC); /

52、Write config command寫放配置命令for (i=0;i=650us)unsigned char CheckDR(void) /檢查是否有新數(shù)據(jù)傳入 Data Readyif (DR=1&TRX_CE=1 & TXEN=0)/ Delay(50) ;return 1;elsereturn 0;void RxPacket(void) /讀數(shù)據(jù)uchar i;Delay(1);/ TRX_CE=0; / Set nRF905 in standby modeDelay(100);TRX_CE=0;CSN=0; / Spi enable for write a spi commandDelay(1);SpiWrite(RRP);/ Delay(10000);/ Delay(10000); / Read payload commandfor (i = 0 ;i 4 ;i+) / Delay(10000);/ Delay(10000);/ Delay(10000);/ Delay(1

溫馨提示

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

評論

0/150

提交評論