標題: 51單片機控制的DHT11簡易溫濕度檢測原理圖與源碼 [打印本頁]
作者: qinwenyuqw2 時間: 2018-4-15 10:01
標題: 51單片機控制的DHT11簡易溫濕度檢測原理圖與源碼
簡易溫濕度測量儀,實現思路是通過溫濕度傳感器采集數據傳送到最小系統上,并由最小系統對采集到的數據進行處理,隨后發送到數碼管或者液晶屏上進行顯示,并對異常數據進行報警。
實驗使用器材有DHT11溫濕度傳感器、IAP15W4K58S4最小系統、四位數碼管、蜂鳴器以及發光二極管。通過最小系統發送開始信號使DHT11開始工作并采集數據判斷DHT11是否正常工作,若DHT11正常工作,將采集數據進行校驗,若校驗結果正確,將其保存,并通過P1口顯示到數碼管上。隨后判斷數據是否超過預警值,如超過,將P2.4口電位拉高,使蜂鳴器示警,并讓LED燈熄滅來進行警示。電路使用一個數碼管對溫濕度進行循環顯示,相比較于使用2個數碼管進行顯示和使用液晶屏,成本和操作難度都有所降低。
實現原理圖如圖所示:
圖片1.png (30.51 KB, 下載次數: 105)
下載附件
2018-4-15 09:58 上傳
程序在附件中,直接根據數據手冊進行編寫。可以對照DHT11數據手冊進行查看
單片機源程序如下:
- #include "STC15.h"
- #include "stdio.h"
- #include "Delay.h"
- #include "uart.h"
- #include "dht11.h"
- unsigned char temp[2],humi[2];
- unsigned char flag;
- unsigned char code Num[16]={0x3F,
- 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
- 0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
- int m,n,p,q;
- long int i;
- void main(void)
- {
- P0M1 = 0; P0M0 = 0; //設置為準雙向口
- P1M1 = 0; P1M0 = 1; //設置為準雙向口
- P2M1 = 0; P2M0 = 1; //設置為準雙向口
- P3M1 = 0; P3M0 = 0; //設置為準雙向口
- P4M1 = 0; P4M0 = 0; //設置為準雙向口
- P5M1 = 0; P5M0 = 0; //設置為準雙向口
- P6M1 = 0; P6M0 = 0; //設置為準雙向口
- P7M1 = 0; P7M0 = 0; //設置為準雙向口
-
- while(1)
- {
- flag=DHT11_Read_Data(temp,humi);
- if(flag==0) //讀取成功
- {
- m=(int)temp[0]/10;
- n=(int)temp[0]%10;
- p=(int)temp[1]/10;
- i=100;
-
- if(temp[0]>50||humi[0]>90)
- {
- P24=1;
- }
- else P24=0;
-
- while(i--)
- {
- P23=1;
- P1=~Num[12];
- delay_ms(10);
- P23=0;
- P20=1;//P20十位供電
- P1=~Num[m];//P1顯示
- Delay1ms();
- P20=0;
- P21=1;//P21個位供電
- P1=~(Num[n]+0x80);
- delay_ms(10);
- P21=0;
- P22=1;//P22十分位供電
- P1=~Num[p];
- delay_ms(10);
- P22=0;
- }
-
- m=(int)humi[0]/10;
- n=(int)humi[0]%10;
- p=(int)humi[1]/10;
- q=(int)humi[1]%10;
- i=100;
- while(i--)
- {
- P20=1;//P20十位供電
- P1=~Num[m];//P1顯示
- Delay1ms();
- P20=0;
- P21=1;//P21個位供電
- P1=~(Num[n]+0x80);
- delay_ms(10);
- P21=0;
- P22=1;//P22十分位供電
- P1=~Num[p];
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
danshumaguan.zip
(63.21 KB, 下載次數: 142)
2018-4-15 09:59 上傳
點擊文件名下載附件
單數碼管顯示溫濕度
下載積分: 黑幣 -5
作者: mytowns 時間: 2018-9-29 21:52
很給力
作者: z1054439097 時間: 2018-11-8 10:46
謝謝樓主 很棒
作者: 51hei@70732722 時間: 2018-11-8 13:57
謝謝樓主 很棒!
作者: wszznd 時間: 2019-1-3 19:36
真好,我也想下載
作者: 1224462284 時間: 2019-2-27 14:39
求發1224462284@qq.com
作者: ontheroad 時間: 2019-3-1 16:58
才發現,不是stc51單片機。
作者: sawyou 時間: 2019-6-21 23:40
再試試這個驅動

作者: 一羊遷徙 時間: 2020-11-10 12:51
樓主,有全的原理圖么
作者: bxyyhan 時間: 2020-11-10 17:13
ontheroad 發表于 2019-3-1 16:58
才發現,不是stc51單片機。
那就是STC單片機,可以用其他的15系列單片機代替,比如15W408
作者: zctwss321 時間: 2020-11-12 17:00
你的電路原理圖上的LED燈在哪里啊???????????????
| 歡迎光臨 (http://www.denmoz.com/bbs/) |
Powered by Discuz! X3.1 |