找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32+dht11溫度檢測仿真加源代碼

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

主函數(shù)如下:
#include<stm32f10x.h>
#include"lcd.h"
#include"key.h"
#include"dht11.h"
static int i=1;
void main()
{
  char wen[]={'W','e','n','d','u',':','\0'};
    char shi[]={'s','h','i','d','u',':','\0'};
    lcd_start();
  KEY_Init();
    while(1)
    {
        dht11_start();
        if(key)
        {

           if(i==1)
           {
               lcd_pw(0x01);
           lcd0(wen,0);
               i=0;
           }

         lcd1(dht_gettem(),dht_temget(),6,dat[24]);

        }
        else
        {
           if(i==0)
           {
               i=1;
               lcd_pw(0x01);
               lcd0(shi,0);
           }
            lcd2(dht_getwet(),dht_wetget(),6,dat[8]);
        }
    }
}

DHT11函數(shù)如下:
#include<dht11.h>
void stt()
{
      dhtout;
      dhtreset;
     delayms(19);
      dhtset;            //拉高
}
voiddht11_start()
{           
        int i=0;
        dhtout;
        dhtreset;
       delayms(18);   //延時
       dhtin;   //拉高
        while(dhtre);  //等待響應(yīng)信號
        while(!dhtre);  
       while(dhtre);  
        dhtout;
        dhtset;
        dhtin;
      for(;i<40;i++)       //循環(huán)讀取四十位數(shù)
       {
         while(!dhtre);
         delayus(28);//延時檢測信號是長信號還是短信號
         if(dhtre==1)
         {
          dat=1;
          while(dhtre);   //等待長信號結(jié)束
          continue;  
         }
         if(dhtre==0)
         {
          dat=0;      //立即準(zhǔn)備接受下一個信號
         }
       }
      while(!dhtre);
         dhtout;
      dhtset;
         dhtin;
}
intdht_gettem()    //溫度獲取
{
    int dd=0;
    int i;
    for(i=16;i<24;i++)
    {
    dd=dd<<1|dat;
    }
    return dd;
}
intdht_temget()  //濕度獲取
{
     int dc=0;
     inti;
     for(i=24;i<32;i++)
     {
     dc=dc<<1|dat;
     }
     dc=dc&0x7f;
     return dc;
}
intdht_getwet()   
{
    int dd=0;
    int i;
    for(i=0;i<8;i++)
    {
    dd=dd<<1|dat;
    }
    return dd;
}
intdht_wetget()  
{
     int dc=0;
     inti;
     for(i=8;i<16;i++)
     {
     dc=dc<<1|dat;
     }
     dc=dc&0x7f;
     return dc;
}

全部資料51hei下載地址:
代碼仿真.7z (239.53 KB, 下載次數(shù): 113)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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