版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 基于SHT71的數(shù)字溫濕度傳感器的實現(xiàn)</p><p><b> 1 緒論</b></p><p><b> 1.1 選題背景</b></p><p> 在工業(yè)方面:芯片的封裝、設備的養(yǎng)護、工廠的裝配環(huán)境無一離不開溫濕度的測量。</p><p> 溫濕度的測量在倉庫
2、管理、工業(yè)生產(chǎn)制造、智能化建筑、科學研究以及日常生活中被廣泛應用,傳統(tǒng)的模擬式溫濕度傳感器需設計信號調(diào)理電路并需要經(jīng)過復雜的校準、標定過程,測量精度難以得到保證,且線性度、重復性、互換性、一致性等方面往往不盡人意。SHT71是瑞士Sensirion公司推出的基于CMOSens技術的新型溫濕度傳感器。該傳感器將SMOS芯片技術與傳感器技術結合起來,發(fā)揮強大的優(yōu)勢互補作用。自60年代以來信號發(fā)生器有了迅速的發(fā)展,出現(xiàn)了函數(shù)發(fā)生器,這個時期的
3、波形發(fā)生器多采用模擬電子技術,由分立元件或模擬集成電路構成,其電路結構復雜,且僅能產(chǎn)生正弦波、方波、鋸齒波和三角波等幾種簡單波形,由于模擬電路的漂移較大,使其輸出的波形的幅度穩(wěn)定性差,而且模擬器件構成的電路存在著尺寸大、價格貴、功耗大等缺點,并且要產(chǎn)生較為復雜的信號波形則電路結構非常復雜。</p><p> 在生活方面:在一定溫度條件下,空氣相對濕度越小,人體汗液蒸發(fā)越快,人的感覺越?jīng)隹臁1本┑貐^(qū)冬季和春季白天
4、一般濕度為 20% 左右,夜晚一般在 70% 左右,由于冬春季節(jié)濕度太小,人們往往有不舒的感覺,有時還出現(xiàn)嘴唇干裂、鼻孔出血、喉頭燥癢等現(xiàn)象??墒牵搅耸⑾募竟?jié),空氣濕度達到 80% 以上時,由于汗液蒸發(fā)緩慢,人們又會感覺酷暑難耐,有時還會中暑或引發(fā)腎病、結核病、關節(jié)炎等疾病。</p><p> 1.2 目的和意義</p><p> 在工農(nóng)業(yè)生產(chǎn)、氣象、環(huán)保、國防、科研、航天等部門,
5、經(jīng)常需要對環(huán)境濕度進行測量及控制。但在常規(guī)的環(huán)境參數(shù)中,濕度是最難準確測量的一個參數(shù)。用干濕球濕度計或毛發(fā)濕度計來測量濕度的方法,早已無法滿足現(xiàn)代科技發(fā)展的需要。這是因為測量濕度要比測量溫度復雜的多,溫度是個獨立的被測量,而濕度卻受其他因素(大氣壓強、溫度)的影響。 </p><p> 此外,濕度的校準也是一個難題。國外生產(chǎn)的濕度標定設備價格十分昂貴近年來,國內(nèi)外在濕度傳感器研發(fā)領域取得了長足進步。濕敏傳感器
6、正從簡單的濕敏元件向集成化、智能化、多參數(shù)檢測的方向迅速發(fā)展,為開發(fā)新一代濕度/溫度測控系統(tǒng)創(chuàng)造了有利條件,也將濕度測量技術提高到新的水平。</p><p> 由瑞士Sensirion推出的 SHTxx系列數(shù)字溫濕度傳感器,基于領先世界的CMOSens ® 數(shù)字傳感技術,具有極高的可靠性和卓越的長期穩(wěn)定性。全量程標定,兩線數(shù)字接口,可與單片機直接相連,大大縮短研發(fā)時間、簡化外圍電路并降低費用。此外,體
7、積微小、響應迅速、低能耗、可浸沒、抗干擾能力強、溫濕一體,兼有露點測量,性價比高,使該產(chǎn)品能夠適于多種場合的應用。</p><p> SHT71是一種全新的基于智能傳感器設計理念的新型傳感器,該傳感器將溫度、濕度傳感器、信號調(diào)理、數(shù)字變換、串行數(shù)字通信接口、數(shù)字校準全部集成到一個高集成度、體積小的芯片當中,實現(xiàn)了溫濕度傳感器的數(shù)字式輸出、且免調(diào)試、免標定、免外圍電路。極大方便了溫濕度傳感器在嵌入式測控領域的應用
8、,因而該傳感器在數(shù)字是溫濕度測控領域有著廣泛的應用前景。同時該傳感器也代表了傳感器技術的發(fā)展方向。</p><p><b> 1.3 發(fā)展現(xiàn)狀</b></p><p> 近年來,國內(nèi)外在濕度傳感器研發(fā)領域取得了長足進步。濕敏傳感器正從簡單的濕敏元件向集成化、智能化、多參數(shù)檢測的方向迅速發(fā)展,為開發(fā)新一代濕度/溫度測控系統(tǒng)創(chuàng)造了有利條件,也將濕度測量技術提高到新的
9、水平。 </p><p> 集成濕度傳感器的性能特點及產(chǎn)品分類 </p><p> 目前,國外生產(chǎn)集成濕度傳感器的主要廠家及典型產(chǎn)品分別為Honeywell公司(HIH-3602、HIH-3605、HIH-3610型),Humirel公司(HM1500、HM1520、HF3223、HTF3223型),Sensiron公司(SHT11、SHT15型)。這些產(chǎn)品可分成以下三種類型:
10、</p><p> 線性電壓輸出式集成濕度傳感器 </p><p> 典型產(chǎn)品有HIH3605/3610、HM1500/1520。其主要特點是采用恒壓供電,內(nèi)置放大電路,能輸出與相對濕度呈比例關系的伏特級電壓信號,響應速度快,重復性好,抗污染能力強。 </p><p> 線性頻率輸出集成濕度傳感器 </p><p>
11、典型產(chǎn)品為HF3223型。它采用模塊式結構,屬于頻率輸出式集成濕度傳感器,在55%RH時的輸出頻率為8750Hz(型值),當上對濕度從10%變化到95%時,輸出頻率就從9560Hz減小到8030Hz。這種傳感器具有線性度好、抗干擾能力強、便于配數(shù)字電路或單片機、價格低等優(yōu)點。 </p><p> 頻率/溫度輸出式集成濕度傳感器 </p><p> 典型產(chǎn)品為HTF3223型。它
12、除具有HF3223的功能以外,還增加了溫度信號輸出端,利用負溫度系數(shù)(NTC)熱敏電阻作為溫度傳感器。當環(huán)境溫度變化時,其電阻值也相應改變并且從NTC端引出,配上二次儀表即可測量出溫度值。 </p><p> 單片智能化溫度/溫度傳感器 </p><p> 2002年Sensiron公司在世界上率先研制成功SHT11、SHT15型智能化溫度/溫度傳感器,其外形尺寸僅為7.6(mm)
13、215;5(mm)×2.5(mm),體積與火柴頭相近。出廠前,每只傳感器都在溫度室中做過精密標準,標準系數(shù)被編成相應的程序存入校準存儲器中,在測量過程中可對相對濕度進行自動校準。它們不僅能準確測量相對溫度,還能測量溫度和露點。測量相對溫度的范圍是0~100%,分辨力達0.03%RH,最高精度為±2%RH。測量溫度的范圍是-40℃~+123.8℃,分辨力為0.01℃。測量露點的精度<±1℃。在測量濕度、
14、溫度時A/D轉(zhuǎn)換器的位數(shù)分別可達12位、14位。利用降低分辨力的方法可以提高測量速率,減小芯片的功耗。SHT11/15的產(chǎn)品互換性好,響應速度快,抗干擾能力強,不需要外部元件,適配各種單片機,可廣泛用于醫(yī)療設備及溫度/濕度調(diào)節(jié)系統(tǒng)中。 </p><p> 芯片內(nèi)部包含相對濕度傳感器、溫度傳感器、放大器、14位A/D轉(zhuǎn)換器、校準存儲器(E2PROM)、易失存儲器(RAM)是、狀態(tài)寄存器、循環(huán)冗余校驗碼(CRC)寄
15、存器、二線串行接口、控制單元、加熱器及低電壓檢測電路。其測量原理是首先利用兩只傳感器分別產(chǎn)生相對濕度、溫度的信號,然后經(jīng)過放大,分別送至A/D轉(zhuǎn)換器進行模/數(shù)轉(zhuǎn)換、校準和糾錯,最后通過二線串行接口將相對濕度及溫度的數(shù)據(jù)送至μC。鑒于SHT11/15輸出的相對濕度讀數(shù)值與被測相對濕度呈非線性關系,為獲得相對濕度的準確數(shù)據(jù),必須利用μC對讀數(shù)值進行非線性補償。此外當環(huán)境溫度TA≠+25℃時,還需要對相對濕度傳感器進行溫度補償。 </p
16、><p> 芯片內(nèi)部有一個加熱器。將狀態(tài)寄存器的第2位置“1”時該加熱器接通電源,可使傳感器的溫度大約升高5℃,電源電流亦增加8mA(采用+5V電源)。使用加熱器可實現(xiàn)以下三種功能:①通過比較加熱前后測出的相對濕度值及溫度值,可確定傳感器是否正常工作;②在潮濕環(huán)境下使用加熱器,可避免傳感器凝露;③測量露點時也需要使用加熱器。 </p><p> 露點也是濕度測量中的一個重要參數(shù),它表示在水
17、汽冷卻過程中最初發(fā)生結露的溫度。為了計算露點,Sensirion公司還向用戶提供一個測量露點的程序“SHT xdp.bsx”。利用該程序可以控制內(nèi)部加熱器的通、斷,再根據(jù)所測得的溫度值及相對濕度值計算出露點。在命令響應界面上運行此程序時,計算機屏幕上就顯示提示符“>”。用戶首先從鍵盤上輸入字母“S”,然后輸入相應的數(shù)字,即可獲得下述結果: </p><p> 輸入數(shù)字“1”時,測量并顯示出攝氏溫度dgC=
18、xx.x; </p><p> 輸入數(shù)字“2”時,測量并顯示出相對濕度%RH=xx.x; </p><p> 輸入數(shù)字“3”時,打開加熱器,使傳感器溫度升高5℃; </p><p> 輸入數(shù)字“4”時,關閉加熱器,使傳感器降溫; </p><p> 輸入數(shù)字“5”時,顯示露點溫度dpC=xx.x。 </p><p&
19、gt; 集成濕度傳感器典型產(chǎn)品的技術指標 </p><p> 集成濕度傳感器的測量范圍一般可達到0~100%。但有的廠家為保證精度指標而將測量范圍限制為10%~95%。設計+3.3V低壓供電的濕度/溫度測試系統(tǒng)時,可選用SHT11、SHT15傳感器。這種傳感器在測量階段的工作電流為550μA,平均工作電流為28μA(12位)或2μA(8位)。上電時默認為休眠模式(Sleep Mode),電源電流僅為0.3μA
20、(典型值)。測量完畢只要沒有新的命令,就自動返回休眠模式,能使芯片功耗降至最低。此外,它們還具有低電壓檢測功能。當電源電壓低于+2.45V±0.1V時,狀態(tài)寄存器的第6位立即更新,使芯片不工作,從而起到了保護作用。</p><p><b> 1.4 本章小結</b></p><p> 到此為止,介紹了一般溫濕度傳感器在現(xiàn)代的測量工作現(xiàn)狀,人們提出了智能
21、化溫濕度傳感器。智能溫濕度傳感器的出現(xiàn)使測試儀器與計算機之間的界限消失,開創(chuàng)了測試儀器的新時代。溫濕度傳感器將高速發(fā)展的計算機技術、電子技術、通信技術和測試技術結合起來,開創(chuàng)了個人計算機儀器時代,是測試儀器工業(yè)發(fā)展的一個里程碑。</p><p><b> 2 設計思路分析</b></p><p> 2.1 SHT71性能概述</p><p&
22、gt; SHT71產(chǎn)品是一款高度集成的溫濕度傳感器芯片,提供全量程標定的數(shù)字輸出。它采用專利CMOSensTM技術,確保哦產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電容性聚合體溫度敏感元件和一個用能隙材料制成的溫度敏感元件,這兩個敏感元件與一個14位的A/D轉(zhuǎn)換器以及一個串行接口電路設計在同一個芯片上面,如圖6所示。該傳感器品質(zhì)卓越、響應超快、抗干擾能力強、極高的性價比。廣泛應用在暖通空調(diào),數(shù)據(jù)記錄儀,測試及檢測設備,自動
23、控制等領域的產(chǎn)品上。</p><p> 圖6 SHT71的內(nèi)部功能框圖</p><p> 每個SHT71傳感器芯片都在極為精確的恒溫室中進行標定,以鏡面冷凝式露點儀為參照。通過標定得到的校準系數(shù)以程序形式在芯片本身的OTP內(nèi)存中。通過兩線制的串口與內(nèi)部的電壓調(diào)整,使外圍系統(tǒng)集成變得快速而簡單。體積微小,功耗極低等優(yōu)點使其在各類應用中那個成為首選器件。4針單排引腳封裝,如圖7所示。&l
24、t;/p><p> 圖7 SHT71的外觀和實物比例(和火柴頭比較)</p><p> 2.2 SHT71的功能說明</p><p> 分別率為8位或12位的相對濕度和分別率為12位或14位的溫度測量;</p><p> 兩線制數(shù)字接口,與單片機接口時,只需要額外電源和地線,幾乎不需要外圍電路(只需要一個上拉電阻和一個小電容即可);&
25、lt;/p><p> 基于請求式測量,低耗能;</p><p><b> 超快響應時間;</b></p><p> 小間距4針引腳封裝。</p><p> 2.3 SHT71的引腳尺寸和說明</p><p> SHT71的尺寸如圖8所示,圖中單位為mm。</p><p&
26、gt; 圖8 SHT71的尺寸圖 </p><p> 表1列出了SHT71的四個引腳的名稱和說明,下面進行詳細的介紹。</p><p> 表1 SHT711的引腳說明</p><p> 電源引腳(VCC,GND):SHT71的供電電壓為2.4V到5.5V。傳感器上電后,要等待11ms來完成“休眠”狀
27、態(tài)。在此期間無須發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個100nF的濾波電容。</p><p> 串行時鐘輸入(SCK):SCK用于微處理器與SHT711之間的通訊同步。由于接口包含了完全靜態(tài)邏輯,因而不存在最小SCK頻率。</p><p> 串行數(shù)據(jù)(DATA):DATA三態(tài)雙向數(shù)據(jù)線用于數(shù)據(jù)的讀取。DATA在SCK時鐘下降沿之后改變狀態(tài),并僅在SCK時鐘上升沿有效。數(shù)
28、據(jù)傳輸期間,在SCK時鐘高電平時,DATA必須保持穩(wěn)定。為避免信號沖突,微處理器應驅(qū)動DATA在低電平,需要一個外部的上拉電阻將信號提拉至高電平,如圖9所示。</p><p> 圖9 51單片機和SHT71的接口</p><p><b> 3 硬件電路設計</b></p><p> 3.1 系統(tǒng)硬件電路設計與分析</p>
29、<p><b> 系統(tǒng)硬件的原理圖:</b></p><p> 圖10 系統(tǒng)硬件原理圖</p><p><b> 硬件電路實際連線:</b></p><p> 了解了硬件電路各個芯片的引腳圖,也知道了系統(tǒng)硬件的原理圖接下來就可以用protel軟件畫硬件連接圖,所得出的圖如下:</p>&
30、lt;p> 圖11 硬件電路連接圖</p><p> 按照protel軟件得出的圖連接的實物照片如下:</p><p> 圖12 硬件器件實物連接的照片</p><p><b> 圖12 實物圖</b></p><p><b> 4 軟件設計</b></p>&
31、lt;p><b> 4.1 程序流程</b></p><p> SHT71一次測量的流程如圖所示,測量的溫度和濕度,通過單片機的串口發(fā)送給計算機,在計算機上可以觀察到測量到的結果。</p><p> 圖13 SHT71測量流程圖</p><p> 4.2 源程序清單</p><p><b&g
32、t; //頭文件</b></p><p> #include <reg52.h></p><p> #include <intrins.h></p><p><b> //測量命令</b></p><p> #define TEMPERATURE0x03</p>
33、;<p> #define HUMINITY0x05</p><p> //定義SHT71與單片機的通信引腳</p><p> sbit SCL = P3^1;//時鐘線</p><p> sbit SDA = P3^2;//數(shù)據(jù)線</p><p><b> //函數(shù)預定義</b>&
34、lt;/p><p> unsigned char MCU_receive_byte(void);</p><p> void Sent_command(unsigned char command);</p><p> void MCU_receive_word(void);</p><p> void SHT_ACK();</p&g
35、t;<p> void SHT_end(void);</p><p> void SHT_ini(void);</p><p> void SHT_reset(void);</p><p> void SHT_start();</p><p> void SHT_measurement(unsigned char me
36、asure);</p><p> void UART_ini(void);</p><p> void USART_RX_interrupt(void);</p><p> void UART_Send_Byte(unsigned char Data);</p><p> void Delay(unsigned char time);
37、</p><p><b> //</b></p><p> //------------------------------</p><p><b> //</b></p><p><b> //主函數(shù)</b></p><p><b&g
38、t; //</b></p><p> //------------------------------</p><p><b> //</b></p><p> void main(void)</p><p><b> { </b></p><p
39、><b> EA = 0;</b></p><p> UART_ini();</p><p> SHT_ini();</p><p><b> EA = 1;</b></p><p><b> for(;;)</b></p><p>&l
40、t;b> {</b></p><p> Delay(10);//延時0.75S</p><p> SHT_measurement(TEMPERATURE);//溫度測量</p><p> MCU_receive_word();</p><p> Delay(10);</p><
41、p> SHT_measurement(HUMINITY);//濕度測量</p><p> MCU_receive_word();</p><p><b> }</b></p><p><b> }</b></p><p><b> //</b></p
42、><p> //------------------------------</p><p><b> //</b></p><p> //SHT71初始化</p><p><b> //</b></p><p> //---------------------
43、---------</p><p><b> //</b></p><p> void SHT_ini(void)</p><p><b> { </b></p><p> SHT_reset();//SHT71軟復位</p><p><b>
44、; Delay(1);</b></p><p><b> }</b></p><p><b> //</b></p><p> //------------------------------</p><p><b> //</b></p>
45、<p> //SHT71 復位</p><p><b> //</b></p><p> //------------------------------</p><p><b> //</b></p><p> void SHT_reset(void)</p&g
46、t;<p><b> {</b></p><p> unsigned char i;</p><p><b> SDA = 1;</b></p><p><b> SCL = 0;</b></p><p> for (i=0;i<20 ;i++ )
47、//至少9個Clock</p><p><b> {</b></p><p><b> SCL = 1;</b></p><p><b> _nop_();</b></p><p><b> SCL = 0;</b></p>
48、<p><b> }</b></p><p><b> }</b></p><p><b> //</b></p><p> //------------------------------</p><p><b> //</b><
49、;/p><p> //SHT71 啟動一次測量</p><p><b> //</b></p><p> //------------------------------</p><p><b> //</b></p><p> void SHT_measur
50、ement(unsigned char measure)</p><p><b> {</b></p><p> SHT_start();//啟動</p><p> Sent_command(measure);//發(fā)送命令</p><p> SHT_ACK();//等待轉(zhuǎn)換結束&
51、lt;/p><p> MCU_receive_word();//接收測量結果</p><p> SHT_end();//結束一次測量</p><p><b> }</b></p><p><b> //</b></p><p> //-------
52、-----------------------</p><p><b> //</b></p><p> //SHT71啟動信號</p><p><b> //</b></p><p> //------------------------------</p><p&
53、gt;<b> //</b></p><p> void SHT_start()</p><p><b> { </b></p><p><b> SCL = 0;</b></p><p><b> SDA = 1;</b></p>
54、<p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> SCL = 1;</b></p><p><b> _nop_();</b></p><p><b>
55、 _nop_();</b></p><p><b> SDA = 0;</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> SCL = 0;</b>
56、</p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> SCL = 1;</b></p><p><b> _nop_();</b></p><p>
57、;<b> _nop_();</b></p><p><b> SDA = 1;</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> SCL = 0;
58、</b></p><p><b> }</b></p><p><b> //</b></p><p> //------------------------------</p><p><b> //</b></p><p> /
59、/SHT71 控制命令發(fā)送</p><p> //command =0x03---溫度</p><p> //0x05---濕度</p><p><b> //</b></p><p> //------------------------------</p><p>
60、<b> //</b></p><p> void Sent_command(unsigned char command)</p><p><b> {</b></p><p> unsigned char model = 0x80;</p><p> unsigned char i;
61、 </p><p> for(i=0;i<7;i++) </p><p><b> {</b></p><p><b> SCL = 0;</b></p><p> if((command & model) == 0)</p><p&g
62、t;<b> {</b></p><p><b> SDA = 0;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p>&l
63、t;p><b> SDA = 1;</b></p><p><b> }</b></p><p><b> SCL = 1;</b></p><p> model = model>>1; </p><p><b> } </b&
64、gt;</p><p><b> SCL = 0;</b></p><p> if((command & model) == 0)</p><p><b> {</b></p><p><b> SDA = 0;</b></p><p>
65、<b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> SDA = 1;</b></p><p><b> }</b></p><
66、p><b> SCL = 1; </b></p><p><b> _nop_();</b></p><p> SCL = 0; </p><p> while(SDA == 1)</p><p><b> {</b></p><p>
67、;<b> }</b></p><p><b> SCL = 1;</b></p><p><b> _nop_();</b></p><p><b> SCL = 0;</b></p><p><b> _nop_();</b
68、></p><p><b> }</b></p><p><b> //</b></p><p> //------------------------------</p><p><b> //</b></p><p> //SH
69、T71 等待應答信號</p><p><b> //</b></p><p> //------------------------------</p><p><b> //</b></p><p> void SHT_ACK()</p><p><b>
70、; {</b></p><p> while(SDA == 1)</p><p><b> {</b></p><p><b> }</b></p><p><b> }</b></p><p><b> //<
71、/b></p><p> //------------------------------</p><p><b> //</b></p><p> //SHT71 接收一個字節(jié)</p><p><b> //</b></p><p> //-----
72、-------------------------</p><p><b> //</b></p><p> unsigned char MCU_receive_byte(void)</p><p><b> { </b></p><p> unsigned char i;</p&
73、gt;<p> unsigned char model = 0x00;</p><p> unsigned char temp;</p><p><b> SCL = 0;</b></p><p><b> _nop_();</b></p><p> for(i=0;i<
74、;8;i++)</p><p><b> {</b></p><p><b> SCL = 1;</b></p><p> if(SDA == 0)</p><p><b> {</b></p><p><b> temp = 0;&
75、lt;/b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> temp = 1;</b></p><p><b&g
76、t; }</b></p><p> model = model|(temp<<(7-i));</p><p><b> SCL = 0;</b></p><p><b> }</b></p><p> SDA = 0; //</p><p&
77、gt;<b> _nop_();</b></p><p><b> SCL = 1; </b></p><p><b> _nop_();</b></p><p><b> SCL = 0; </b></p><p> return model;
78、</p><p><b> }</b></p><p><b> //</b></p><p> //------------------------------</p><p><b> //</b></p><p> //SHT71 結
79、束一次測量</p><p><b> //</b></p><p> //------------------------------</p><p><b> //</b></p><p> void SHT_end(void)</p><p><b&g
80、t; {</b></p><p><b> SCL = 0;</b></p><p><b> SDA = 1;</b></p><p><b> }</b></p><p><b> //</b></p><p&
81、gt; //------------------------------</p><p><b> //</b></p><p> //SHT71 接收結果</p><p><b> //</b></p><p> //------------------------------&
82、lt;/p><p><b> //</b></p><p> void MCU_receive_word(void)</p><p><b> { </b></p><p> unsigned char temp;</p><p> temp = MCU_receiv
83、e_byte();//將測量結果通過串口發(fā)送</p><p> UART_Send_Byte(temp);</p><p> temp = MCU_receive_byte();</p><p> UART_Send_Byte(temp);</p><p><b> }</b></p>
84、<p> //-----------------------------</p><p><b> //</b></p><p> //軟件延時(非精確)</p><p><b> //</b></p><p> //-----------------------------
85、</p><p> void Delay(unsigned char time)</p><p><b> {</b></p><p> unsigned char i;</p><p> unsigned int j;</p><p> for (i = 0;i < time;i
86、++)</p><p><b> {</b></p><p> for (j=0;j<30000;j++)</p><p><b> {</b></p><p><b> }</b></p><p><b> }</b&g
87、t;</p><p><b> }</b></p><p> //---------------------------------</p><p><b> //</b></p><p> //單片機晶振 22.1184MHZ</p><p> //串行口初
88、始化設置</p><p> //方式1,8數(shù)據(jù)位,一個停止位,無奇偶校驗</p><p> //串口中斷允許,波特率9600bps</p><p><b> //</b></p><p> //------------------------------------</p><p>
89、; void UART_ini(void)</p><p><b> {</b></p><p> SCON = 0x50;//方式1,波特率可變,8bits,接受允許 </p><p> PCON&= 0x7F;//SMOD = 0 </p><p
90、> TMOD |= 0x20;//timer1 mode 2 </p><p> TL1 = 0xfa;//|f </p><p> //|波特率=---------------------- </p><p> TH1 = 0xfa;//|3
91、2*2^smod*12*(256-TL1) </p><p> TCON |= 0x40;//start </p><p> TI = 0; </p><p><b> }</b>&l
92、t;/p><p> //---------------------------------------------------------------</p><p><b> //</b></p><p> //串口發(fā)送單字節(jié)程序</p><p><b> //</b></p>
93、<p> //----------------------------------------------------------------</p><p> void UART_Send_Byte(unsigned char Data)</p><p><b> {</b></p><p> SBUF = Da
94、ta;</p><p> while (TI == 0)//等待發(fā)送完畢</p><p><b> {</b></p><p><b> }</b></p><p><b> TI = 0;</b></p><p><b>
95、; }</b></p><p> //---------------------------------------------------------------</p><p><b> //</b></p><p> //串口中斷服務程序</p><p><b> //</
96、b></p><p> //----只有接收使用</p><p><b> //</b></p><p> //----------------------------------------------------------------</p><p> void RX_INT(void) i
97、nterrupt 4 using 3</p><p><b> {</b></p><p> if (RI==1)</p><p><b> {</b></p><p><b> do </b></p><p><b> {</
98、b></p><p><b> RI = 0;</b></p><p><b> }</b></p><p> while (RI != 0); </p><p><b> //未指定</b></p><p><b> }<
99、;/b></p><p><b> else</b></p><p><b> { </b></p><p><b> }</b></p><p><b> }</b></p><p> 5 系統(tǒng)運行及結果分析&l
100、t;/p><p> 系統(tǒng)測試是檢驗系統(tǒng)性能的重要工作,本實驗通過在室溫下測量房間內(nèi)的溫濕度來檢查設計的正確性。通過對樣本信號的采集獲取數(shù)字信號,并通過串行接口傳輸?shù)絇C機上,在PC機上直觀的讀出溫濕度。</p><p> 5.1 測試結果及其分析</p><p> 測量結果在PC機上顯示如圖</p><p> 圖14 PC機數(shù)據(jù)觀察界面
101、</p><p> 本論文詳細介紹了數(shù)字溫濕度傳感器SHT71的采集過程。在實際應用SHT71測量的時候,需要注意下面幾點:</p><p> 為了保證自身溫度低于0.1攝氏度,SHT71的激活時間不要超過15%(例如,對應12位精度測量,每秒最多進行3次測量)。</p><p> 傳感器的應用環(huán)境要求:如果一些大分子與傳感器內(nèi)部的濕敏元件接觸,很難再揮發(fā)到空
102、氣中,會阻塞空氣中的水分子滲入,導致傳感器反應不靈敏,測量濕度偏高。</p><p> 在使用過程中,傳感器要遠離塑料、硅膠、香水等大分子材料和物質(zhì)。</p><p> 通常情況下,需要在數(shù)據(jù)線上DATA上加一個10到20千歐姆的上拉電阻。</p><p> SCK的頻率選擇可以不作要求,一般建議SCK的頻率范圍為4到6MHz,最高頻率不要超過10MHz。&l
103、t;/p><p> 另外需要注意的是,不能使用標準的I2C總線的時序來對SHT71進行操作,差別在于起/停順序,由SHT71啟動傳輸,以及SHT71對測量結束的標識。</p><p><b> 5.2 本章小結</b></p><p> 本文設計的溫濕度測量系統(tǒng)由于采用了高集成度和高精度的溫濕度數(shù)字傳感器SHT7l和合理的連接方式,既節(jié)省了單
104、片機I/O口資源和使系統(tǒng)整體設計成本下降,又避免了逐個測量時造成的整體測量滯后問題和提高了測量精度,同時大大簡化了單片機的程序編寫。所以該系統(tǒng)較傳統(tǒng)溫室測量系統(tǒng)在性能上有了很大的提高,可在現(xiàn)代化溫室控制系統(tǒng)中推廣應用。</p><p><b> 6 結束語</b></p><p> 基于SHT71的數(shù)字溫濕度傳感器的實現(xiàn)的設計從20010年2月1日開始到2010
105、年5月27日完成,基本功能已經(jīng)實現(xiàn),當然還有待進一步的完善。在做這次畢業(yè)設計的過程中,遇到了各種各樣的問題,在解決這些問題的過程中,收獲了許多的知識,從中也得到了很多體會。</p><p><b> 1、主要工作</b></p><p> 本次設計是我做過的真正意義上的一次完整的設計。從畢業(yè)設計題目的選定,到設計的完成,其中完成的主要工作如下:</p>
106、<p> 根據(jù)畢業(yè)設計課題制定系統(tǒng)總體方案;</p><p> 完成對主芯片SHT71的認識、學習、理解,為設計應用做準備;</p><p> 初步確定系統(tǒng)所需要的器材,并認識和學會所選的器材的工作特性和使用方法;</p><p> 結合所選硬件,編寫程序代碼;</p><p> 完成系統(tǒng)硬件的設計,電路的原理圖和電路
107、板的焊接工作;</p><p> 完成系統(tǒng)軟件和硬件的連接、調(diào)試和更改完善工作。</p><p><b> 2、設計體會</b></p><p> 經(jīng)過半學期的努力,畢業(yè)設計終于完成了。在沒有做畢業(yè)設計以前,覺得畢業(yè)設計只是對這幾年來所學知識的單純總結,但是通過這次做畢業(yè)設計發(fā)現(xiàn)自己的看法有點太片面。畢業(yè)設計不僅是對前面所學知識的一種檢驗
108、,而且也是對自己能力的一種提高。</p><p> 通過這次畢業(yè)設計使我明白了自己原來知識還比較欠缺。自己要學習的東西還太多,以前老是覺得自己什么東西都會,什么東西都懂,有點眼高手低。通過這次畢業(yè)設計,我才明白學習是一個長期積累的過程,在以后的工作、生活中都應該不斷的學習,努力提高自己知識和綜合素質(zhì)。</p><p> 在整個設計中我懂得了許多東西,也培養(yǎng)了獨立思考的能力,也大大提高了
109、動手的能力,體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅,這些樹立了對自己工作能力的信心,相信會對今后的學習工作生活有著非常重要的影響。雖然這個設計做得還有缺陷,但是在設計過程中所學到的東西是這次畢業(yè)設計的最大收獲和財富,使我終身受益。</p><p> 值得強調(diào)的是,在設計中必需有嚴謹?shù)墓ぷ髯黠L,仔細的分析需求,認真查詢資料,擬定合理的工作計劃??煽啃詫τ谝粋€成熟的系統(tǒng)來說非常重要,在設計時考慮問題越多,那么
110、調(diào)試的時候出現(xiàn)的問題的概率就越小。設計中的調(diào)試是一份艱巨而有意義的工作,它既能檢驗系統(tǒng)的錯誤、缺陷,也能引導新方案的提出和驗證。</p><p> 在畢業(yè)設計完成的過程中,還深深體會到交談和相互討論的重要性。與老師們的交談,可以把握工作的方向;與同學討論,可以獲得新的方法。只有思想和信息的傳遞,畢業(yè)設計才可能完成。此外,還得出一個結論:知識必須通過應用才能實現(xiàn)其價值!有些東西以為學會了,但真正到用的時候才發(fā)現(xiàn)是
111、兩回事,所以我認為只有到真正會用的時候才是真的學會了。</p><p><b> 參考文獻</b></p><p> [1]SHT1x/SHT7x Humidity &Temperature Sensor Datasheet 2005</p><p> [2]AT89S52 Datasheet 2004</p>&l
112、t;p> [3]王建校,楊建國,寧改娣,危建國51系列單片機及C51程序設計 2002</p><p> [4]龔沛曾,陸慰民,楊志強VisualBasic程序設計教程(6.0版) 2003</p><p> [5]Michael J Pont.周敏時間觸發(fā)嵌入式系統(tǒng)設計模式 2004</p><p> [6]楊金生,田志宏基于SHT71的溫濕度無線遠
113、程監(jiān)控系統(tǒng)[期刊論文]-天津科技大學學報 2009(2)</p><p> [7]劉毓聞,陳小平基于GSM的儀器工作環(huán)境監(jiān)測系統(tǒng)的研制[期刊論文]-通信技術 2009(4)</p><p> [8]方威,孫玉坤基于SHT75的溫濕度監(jiān)測網(wǎng)絡設計[期刊論文]-農(nóng)機化研究 2009(3)</p><p> [9]郭鎖利,姜柯庫房環(huán)境監(jiān)控系統(tǒng)從節(jié)點的設計與應用研究[
114、期刊論文]-自動化儀表 2008(10)</p><p> [10]齊秋紅,馬斌,韓中華,趙健基于SHT11的智能建筑室內(nèi)溫濕度檢測[期刊論文]-低壓電器 2008(18)</p><p> [11]倪鳴,張明基于FPGA的場強和溫濕度測量系統(tǒng)的設計[期刊論文]-工業(yè)控制計算機 2008(05)</p><p> [12]李志強,黃順.郭華新基于SHT10的數(shù)
115、字溫濕度計設計[期刊論文]-廣西輕工業(yè) 2007(11)</p><p> [13]張琳娜,劉武發(fā).傳感檢測技術及應用.中國計量出版社,1999</p><p> [14]李建民.單片機在溫度控制系統(tǒng)中的應用.江漢大學學報,2006.6</p><p> [15]張毅剛、彭喜元、姜守達、喬立巖.新編MCS-51系列單片機應用設計.哈爾濱工業(yè)大學出版社,2003
116、.6</p><p> [16]潘其光.常用測溫儀表技術問答.國防工業(yè)出版社,1999</p><p> [17]王森.儀表使用數(shù)據(jù)手冊.化學工業(yè)出版社,1998.7</p><p> [18]李華. MCS-51系列單片機應用接口技術.北京航空航天大學出版,2003</p><p><b> 致謝</b><
117、;/p><p> 本論文的研究工作是在我的指導老師***教授的精心指導和悉心關懷下完成的,在我的畢業(yè)設計和論文撰寫工作中無不傾注著xx老師辛勤的汗水和心血。在我最困難的時候,*老師給我了無私的幫助和關懷。xx老師嚴謹治學的態(tài)度、淵博的知識、無私的奉獻精神使我受益匪淺。從尊敬的老師身上,我不僅學到了扎實、寬廣的專業(yè)知識,也學到了做人的道理。在此,我向xx老師表示最誠摯的敬意和最衷心的感謝。</p>&l
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于sht71的數(shù)字溫濕度傳感器的實現(xiàn)-電子信息科學與技術專業(yè)本科畢業(yè)設計
- 基于sht1171智能傳感器的溫濕度檢測-畢業(yè)論文外文翻譯
- 畢業(yè)論文外文翻譯-基于sht1171智能傳感器的溫濕度檢測
- ZigBee溫濕度傳感器設計畢業(yè)論文.doc
- 外文翻譯----數(shù)字溫濕度傳感器(sht 1x sht 7x)
- 溫濕度傳感器系統(tǒng)的原理和設計畢業(yè)論文
- 溫濕度傳感器的畢業(yè)設計
- 室內(nèi)溫濕度傳感器
- 基于低功耗的數(shù)字溫濕度傳感器設計【畢業(yè)設計】
- 基于sht71的溫濕度采集系統(tǒng)的設計-自動化畢業(yè)設計說明書
- 溫濕度傳感器.rar
- 溫濕度傳感器畢業(yè)設計----基于51單片機的溫濕度傳感器的設計與制作
- 數(shù)字溫濕度傳感器dht11
- 基于低功耗的數(shù)字溫濕度傳感器設計【畢業(yè)設計】
- 溫濕度傳感器.rar
- 常用溫濕度傳感器
- dht11數(shù)字溫濕度傳感器設計
- 室內(nèi)外溫濕度傳感器
- 管道式溫濕度傳感器
- 高精度溫濕度傳感器
評論
0/150
提交評論