小型氣象站 一、實驗目的 1. 了解溫濕度傳感器工作原理 2. 了解光強大氣壓力傳感器工作原理 3. 學會使用DHT11溫濕度傳感器檢測環境溫濕度 4. 學會使用光敏電阻檢測環境光強度 5. 會使用1602液晶顯示模塊顯示氣象參數 二、實驗設備 1. 51單片機實驗板,以及電源線、下載線、杜邦線等 2. DHT11溫濕度傳感器、光敏電阻、PCF8591數模轉換模塊、1602液晶顯示模塊 三、實驗項目要求 請設計一個小型的氣象監測站,檢測溫濕度、光強等參數,并顯示在1602液晶顯示屏上。 1602液晶顯示示例: 
請按要求設計一個可行方案,包括設備選型、系統連接圖等,并編寫程序實現上述功能。 四、實驗步驟 1. 設計方案 ①方案:采用dht11溫濕度傳感器來采集溫濕度,光敏電阻來采集光強情況,然后把檢測到的信息送給單片機處理,并在1602液晶顯示屏上顯示。 ②設備選型: 1、DHT11溫濕度傳感器 DHT11 數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感 器。它應用專用的數 字模塊采集技術和溫濕度傳感技術, 確保產品具有枀高的可靠性與卓越的長期穩定性。傳感器 包括一個電阻式感濕元件和一個 NTC 測溫元件,并與一個高性能 8 位單片機相連接  接線說明 1 VCC 外接3.3V-5V 2 GND 外接GND 3 DATA 小板開關數字量輸出接口接單片機IO 口 光敏傳感器
PCF8591是一個單獨供電、低功耗、 具有I2C總線接口的8位A/D及D/A 轉 換器。它有4路A/D轉換輸入(A/D轉 換為逐次比較型),1路D/A 模擬輸 出,電源電壓典型值為5V。采用8位的DAC時,分辨率為5V/256=19.5mV。 3、TX51單片機實驗板(帶LCD1602、蜂鳴器) ③系統連接圖: 
2. 編寫源程序,編譯,生成hex文件 源程序: //本工程基于普中單片機開發板,晶振12MHz - #include <config.h>
- #include <dht11.h>
- #include <PCF8591.h>
- #include <I2C.h>
- #include <1602.h>
- #include <led.h>
- float value;
- u8 print1[20];
- u8 DATA[3];
- u8 RHum=0,Temp=0;
- u8 print[20];
- void delay_us(u8 n)//微秒延時
- {
- while(--n);
- }
-
- void delay_ms(u16 x)//毫秒延時函數
- {u16 i,j;
- for(i=0;i<x;i++)
- for(j=0;j<115;j++);
- }
-
- void main()
- {
- u8 i;
- TMOD=TMOD&0x0F;//清除定時器T1原有工作方式,T0工作方式不變
- TMOD=TMOD|0xA0;//設置定時器T1為工作方式2,硬啟動;T0工作方式不變
-
- TL1=0x48;//晶振11.0592MHz,定時200us對應計數值184,計數初值72
- TH1=0x48;//自動重裝初值
-
- EA=1 ; //總中斷允許
- ET1=1 ; //T1中斷允許
- TR1=1;
- LCD1602_Init(); //1602初始化
- while(1)
- {
- DATA[0]=Pcf8591_AD(0);//通道0:光敏
- DATA[1]=Pcf8591_AD(1);//通道1:熱敏
- DATA[2]=Pcf8591_AD(3);//通道3:可調電阻
- value=(float)DATA[1]*5/256;
- value=100/value;
- sprintf(print1,"light:%.1f",value);
- LCD1602_disstr(print1,1,0);//輸出到1602液晶顯示屏
-
- }
- }
- void ET1_INT() interrupt 3 // T1中斷服務程序
- //
- {
- u16 c;
- c++;
- //中斷次數加1,每200us中斷一次,中斷5000次即為1秒
- if(c==750){
- DHT11_receive(&RHum,&Temp); //讀取傳感器傳送過來的溫濕度數據
-
- sprintf(print,"Temp:%bd;RHum:%bd%%",Temp,RHum);
- LCD1602_disstr(print,0,0);//輸出到1602液晶顯示屏
- }
- }
復制代碼
3. 將hex文件下載到實驗板運行,描述實驗現象
實驗現象:
DHT11溫濕度,光照強度等情況分別顯示在單片機的1602液晶顯示屏上。
實驗總結
通過本次實驗知道了如何使用DHT11溫濕度傳感器,學會使用光敏電阻檢測環境光強度,也學會使用1602液晶顯示模塊顯示氣象參數。
|