找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

52RC單片機,dht11不顯示數(shù)據(jù)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:936663 發(fā)表于 2023-4-20 22:25 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
52RC單片機11.0592MHZ晶振,dht11在lcd1602上不顯示數(shù)據(jù),仿真可以顯示,但是實物不行,換了別人的模塊也顯示不了,按時序圖來的不知道哪里的問題,請教大家/*********************************************************///
讀取DHT11單總線上的一個字節(jié)
/*********************************************************/
uchar DhtReadByte(void)
{   
        bit bit_i;
        uchar j;
        uchar dat=0;

        for(j=0;j<8;j++)   
        {
                while(!DHT11_P);        // 等待低電平結(jié)束        
                Delay10us();                        // 延時
                Delay10us();
                Delay10us();
                if(DHT11_P==1)                // 判斷數(shù)據(jù)線是高電平還是低電平
                {
                        bit_i=1;
                        while(DHT11_P);
                }
                else
                {
                        bit_i=0;
                }
                dat<<=1;                                   // 將該位移位保存到dat變量中
                dat|=bit_i;   
        }
        return(dat);  
}


/*********************************************************/
// 讀取DHT11的一幀數(shù)據(jù),濕高、濕低(0)、溫高、溫低(0)、校驗碼
/*********************************************************/
void ReadDhtData()
{            
        uchar HumiHig;                // 濕度高檢測值
        uchar HumiLow;                // 濕度低檢測值
        uchar TemHig;                        // 溫度高檢測值
        uchar TemLow;                        // 溫度低檢測值
        uchar check;                        // 校驗字節(jié)
        
        DHT11_P=0;                                // 主機拉低
        DelayMs(20);                        // 保持20毫秒
        DHT11_P=1;                                // DATA總線由上拉電阻拉高

        Delay10us();                         // 延時等待30us
        Delay10us();
        Delay10us();

        while(!DHT11_P);        // 等待DHT的低電平結(jié)束
        while(DHT11_P);                // 等待DHT的高電平結(jié)束

        //進入數(shù)據(jù)接收狀態(tài)
        HumiHig = DhtReadByte();         // 濕度高8位
        HumiLow = DhtReadByte();         // 濕度低8為,總為0
        TemHig  = DhtReadByte();         // 溫度高8位
        TemLow  = DhtReadByte();         // 溫度低8為,總為0
        check   = DhtReadByte();        // 8位校驗碼,其值等于讀出的四個字節(jié)相加之和的低8位

        DHT11_P=1;                                // 拉高總線

        if(check==HumiHig + HumiLow + TemHig + TemLow)                 // 如果收到的數(shù)據(jù)無誤
        {
                temp=TemHig;                         // 將溫度的檢測結(jié)果賦值給全局變量temp
                humi=HumiHig;                        // 將濕度的檢測結(jié)果賦值給全局變量humi
        }
}

實物.jpg (68.25 KB, 下載次數(shù): 30)

實物.jpg

屏幕截圖 2023-04-01 172240.png (143.22 KB, 下載次數(shù): 34)

仿真

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

使用道具 舉報

沙發(fā)
ID:584814 發(fā)表于 2023-4-21 08:18 | 只看該作者
器件損壞、接線錯誤、延時不當......
回復(fù)

使用道具 舉報

板凳
ID:161164 發(fā)表于 2023-4-21 11:24 | 只看該作者
30塊包郵的邏輯分析儀,你值得擁有
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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