找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 9609|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

眾拳STM8的DHT11溫濕度傳感器實(shí)驗(yàn) 附代碼(IAR庫(kù)函數(shù))

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

DHT11 溫濕度傳感器簡(jiǎn)介


工作電壓范圍:3.3V-5.5V
工作電流 :平均0.5mA
輸出:?jiǎn)慰偩數(shù)字信號(hào)
測(cè)量范圍:濕度20~90%RH,溫度0~50℃
精度 :濕度±5%,溫度±2℃
分辨率 :濕度1%,溫度1℃

DHT11 溫濕度傳感器簡(jiǎn)介
DHT11數(shù)字溫濕度傳感器采用單總線數(shù)據(jù)格式。單個(gè)數(shù)據(jù)引腳端口完成輸入輸出雙向傳輸。其數(shù)據(jù)包由5個(gè)字節(jié)(40Bit)組成。數(shù)據(jù)分小數(shù)部分和整數(shù)部分,一次完整的數(shù)據(jù)傳輸為40bit,高位先出。

    DHT11的數(shù)據(jù)格式為:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗(yàn)和。

    其中校驗(yàn)和數(shù)據(jù)為前四個(gè)字節(jié)相加。
DHT11 溫濕度傳感器簡(jiǎn)介
傳感器數(shù)據(jù)輸出的是未編碼的二進(jìn)制數(shù)據(jù)。數(shù)據(jù)(濕度、溫度、整數(shù)、小數(shù))之間應(yīng)該分開(kāi)處理。例如,某次從DHT11讀到的數(shù)據(jù)如圖所示:


由以上數(shù)據(jù)就可得到濕度和溫度的值,計(jì)算方法:
濕度= byte4 . byte3=45.0 (%RH)
溫度= byte2 . byte1=28.0 ( ℃)
校驗(yàn)= byte4+ byte3+ byte2+ byte1=73(校驗(yàn)正確)
DHT11 溫濕度傳感器時(shí)序圖



首先主機(jī)發(fā)送開(kāi)始信號(hào),即:拉低數(shù)據(jù)線,保持t1(至少18ms)時(shí)間,然后拉高數(shù)據(jù)線t2(20~40us)時(shí)間,然后讀取DHT11的響應(yīng),正常的話,DHT11會(huì)拉低數(shù)據(jù)線,保持t3(40~50us)時(shí)間,作為響應(yīng)信號(hào),然后DHT11拉高數(shù)據(jù)線,保持t4(40~50us)時(shí)間后,開(kāi)始輸出數(shù)據(jù)。
DHT11 溫濕度傳感器時(shí)序圖


單片機(jī)源程序如下:
  1. /***********************************************************************
  2. *   說(shuō)    明: 點(diǎn)亮第一個(gè)發(fā)光二極管
  3. *   開(kāi)發(fā)平臺(tái): 劍齒虎STM8開(kāi)發(fā)板        
  4. *
  5. *   作    者: 劉洋 張殿東
  6. *   版    本: V1.0
  7. *
  8. *   IAR開(kāi)發(fā)環(huán)境    版本 V2.20.1
  9. *   ST庫(kù)函數(shù)       版本 V2.2.0
  10. ***********************************************************************/

  11. #include "pbdata.h"//引入自定義公共頭文件

  12. void BSP_Configuration(void);//硬件初始化函數(shù)聲明

  13. /***********************************************************************
  14. *   函 數(shù) 名: main
  15. *   功能說(shuō)明: c程序入口
  16. *   形    參:無(wú)
  17. *   返 回 值: 錯(cuò)誤代碼(無(wú)需處理)
  18. ***********************************************************************/
  19. int main(void)
  20. {
  21.   BSP_Configuration();//硬件驅(qū)動(dòng)初始化函數(shù)
  22.   
  23.   while(1)//主程序循環(huán),反復(fù)執(zhí)行循環(huán)體里的語(yǔ)句
  24.   {
  25.     DHT11_Demo();
  26.   }
  27. }
  28. /***********************************************************************
  29. *   函 數(shù) 名: BSP_Configuration
  30. *   功能說(shuō)明: 初始化硬件設(shè)備。只需要調(diào)用一次。該函數(shù)配置CPU寄存器和外設(shè)的寄存器并初始化一些全局變量。
  31. *   形    參:無(wú)
  32. *   返 回 值: 無(wú)
  33. ***********************************************************************/
  34. void BSP_Configuration(void)
  35. {  
  36.   CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//時(shí)鐘速度為內(nèi)部16M,1分頻,
  37.   UART1_Congfiguration();//調(diào)用RS232串口1初始化函數(shù)
  38.   LED_Init();//調(diào)用LED初始化函數(shù)
  39.   rim();//打開(kāi)總中斷
  40. }

  41. /*斷言函數(shù):它的作用是在編程的過(guò)程中為程序提供參數(shù)檢查*/
  42. #ifdef USE_FULL_ASSERT
  43. ……………………

  44. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼


所有資料51hei提供下載:
【眾拳】劍齒虎STM8開(kāi)發(fā)板的實(shí)驗(yàn)代碼下載:
眾拳DHT11溫濕度程序.zip (1.37 MB, 下載次數(shù): 127)



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:62690 發(fā)表于 2018-7-17 21:37 | 只看該作者
寫的透徹,贊👍
回復(fù)

使用道具 舉報(bào)

板凳
ID:308248 發(fā)表于 2019-6-29 11:10 | 只看該作者
寫的很好非常詳細(xì)
回復(fù)

使用道具 舉報(bào)

地板
ID:1462 發(fā)表于 2019-8-28 19:52 | 只看該作者
請(qǐng)問(wèn)這是I2C通信還是UART通信,有UART通信的么,那個(gè)要怎么寫
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表