DHT11 溫濕度傳感器簡介
工作電壓范圍:3.3V-5.5V
工作電流 :平均0.5mA
輸出:單總線數字信號
測量范圍:濕度20~90%RH,溫度0~50℃
精度 :濕度±5%,溫度±2℃
分辨率 :濕度1%,溫度1℃
DHT11 溫濕度傳感器簡介
DHT11數字溫濕度傳感器采用單總線數據格式。單個數據引腳端口完成輸入輸出雙向傳輸。其數據包由5個字節(40Bit)組成。數據分小數部分和整數部分,一次完整的數據傳輸為40bit,高位先出。
DHT11的數據格式為:8bit濕度整數數據+8bit濕度小數數據+8bit溫度整數數據+8bit溫度小數數據+8bit校驗和。
其中校驗和數據為前四個字節相加。
DHT11 溫濕度傳感器簡介
傳感器數據輸出的是未編碼的二進制數據。數據(濕度、溫度、整數、小數)之間應該分開處理。例如,某次從DHT11讀到的數據如圖所示:
由以上數據就可得到濕度和溫度的值,計算方法:
濕度= byte4 . byte3=45.0 (%RH)
溫度= byte2 . byte1=28.0 ( ℃)
校驗= byte4+ byte3+ byte2+ byte1=73(校驗正確)
DHT11 溫濕度傳感器時序圖
首先主機發送開始信號,即:拉低數據線,保持t1(至少18ms)時間,然后拉高數據線t2(20~40us)時間,然后讀取DHT11的響應,正常的話,DHT11會拉低數據線,保持t3(40~50us)時間,作為響應信號,然后DHT11拉高數據線,保持t4(40~50us)時間后,開始輸出數據。
DHT11 溫濕度傳感器時序圖
單片機源程序如下:
- /***********************************************************************
- * 說 明: 點亮第一個發光二極管
- * 開發平臺: 劍齒虎STM8開發板
- *
- * 作 者: 劉洋 張殿東
- * 版 本: V1.0
- *
- * IAR開發環境 版本 V2.20.1
- * ST庫函數 版本 V2.2.0
- ***********************************************************************/
- #include "pbdata.h"//引入自定義公共頭文件
- void BSP_Configuration(void);//硬件初始化函數聲明
- /***********************************************************************
- * 函 數 名: main
- * 功能說明: c程序入口
- * 形 參:無
- * 返 回 值: 錯誤代碼(無需處理)
- ***********************************************************************/
- int main(void)
- {
- BSP_Configuration();//硬件驅動初始化函數
-
- while(1)//主程序循環,反復執行循環體里的語句
- {
- DHT11_Demo();
- }
- }
- /***********************************************************************
- * 函 數 名: BSP_Configuration
- * 功能說明: 初始化硬件設備。只需要調用一次。該函數配置CPU寄存器和外設的寄存器并初始化一些全局變量。
- * 形 參:無
- * 返 回 值: 無
- ***********************************************************************/
- void BSP_Configuration(void)
- {
- CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//時鐘速度為內部16M,1分頻,
- UART1_Congfiguration();//調用RS232串口1初始化函數
- LED_Init();//調用LED初始化函數
- rim();//打開總中斷
- }
- /*斷言函數:它的作用是在編程的過程中為程序提供參數檢查*/
- #ifdef USE_FULL_ASSERT
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
【眾拳】劍齒虎STM8開發板的實驗代碼下載:
眾拳DHT11溫濕度程序.zip
(1.37 MB, 下載次數: 127)
2017-12-7 09:29 上傳
點擊文件名下載附件
|