利用DHT11測溫度濕度實驗報告_第1頁
利用DHT11測溫度濕度實驗報告_第2頁
利用DHT11測溫度濕度實驗報告_第3頁
利用DHT11測溫度濕度實驗報告_第4頁
利用DHT11測溫度濕度實驗報告_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、微電子工藝實驗 題 目 氣壓溫度測量系統(tǒng) 學生姓名 洪 強 學 號 20121321027 學 院 電子與信息工程學院專 業(yè) 電子科學與技術指導教師 曹鴻霞二一 五 年 十一 月 二十二 日目錄目錄11 系統(tǒng)描述11.1 課程設計題目21.2 系統(tǒng)設計方案介紹21.3 方案論證32 硬件電路設計32.1 LCD1602液晶顯示模塊32.1.1 LCD1602原理圖及引腳說明42.1.2 LCD1602操作時序52.2 AT89C52單片機62.3DHT11傳感器模塊72.3.1 DHT11原理圖及引腳說明72.3.2 DHT11數據幀82.3.3 DHT11電氣特性82.3.4 DHT11操作

2、時序92.4蜂鳴器模塊102.5DHT11溫濕度檢測設計圖113 軟件程序設計113.1 程序流程圖113.2程序設計123.2.1主程序123.2.2 LCD顯示程序133.2.3蜂鳴器程序204 實驗結果215 實驗總結22參考文獻22測量氣壓溫度測量系統(tǒng) 洪強南京信息工程大學電子科學與技術,南京 210044摘要本實驗基于使用STC89C52單片機、DHT11傳感器模塊、1602液晶顯示屏模塊以及報警模塊。簡單明了的實現的可提要求。DHT11數字溫濕度傳感器把采集到的溫濕度數據傳給單片機。經過單片機的處理。準確的顯示到液晶屏上。并對溫濕度設置上下限。越限報警。) 關鍵詞:單片機DHT11

3、傳感器1602液晶顯示屏STC89C52報警1 系統(tǒng)描述1.1 課程設計題目 溫度測量及顯示要求: 基于52系列單片機平臺和DHT11溫濕度傳感器完成溫濕度的測量; 溫度測量數據的顯示,可以用LCD1602顯示; 對溫濕度設置上下限,超過限度報警1.2 系統(tǒng)設計方案介紹電路總體上分為溫濕度采集部分、中央處理器、顯示模塊以及報警模塊部分。以STC89C52單片機最小系統(tǒng)作為核心控制電路,控制DHT11傳感器采集的溫濕度的轉換,控制1602液晶屏的顯示,以及蜂鳴器的報警。具體顯示內容及方式由軟件來完成。采集溫濕度方面由DHT11傳感器來完成,它是一個數字溫濕度傳感器、內置模數轉換,可以直接與單片機

4、相連接。而1602液晶屏是插針式,也可以直接與單片機相連接。因此不需要手動焊接等復雜的過程。具體步驟是:按照原理圖將傳感器、1602液晶顯示屏分別接入單片機。通過DHT11傳感器采集當前的溫濕度值、再經單片機,將處理后的數據傳送到液晶屏上顯示出來。并且接入蜂鳴器。設置溫度的上下限值。(如圖一)P2.0 STC89C52主控模塊P2.2P2.4 P0.7DHT11傳感器模塊1602字符液晶模塊報警模塊傳感器與之相連1602字符液晶與之相連圖1 系統(tǒng)框圖1.3 方案論證方案一:選用DS18B20溫度傳感器作為溫度檢測模塊。DS18B20是一線式數字溫度傳感器。具有獨特的單線式接口方式。測量范圍在5

5、5125,1085,誤差范圍在-+0.5。最高精度可達0.0625。HS1101是電容式濕度傳感器。可測量相對濕度范圍在0%100%RH。誤差為-+2%RH。方案二: 選用DHT11作為設計的溫濕度檢測模塊。DHT11是一款集成型的數字溫濕度一體傳感器。 它應用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產品具有品質卓越、超快響應、抗干擾能力強、性價比極高等優(yōu)點。測量范圍20%90%RH,050。測溫精度為-+2,測濕精度為-+5%RH。完全符合本次畢業(yè)設計的要求。比

