找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于STM32F1的dht22溫濕度模塊讀取程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:168165 發(fā)表于 2020-2-9 10:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
原版是dht11的例程,稍加修改,可正常讀取,dht22精度較高,使用液晶屏顯示

單片機源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "lcd.h"
  6. #include "usart.h"         
  7. #include "dht11.h"        



  8. int main(void)
  9. {         
  10.         u16 t=0;                            
  11.         u16 temperature,temperature2;              
  12.         u16 humidity,humidity2;              

  13.         delay_init();                     //延時函數(shù)初始化          
  14.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級分組為組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
  15.         uart_init(115200);                 //串口初始化為115200
  16.         LED_Init();                                  //初始化與LED連接的硬件接口
  17.         LCD_Init();                                   //初始化LCD  
  18.         POINT_COLOR=RED;                //設(shè)置字體為紅色
  19.         LCD_ShowString(30,50,200,16,16,"SHI");       
  20.         LCD_ShowString(30,70,200,16,16,"DHT22 TEST");       
  21.         LCD_ShowString(30,90,200,16,16,"2020/2/4");          
  22.         while(DHT11_Init())        //DHT11初始化       
  23.         {
  24.                 LCD_ShowString(30,130,200,16,16,"DHT22 Error");
  25.                 delay_ms(200);
  26.                 LCD_Fill(30,130,239,130+16,WHITE);
  27.                 delay_ms(200);
  28.         }                                                                  
  29.         LCD_ShowString(30,130,200,16,16,"DHT22 OK");
  30.         POINT_COLOR=BLUE;//設(shè)置字體為藍色
  31.         LCD_ShowString(30,150,200,16,16,"Temp:  .   C");         
  32.         LCD_ShowString(30,170,200,16,16,"Humi:  .   %");         
  33. //        delay_ms(1700);
  34.         while(1)
  35.         {                        
  36.                 if(t%200==0)                        //每100ms讀取一次
  37.                 {                                                                          
  38.                         DHT11_Read_Data(&temperature,&temperature2,&humidity,&humidity2);        //讀取溫濕度值                                            
  39.                         LCD_ShowNum(30+40,150,temperature / 10,2,16);        //顯示溫度                  
  40.                         LCD_ShowNum(30+60,150,temperature % 10,2,16);                               
  41.                         LCD_ShowNum(30+40,170,humidity/10,2,16);                //顯示濕度                   
  42.                         LCD_ShowNum(30+60,170,humidity%10,2,16);                //顯示濕度         
  43.                 }                                  
  44.                  delay_ms(1);
  45.                 t++;
  46.                 if(t==200)
  47.                 {
  48.                         t=0;
  49.                         LED0=!LED0;
  50.                 }
  51.         }
  52. }
復(fù)制代碼

所有資料51hei提供下載:
dht11.7z (221.97 KB, 下載次數(shù): 211)


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

使用道具 舉報

沙發(fā)
ID:887095 發(fā)表于 2021-3-1 10:24 | 只看該作者
可以,要比之前我在網(wǎng)上看到的代碼好的多
回復(fù)

使用道具 舉報

板凳
ID:493412 發(fā)表于 2021-12-31 10:59 | 只看該作者
stm32f103zet6測試讀取dht22準確,很好的代碼,頂一個
回復(fù)

使用道具 舉報

地板
ID:1058088 發(fā)表于 2022-12-17 19:49 | 只看該作者
可以,我覺得可以出個介紹dht22連帶一起
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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