版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于dht11的溫度濕度監(jiān)測系統(tǒng)班級:計科xx班姓名:xx指導老師:xx完成時間:2010年12月10日一:選題背景隨著電子科技的迅速發(fā)展,對倉庫、工廠、博物館等等地方溫濕度監(jiān)測系統(tǒng)的要求不斷增高,從而也促進自動檢測系統(tǒng)的迅速發(fā)展,本文詳細敘述一個計算機溫濕度自動檢測系統(tǒng)的總體結(jié)構(gòu),設(shè)計原則及具體性能指標。由于系統(tǒng)具有較高的精度,反應速度快,在環(huán)境測量方面具有很好的應用前景。防潮、防霉、防腐、防爆是倉庫、工廠等地方日常工作的重要內(nèi)容,是衡量倉庫、工廠等地方管理質(zhì)量的重要指標。它直接影響到儲備物資的使用壽命和工作可靠性。為保證日常工作的順利進行,首要問題是加強倉庫和工廠內(nèi)溫度與濕度的監(jiān)測工作。但
2、傳統(tǒng)的方法是用與濕度表、毛發(fā)濕度表、雙金屬式測量計和濕度試紙等測試器材,通過人工進行檢測,對不符合溫度和濕度要求的庫房進行通風、去濕和降溫等工作。這種人工測試方法費時費力、效率低,且測試的溫度及濕度誤差大,隨機性大。因此我們需要一種造價低廉、使用方便且測量準確的溫濕度測量儀。隨著人們生活水平的提高,人們逐漸對溫濕度變得敏感起來,對于溫度濕度的了解,有助于人們的生活起居。有時候需要知道空氣中的溫度濕度,以便于出行和穿戴的選擇,有時候需要知道太陽能熱水器的水溫,以便于洗浴。為了能實時了解空氣中的溫度和濕度,有必要制作一種測量溫度和濕度的儀器。有些地方,如博物館,一些文物必須保存在適合的溫度濕度范圍
3、內(nèi),以免文物長時間接觸空氣中的水分而造成文物損壞,而文物保存在適合的溫度濕度范圍內(nèi),其代價又太大,有時難以承受。所以,無論如何,都有必要實時監(jiān)控空氣中的溫度濕度,必然需要一種價格低廉,使用方便的測量儀器來監(jiān)控溫度和濕度。二:需求分析dht11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復合傳感器。它應用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個ntc測溫元件,并與一個高性能8位單片機相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應、抗干擾能力強、性價比極高等優(yōu)點。每個dht11傳感器都在極為精確的濕度校驗室中進行校準。
4、校準系數(shù)以程序的形式儲存在otp內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應用甚至最為苛刻的應用場合的最佳選則。產(chǎn)品為 4 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。應用領(lǐng)域 暖通空調(diào) 測試及檢測設(shè)備 汽車 數(shù)據(jù)記錄器 消費品 自動控制 氣象站 家電濕度調(diào)節(jié)器 醫(yī)療 除濕器三:總體設(shè)計方案() 設(shè)計思路本系統(tǒng)采用已有的elite-iii單片機開發(fā)板,以elite-iii單片機開發(fā)板為核心,只需要加入少量的外圍器件dht11即可實現(xiàn)溫濕度的監(jiān)控,不必另外購買
5、器件,方面簡單,可靠性高。根據(jù)dht11的說明,溫度和濕度的顯示至少為六位,溫度和濕度的顯示各三位,兩位整數(shù),一位小數(shù),需要六個數(shù)碼管。由于本實驗加入了時間監(jiān)控,所以增加了矩陣鍵盤,以控制時間的顯示和溫濕度的顯示。(2) 應用技術(shù)分析本系統(tǒng)采用了以下關(guān)鍵技術(shù):1、 單片機最小系統(tǒng)2、 數(shù)碼管顯示3、 矩陣鍵盤4、 時鐘5,dht11溫濕度監(jiān)控(3) 設(shè)計難點本系統(tǒng)的設(shè)計有如下幾個難點第一,本系統(tǒng)涉及的關(guān)鍵技術(shù)都比較簡單,但實現(xiàn)起來有難度,尤其是各個程序模塊連接的時候容易出現(xiàn)問題;第二,本系統(tǒng)關(guān)于dht11的程序編寫有難度,dht11使用的是單總線傳輸,因此必須對總線有一定的了解;第三,本系統(tǒng)由
6、于借用elite-iii單片機開發(fā)板,開發(fā)板上的矩陣鍵盤和數(shù)碼管使用了相同的引腳p2.0和p2.1,硬件上設(shè)置有點問題,程序編寫的難度加大。四:硬件設(shè)計(1)本系統(tǒng)的關(guān)鍵在于數(shù)字溫濕度傳感器dht11,下面是關(guān)于dht11說明:型號測量范圍測濕精度測溫精度分辨力封裝dht112090rh 0505rh214針單排直插1、傳感器性能說明參數(shù)條件mintypmax單位濕度分辨率111%rh16bit重復性1%rh精度254%rh0505%rh互換性可完全互換量程范圍03090%rh252090%rh502080%rh響應時間1/e(63%)25,1m/s 空氣61015s遲滯1%rh長期穩(wěn)定性典型
7、值1%rh/yr溫度分辨率111161616bit重復性1精度12量程范圍050響應時間1/e(63%)630s2、 接口說明 建議連接線長度短于20米時用5k上拉電阻,大于20米時根據(jù)實際情況使用合適的上拉電阻3、電源引腳dht11的供電電壓為35.5v。傳感器上電后,要等待 1s 以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。電源引腳(vdd,gnd)之間可增加一個100nf 的電容,用以去耦濾波。4、串行接口 (單線雙向)data 用于微處理器與 dht11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說明,當前小數(shù)部分用于以后擴展,現(xiàn)
8、讀出為零.操作流程如下:一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù) +8bit校驗和數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。用戶mcu發(fā)送一次開始信號后,dht11從低功耗模式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后,dht11發(fā)送響應信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分數(shù)據(jù).從模式下,dht11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開始信號,dht11不會主動進
9、行溫濕度采集.采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。1.通訊過程如圖1所示圖1總線空閑狀態(tài)為高電平,主機把總線拉低等待dht11響應,主機把總線拉低必須大于18毫秒,保證dht11能檢測到起始信號。dht11接收到主機的開始信號后,等待主機開始信號結(jié)束,然后發(fā)送80us低電平響應信號.主機發(fā)送開始信號結(jié)束后,延時等待20-40us后, 讀取dht11的響應信號,主機發(fā)送開始信號后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。圖2總線為低電平,說明dht11發(fā)送響應信號,dht11發(fā)送響應信號后,再把總線拉高80us,準備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時隙開始,高電平的長短定了
10、數(shù)據(jù)位是0還是1.格式見下面圖示.如果讀取響應信號為高電平,則dht11沒有響應,請檢查線路是否連接正常.當最后一bit數(shù)據(jù)傳送完畢后,dht11拉低總線50us,隨后總線由上拉電阻拉高進入空閑狀態(tài)。數(shù)字0信號表示方法如圖4所示 圖4數(shù)字1信號表示方法.如圖5所示 圖55、 測量分辨率測量分辨率分別為 8bit(溫度)、8bit(濕度)。6、電氣特性vdd=5v,t = 25,除非特殊標注參數(shù)條件mintypmax單位供電 dc355.5v供電電流測量0.52.5ma平均0.21ma待機100150ua采樣周期秒1次注:采樣周期間隔不得低于1秒鐘。(2) 硬件設(shè)計電路圖如下所示:(3) eli
11、te-iii單片機開發(fā)板五:軟件設(shè)計(1)本系統(tǒng)的主要程序如下所示:/2010年12月2日/作者:xx/基于dht11的溫濕度監(jiān)控系統(tǒng)(可以顯示監(jiān)測時間)#include /51芯片管腳定義頭文件#define uchar unsigned char#define uint unsigned intsbit dht=p12;/dht1引腳定義/74ls138譯碼電路引腳定義,鍵盤,數(shù)碼管,點陣使用時都需要它sbit pa=p14;sbit pb=p15;sbit pc=p16;/74hc138a.b.c輸入端,控制數(shù)碼管段選sbit poe=p17;/74hc138使能端/全局變量uchar
12、i,j;uint s;/dht11變量定義uchar bdata dht_data;/存儲dht11發(fā)來的一個字節(jié)的數(shù)據(jù)uchar t1,t2,t3,t4,t5;/存放dht11發(fā)來的一個字節(jié)的數(shù)據(jù)uchar dht_tab5;/存放dht11發(fā)來的數(shù)據(jù)/矩陣鍵盤uchar key,key_value;/讀取鍵碼/時鐘電路(計時)uchar t_count,t_hour;/計數(shù)毫秒和月uint t_time;/計數(shù)分uchar mod;/時間修正(dht11測溫度占用)/數(shù)碼管顯示值(共陽極)uchar code tab17=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82
13、,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00;/0至f共16個數(shù),全亮/延時函數(shù)大約9.9us=delay(1)void delay(uint time)while(time-);/*/數(shù)碼管顯示模塊void display(uchar temp1,uchar temp2)/temp2個數(shù)碼管顯示temp1/p2=0xff;/關(guān)閉數(shù)碼管位選poe=0;pa=0;pb=1;pc=0;/選中鎖存器,未打開p0=temp1;poe=1;poe=0;/打開74ls138p2=temp2;/0xfe,0xfd,0xfb,0xf7,0xef,0xdf
14、第1,2,3,4,5,6個數(shù)碼管亮;0xfe,0xfc,0xf8,0xf0,0xe0,0xc0:1,2,3,4,5,6個數(shù)碼管亮void displayxx(uchar tem1,uchar tem2,uchar tem3,uchar tem4,uchar tem5,uchar tem6)/數(shù)碼管顯示函數(shù)(六個數(shù)碼管都顯示)display(tem1,0xfe);delay(100);display(tem2,0xfd);delay(100);display(tem3,0xfb);delay(100);display(tem4,0xf7);delay(100);display(tem5,0xef
15、);delay(100);display(tem6,0xdf);delay(100);p2=0xff;void disp()/數(shù)碼管顯示測試函數(shù) t1=12;t2=34;t3=56;for(s=0;s150;s+)displayxx(tabt1/10,tabt1%10,tabt2/10,tabt2%10,tabt3/10,tabt3%10);p2=0xff;/關(guān)閉數(shù)碼管位選 for(s=0;s150;s+)displayxx(tab7,tab8,tab9,tab10,tab11,tab12);p2=0xff;/關(guān)閉數(shù)碼管位選 for(s=0;s150;s+)displayxx(tab13,ta
16、b14,tab15,tab16,tab0,0xff);p2=0xff;/關(guān)閉數(shù)碼管位選/結(jié)束/*/*/dht11測溫度濕度模塊void dht11() ea=0;/關(guān)閉總中斷 dht=0;/單總線引腳,設(shè)為p1.2,主機發(fā)出開始信號 dht_data=0;/存放一個字節(jié)的數(shù)據(jù) for(i=0;i20;i+) delay(102);/大約1ms dht=1;/拉高并延時 while(dht);/開始信號 (等待主機發(fā)出的開始信號結(jié)束) while(!dht);/dht11輸出響應信號 while(dht);/dht11輸出響應信號延時 for(j=0;j5;j+) /五個字節(jié)(共四十位) for
17、(i=0;i8;i+) /每次八位(一個字節(jié)的數(shù)據(jù)) dht_data=dht_data1;/左移一位,最低位存儲dht11發(fā)來的數(shù)據(jù) while(!dht);/等待50us的低電平結(jié)束 delay(4);/延時大約40us if(dht=1) /判斷總線信號(發(fā)來的是否是邏輯高) dht_data=dht_data|0x01;/存儲dht11發(fā)來的一位數(shù)據(jù) while(dht);/等待低電平,等待下一位數(shù)據(jù)發(fā)送 else /總線信號為低電平(發(fā)來的是邏輯低) dht_data=dht_data|0x00;/存儲dht11發(fā)來的一位數(shù)據(jù) dht_tabj=dht_data;/存儲到數(shù)組中 de
18、lay(6);/ ea=1;/ t1=dht_tab0;/濕度整數(shù)部分 t2=dht_tab1;/濕度小數(shù)部分 t3=dht_tab2;/溫度整數(shù)部分 t4=dht_tab3;/溫度小數(shù)部分 t5=dht_tab4;/檢驗位 /結(jié)束/*/*/時鐘電路模塊模塊(使用定時器1,十六位定時器,50ms)void time_init() ea=0; p0=0xff; p1=0xff; p2=0xff; p3=0xff; tmod=0x15;/選擇定時計數(shù)器模式1工作方式 t0 t1工作于方式1th1=0x3c;/初值50ms tl1=0xb0;/初值tr1=1;/開t0定時器et1=1;/允許t0定時
19、器中斷 ea=0;/關(guān)閉總中斷void timer0(void)interrupt 3 ea=0; th1=0x3c;/初值50ms tl1=0xb0;/初值 t_count+; if(t_count=20) /是否到一秒 t_count=0; t_time+;/加一秒 if(t_time=43200)/是否到十二小時 t_hour+;/ if(t_hour=60)t_hour=0;/是否到一個月 t_time=0; ea=1;void time()/數(shù)碼管顯示時間 t1=t_time/3600;/時 t2=(t_time-t1*3600)/60;/分 t3=t_time%60;/ 秒 if(
20、t_hour%2)t1=t1+12;displayxx(tabt1/10,tabt1%10&0x7f,tabt2/10,tabt2%10&0x7f,tabt3/10,tabt3%10);/結(jié)束/*/*/矩陣鍵盤模塊void keyscan()/掃描鍵盤poe=0; pa=0;pb=0;pc=1;/選中緩沖器rdkey(74ls138)p0=0xff;p2=0xfe;/掃描0至8號鍵poe=1;/打開緩沖器if(p0!=0xff)/判斷1至8號鍵是否按下delay(10); if(p0!=0xff) key=p0; switch(key) case 0xfe:key_value=0;break;
21、 case 0xfd:key_value=1;break; case 0xfb:key_value=2;break; case 0xf7:key_value=3;break; case 0xef:key_value=4;break; case 0xdf:key_value=5;break; case 0xbf:key_value=6;break; case 0x7f:key_value=7;break; default:key_value=16; break;/出錯 poe=0;/關(guān)閉緩沖器rdkey(74ls138)/大ifp2=0xff;poe=0; pa=0;pb=0;pc=1;/選中緩
22、沖器rdkey(74ls138)p0=0xff;p2=0xfd;/掃描0至8號鍵poe=1;/打開緩沖器if(p0!=0xff)/判斷9至16號鍵是否按下delay(10); if(p0!=0xff) key=p0; switch(key) case 0xfe:key_value=8;break; case 0xfd:key_value=9;break; case 0xfb:key_value=10;break; case 0xf7:key_value=11;break; case 0xef:key_value=12;break; case 0xdf:key_value=13;break; c
23、ase 0xbf:key_value=14;break; case 0x7f:key_value=15;break; default:key_value=16; break;/出錯 poe=0;/關(guān)閉緩沖器rdkey(74ls138) / delay(3000); /延時50us/大ifp2=0xff;/結(jié)束/*/*/主函數(shù)/*void main() p0=0xff;p1=0xff;p2=0xff;p3=0xff; key_value=16;i=0;j=0;s=0;mod=0; time_init(); disp(); ea=1; s=0; while(1) keyscan(); if(key_value200) /大約1.2s測一次溫度 s=0; dht11(); mod+;/粗略修正dht11測溫度占用的時間 if(mod=50) /大約20ms t_time+; mod=0; s+; displayxx(tabt1/10,tabt1%10&0x7f,tabt2/10,tabt3/10,tabt3%10&0x7f,tabt4%10); /主程序結(jié)束/*(2) 程序流程圖六:總結(jié)和展望(1) 總結(jié)通過這次系統(tǒng)的設(shè)計和測試,我收獲頗多。首先,通過對該系統(tǒng)了解,收集資料,研究其可行性,前期做了很多準備工作,查看了很多資料
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報參考:巨災指數(shù)保險調(diào)節(jié)下政府應急物資采儲策略優(yōu)化研究
- 課題申報參考:教育強國與新質(zhì)生產(chǎn)力研究
- 2025年度個人屋頂光伏安裝合同范本3篇
- 2025年塔城b2考貨運資格證要多久
- 2025個人蝦池承包養(yǎng)殖資源整合與開發(fā)合同3篇
- 十佳書香家庭事跡
- 二零二五版智能農(nóng)業(yè)監(jiān)測系統(tǒng)采購合同提升農(nóng)業(yè)效率4篇
- 二零二五學校與家長聯(lián)合實施家校共育行動計劃3篇
- 2025年度北京商品房買賣合同(含智能家居系統(tǒng)升級承諾)3篇
- 2025年個人間信息保密與責任承擔協(xié)議書3篇
- 2024版?zhèn)€人私有房屋購買合同
- 2024爆炸物運輸安全保障協(xié)議版B版
- 2025年度軍人軍事秘密保護保密協(xié)議與信息安全風險評估合同3篇
- 《食品與食品》課件
- 讀書分享會《白夜行》
- 光伏工程施工組織設(shè)計
- DB4101-T 121-2024 類家庭社會工作服務規(guī)范
- 化學纖維的鑒別與測試方法考核試卷
- 2024-2025學年全國中學生天文知識競賽考試題庫(含答案)
- 自動駕駛汽車道路交通安全性探討研究論文
- 術(shù)后譫妄及護理
評論
0/150
提交評論