DHT11的使用和解釋,附件里面還附帶視頻教程
0.png (627.95 KB, 下載次數(shù): 165)
下載附件
2017-5-20 21:07 上傳
DHT11+單片機與lcd1602液晶屏鏈接的io:
0.png (223.62 KB, 下載次數(shù): 136)
下載附件
2017-5-20 21:02 上傳
0.png (65.52 KB, 下載次數(shù): 155)
下載附件
2017-5-20 21:01 上傳
DHT11單片機源程序如下:
- /*********************************************************************************
- * 【編寫時間】: 3月5日
- * 【作 者】: 清翔電子:03
- * 【版 本】: 2.0
- * 【實驗平臺】: QX-MINI51 單片機開發(fā)板
- * 【外部晶振】: 11.0592mhz
- * 【主控芯片】: STC89C52
- * 【編譯環(huán)境】: Keil μVisio3
- * 【程序功能】: DHT11 第三腳懸空 DHT11孔面面向開發(fā)板外
- * 【使用說明】:
- * 說明:免費開源,不提供源代碼分析.
- **********************************************************************************/
- // 濕度20-90 溫度0-50 采樣間隔1S
- #include <intrins.h>
- #include "lcd.h"
- sbit DQ=P3^7; //DTH11
- uchar code ASCII[]="0123456789%c";
- uchar code table0[]=" Hum:00";
- uchar code table1[]=" Tem:00";
- uchar tem;
- uchar hum;
-
- display0[2]={0,0};
- display1[2]={0,0};
-
- //**************************延時函數(shù)
- void delay_ms(uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=114;y>0;y--);
- }
- //**************************初始化DTH11
- bit Init_DTH11()
- {
- bit flag;
- uchar num;
- DQ=0;
- delay_ms(19); // >18ms
- DQ=1;
- for(num=0;num<10;num++); // 20-40us 34.7us
- for(num=0;num<12;num++);
- flag=DQ;
- for(num=0;num<11;num++); //DTH響應80us
- for(num=0;num<24;num++); //DTH拉高80us
- return flag;
- }
- //****************************讀DTH11數(shù)據(jù)
- uchar DTH11_RD_CHAR()
- {
- uchar byte=0;
- uchar num;
- uchar num1;
- while(DQ==1);
- for(num1=0;num1<8;num1++)
- {
- while(DQ==0);
- byte<<=1; //高位在前
- for(num=0;DQ==1;num++);
- if(num<10)
- byte|=0x00;
- else
- byte|=0x01;
- }
- return byte;
- }
- //******************************讀取DTH11溫度和濕度
- void DTH11_DUSHU()
- {
- uchar num;
- if(Init_DTH11()==0)
- {
- hum=DTH11_RD_CHAR(); //比正常值高7度左右
- DTH11_RD_CHAR();
- tem=DTH11_RD_CHAR();
- DTH11_RD_CHAR();
- DTH11_RD_CHAR();
- for(num=0;num<17;num++); //最后BIT輸出后拉低總線50us
- DQ=1;
- }
- }
- //***********************************顯示函數(shù)
- void Display_DTH11()
- {
- display0[1]=hum/10%10;
- display0[0]=hum%10;
-
- LcdShowStr(0, 0, table0);
- DisplayOneChar (8, 0, ASCII[ display0[1] ] );
- DisplayOneChar (9, 0, ASCII[ display0[0] ] );
- DisplayOneChar (10, 0, ASCII[10] ); //顯示濕度
- display1[1]=tem/10%10;
- display1[0]=tem%10;
- LcdShowStr(0, 1, table1);
- DisplayOneChar (8, 1, ASCII[ display1[1] ] );
- DisplayOneChar (9, 1, ASCII[ display1[0] ] );
- DisplayOneChar (10, 1, 0xdf );
- DisplayOneChar (11, 1, ASCII[11] ); //顯示溫度
- }
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
DHT11_MINI51.rar
(11.66 MB, 下載次數(shù): 576)
2017-5-20 19:43 上傳
點擊文件名下載附件
dht11 下載積分: 黑幣 -5
|