欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 52RC單片機,dht11不顯示數據 [打印本頁]

作者: 硬瀚    時間: 2023-4-20 22:25
標題: 52RC單片機,dht11不顯示數據
52RC單片機11.0592MHZ晶振,dht11在lcd1602上不顯示數據,仿真可以顯示,但是實物不行,換了別人的模塊也顯示不了,按時序圖來的不知道哪里的問題,請教大家/*********************************************************///
讀取DHT11單總線上的一個字節
/*********************************************************/
uchar DhtReadByte(void)
{   
        bit bit_i;
        uchar j;
        uchar dat=0;

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


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

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

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

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

        DHT11_P=1;                                // 拉高總線

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

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

實物.jpg

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

仿真

仿真

作者: man1234567    時間: 2023-4-21 08:18
器件損壞、接線錯誤、延時不當......
作者: lkc8210    時間: 2023-4-21 11:24
30塊包郵的邏輯分析儀,你值得擁有




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1