6、較以上兩種方案,雖然第一種方案在測量的精度方面比第二種更高,但是第二中方案的電路、軟件設計更簡單,在功耗、范圍等方面達到要求,故本設計采用方案二。2 硬件電路設計2.1 LCD1602液晶顯示模塊LCD1602液晶顯示器是以點陣形式來顯示字母、數字、符號和漢字的顯示模塊,顯示內容范圍為16*2,即可以顯示兩行,每行16個字符(即8個漢字)。2.1.1 LCD1602原理圖及引腳說明如下圖2即為系統(tǒng)板中LCD1602的原理圖:圖2 LCD1602原理圖該LCD1602采用16引腳,通過VL口電壓來控制背光大小,液晶的各個引腳說明如表3所示: 表3 LCD1602引腳說明編號符號引腳說明編號符號引

7、腳說明1VSS電源地9D2數據2VDD電源正極10D3數據3VL液晶顯示偏壓11D4數據4RS數據/命令選擇12D5數據5R/W讀/寫選擇13D6數據6E使能信號14D7數據7D0數據15BLA背光源正極8D1數據16BLK背光源負極具體功能如下:第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和

8、R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數據。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數據線。第15腳:背光源正極。第16腳:背光源負極。2.1.2 LCD1602操作時序 LCD1602的讀寫操作時序如下圖4和圖5所示:圖4 讀操作時序 圖5 寫操作時序2.2 AT89C52單片機AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在線系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術制造,與工業(yè)80C51

9、產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。 AT89S52具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數據指針,三個16 位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續(xù)工作。掉電保護方式下,

10、RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。下圖為52單片機最小系統(tǒng)圖圖6 最小系統(tǒng)圖2.3DHT11傳感器模塊 DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。產品為 4 針單排引腳封裝。連接方便,特殊封裝形式可根據用戶需求而提供。2.3.1 DHT11原理圖及引腳說明 DHT11傳感器原理圖如下7所示: 圖7DHT11傳感器原理圖 單片機的P2.0口用來發(fā)收串行數據,即數據口。連接傳感器的Pin2(單總線,串行數據)。由于測量范圍電路小于20米,

11、建議加一個5K的上拉電阻,因此在傳感器的Pin2口與電源之間連接一個5K電阻。而傳感器的電源端口Pin1和Pin4分別接單片機的VDD和GND端。傳感器的第三腳懸浮放置。DHT11傳感器原件的電路原理圖如下8所示:圖8 DHT11電路原理圖 具體引腳如下Pin1:(VDD),電源引腳,供電電壓為35.5V。Pin2:(DATA),串行數據,單總線。Pin3:(NC),空腳,請懸浮。Pin4(VDD),接地端,電源負極。建議連接線長度短于20米時用5K上拉電阻,大于20米時根據實際情況使用合適的上拉電阻。2.3.2 DHT11數據幀DATA 用于微處理器與 DHT11之間的通訊和同步,采用單總線

12、數據格式,一次通訊時間4ms左右,數據分小數部分和整數部分,具體格式在下面說明,當前小數部分用于以后擴展,現讀出為零.操作流程如下:一次完整的數據傳輸為40bit,高位先出。數據格式:8bit濕度整數數據+8bit濕度小數數據+8bi溫度整數數據+8bit溫度小數數據數據傳送正確時校驗和數據等于“8bit濕度整數數據+8bit濕度小數數據+8bi溫度整數數據+8bit溫度小數數據”所得結果的末8位。2.3.3 DHT11電氣特性電氣特性:VDD=5V,T = 25,除非特殊標注(采樣周期間隔不得低于1秒鐘)表8 DHT11的電氣特性參數條件Mintypmax單位供電DC355.5V供電電流測量

