久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1105|回復: 0
打印 上一主題 下一主題
收起左側

51單片機無法讀取到DHT11的數據,LCD都正常顯示

[復制鏈接]
跳轉到指定樓層
樓主
ID:1029294 發表于 2023-5-16 17:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問DHT11是沒采集到數據嗎?但是我換了一個DHT11也是同樣的情況,在電路板上我也加了一個下拉的5K電阻,然后有說是時序問題。用的是stc89c52單片機。如果需要觀看全部代碼,我發在評論區。

DHT11單片機代碼:


#include "dht11.h"

/****
*******DHT11延時函數
*****/
void delay_dht11(uint i)
{
        while(i--);
}

/****
*******DHT11延時1ms函數
*****/
void delay_ms_dht11(uint i)
{
        while(i--)
                delay_dht11(90);
}

/****
*******從DHT11讀取一個字節函數
*******返回值:讀到的數據
*****/
uchar DHT11_Read_Byte(void)   
{        
  uchar i,retry,dat=0;
        for (i=0;i<8;i++)
        {
                dat<<=1;
               
                while(DHT11_DQ_OUT == 0);//等待50us低電平過去
                delay_dht11(3);                                                //延時30us
                if(DHT11_DQ_OUT)
                        dat |= 0x01;
               
                retry=0;
                while(DHT11_DQ_OUT&&retry<100)//等待變為低電平 12-14us 開始
                {
                        retry++;
                        _nop_();
                }
        }
        return dat;
}
/****
*******從DHT11讀取一次數據函數
*******參量定義:        temp:溫度值(范圍:0~50°)
*******           humi:濕度值(范圍:20%~95%)
*******返回值:0:正常; 1:讀取失敗
*****/
uchar Dht11_Get_Temp_Humi_Value(uint *temp,uint *humi)
{        
         uchar buf[5];
        uchar i;
        DHT11_DQ_OUT=0;         //拉低DQ
        delay_ms_dht11(21);            //拉低至少18ms
        DHT11_DQ_OUT=1;         //DQ=1
        delay_dht11(4);
        if(DHT11_DQ_OUT == 0)
        {
                while(DHT11_DQ_OUT == 0);//等待80us的低電平過去
                while(DHT11_DQ_OUT == 1);//等待80us的高電平過去
                for(i=0;i<5;i++)//讀取40位數據
                {
                        buf=DHT11_Read_Byte();
                }
                if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])//校驗和
                {
                        *humi=buf[0]*10+buf[1];
                        *temp=buf[2]*10+buf[3];
                }
                else
                        return 1;
        }
        else
                return 1;

        return 0;            
}


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

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜欧美 | 亚洲免费在线 | www.久久影视 | 一区在线播放 | 成人国产精品久久 | 久久精品色视频 | 日韩免费网站 | 夜夜操天天操 | 国产精品久久久久久久久久久免费看 | 古典武侠第一页久久777 | 国产福利91精品一区二区三区 | 五月激情久久 | 精品国模一区二区三区欧美 | 久久久久中文字幕 | 福利一区二区 | 久久在线 | 欧美一区二区在线 | 国产精品久久av | 91九色porny首页最多播放 | 亚洲不卡 | 日韩综合一区 | 日韩在线精品强乱中文字幕 | 久久久成人免费视频 | 国产a视频 | 日韩在线观看一区 | 玖玖免费 | 国产高清久久久 | 91高清在线观看 | 欧美二区乱c黑人 | 99免费| 中文字幕亚洲区一区二 | 久久久青草婷婷精品综合日韩 | 亚洲看片 | av在线免费观看网站 | 天天干狠狠干 | 日韩av手机在线观看 | 国产精品国产a | 久久久亚洲一区 | 亚洲精品视频在线播放 | 国产精品综合网 | 91免费版在线 |