13、0.52.5mA平均0.21mA待機100150uA采樣周期秒1次2.3.4 DHT11操作時序用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉換到高速模式,等待主機開始信號結束后,DHT11發(fā)送響應信號,送出40bit的數據,并觸發(fā)一次信號采集,用戶可選擇讀取部分數據.從模式下,DHT11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開始信號,DHT11不會主動進行溫濕度采集.采集數據后轉換到低速模式。圖9 通訊圖總線空閑狀態(tài)為高電平,主機把總線拉低等待DHT11響應,主機把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號。DHT11接收到主機的開始信號后,等待主機開

14、始信號結束,然后發(fā)送80us低電平響應信號.主機發(fā)送開始信號結束后,延時等待20-40us后, 讀取DHT11的響應信號,主機發(fā)送開始信號后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。圖10 通訊圖總線為低電平,說明DHT11發(fā)送響應信號,DHT11發(fā)送響應信號后,再把總線拉高80us,準備發(fā)送數據,每一bit數據都以50us低電平時隙開始,高電平的長短定了數據位是0還是1.格式見下面圖示.如果讀取響應信號為高電平,則DHT11沒有響應,請檢查線路是否連接正常.當最后一bit數據傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高進入空閑狀態(tài)。數字0信號表示方法如

15、下圖12所示: 圖11 數字信號0表示數字1信號表示方法如下圖13所示圖12 數字1信號表示2.4蜂鳴器模塊蜂鳴器是一種一體化結構的電子訊響器。采用直流電壓供電,主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標準用“FM”、“LB”、“JD”等)表示。圖13蜂鳴器工作原理圖2.5DHT11溫濕度檢測設計圖圖14 DHT11溫濕度檢測設計圖3 軟件程序設計3.1 程序流程圖開始初始化延時溫濕度測量1602顯示數據判斷溫度溫度低于a高于b蜂鳴器鈴響蜂鳴器鈴響結束圖 16主程序流程圖3.2程序設計3.2.1主程序#include #include #includ

16、e typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 無符號8位整型變量 */typedef unsigned int U16; /* defined for unsigned 16-bits integer variable 無符號16位整型變量 */#define lcd_H#include #define HIGH 1#define LOW 0#define TRUE 1#define FALSE 0#define ZERO 0#define MSB 0x80#define LSB 0x01

17、3.2.2 LCD顯示程序 #define LINE1 0#define LINE2 1#define LINE1_HEAD 0x80#define LINE2_HEAD 0xC0#define DATA_MODE 0x38#define OPEN_SCREEN 0x0C#define DISPLAY_ADDRESS 0x80#define CLEARSCREEN LCD_en_com(0x01)#define LCDIO P1sbit LCD1602_RS = P24; /定義端口 sbit LCD1602_RW = P23;sbit LCD1602_EN = P22;/-/-IO口定義區(qū)-

18、/-/sbit P2_0 = P20 ;sbit SPK=P07;int t1,t2,ss;/-/-定義區(qū)-/-/U8 U8FLAG;U8 U8count,U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;U8 U8comdata;unsigned char str1=s,h,i,d,u,:;unsigned char str2=w,e,n

19、,d,u,:;LCD_init(); void Delay(U16 j) U8 i; for(;j0;j-) for(i=0;i27;i+); void Delay_10us(void) U8 i; i-; i-; i-; i-; i-; i-; void COM(void) U8 i; for(i=0;i8;i+) U8FLAG=2; while(!P2_0)&U8FLAG+);Delay_10us(); Delay_10us();Delay_10us(); U8temp=0; if(P2_0)U8temp=1; U8FLAG=2; while(P2_0)&U8FLAG+); /超時則跳出for循環(huán) if(U8FLAG=1)break; /判斷數據位是0還是1 / 如果高電平高過預定0高電平

溫馨提示

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

評論

0/150

提交評論