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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

DHT11溫濕度傳感器測得的溫濕度都是00?求解答

查看數: 4757 | 評論數: 9 | 收藏 1
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2021-3-17 20:10

正文摘要:

附代碼 #include <reg52.h> #include <intrins.h> #include <absacc.h> #include <math.h> #define uchar unsigned char #define uint unsigned int //定義四個輸出端口 sbit Led ...

回復

ID:948327 發表于 2022-5-20 20:56
您好,我想請問以下你這個溫濕度顯示都是0的問題是怎么解決的呀?我在設計的過程中也遇到了這種問題。
ID:899490 發表于 2021-4-1 14:04
帖主你好,請問問題是怎么解決的,我也在困惑一樣的問題
ID:899490 發表于 2021-4-1 13:59
樓主你好,請問你是怎么解決的,方便告訴我一下嗎
ID:840436 發表于 2021-3-19 21:33
aide51 發表于 2021-3-18 11:06
控制程序 1.單字節采集  void  COM(void) {         U8 i;                         for(i=0;i

感謝,已解決
ID:840436 發表于 2021-3-19 21:33
TTQ001 發表于 2021-3-18 04:49
只需編寫一個簡單的測試代碼即可檢查DHT11傳感器是否正常工作。

感謝,已解決
ID:372579 發表于 2021-3-18 11:05
給你一個參考
ID:420836 發表于 2021-3-18 04:49
只需編寫一個簡單的測試代碼即可檢查DHT11傳感器是否正常工作。
ID:372579 發表于 2021-3-17 20:10
控制程序 1.單字節采集  void  COM(void) {         U8 i;                         for(i=0;i<8;i++)                    {                 U8FLAG=2;                         while((!P2_0)&&U8FLAG++);                 Delay_10us();                 Delay_10us();                 Delay_10us();                 U8temp=0;                  if(P2_0)U8temp=1;                         U8FLAG=2;                  while((P2_0)&&U8FLAG++);                 //超時則跳出for循環                                    if(U8FLAG==1)break;                 //判斷數據位是0還是1                                   // 如果高電平高過預定0高電平值則數據位為 1                            U8comdata<<=1;                  U8comdata|=U8temp;        //0          } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2.完整一次數據采集  void RH(void) {         //主機拉低18ms          P2_0=0;          Delay(180);          P2_0=1;          //總線由上拉電阻拉高 主機延時20us          Delay_10us();          Delay_10us();          Delay_10us();          Delay_10us();          //主機設為輸入 判斷從機響應信號           P2_0=1;          //判斷從機是否有低電平響應信號 如不響應則跳出,響應則向下運行                    if(!P2_0)                 //T !                    {                  U8FLAG=2;                  //判斷從機是否發出 80us 的低電平響應信號是否結束                           while((!P2_0)&&U8FLAG++);                  U8FLAG=2;                  //判斷從機是否發出 80us 的高電平,如發出則進入數據接收狀態                  while((P2_0)&&U8FLAG++);                  //數據接收狀態                                   COM();                  U8RH_data_H_temp=U8comdata;                  COM();                  U8RH_data_L_temp=U8comdata;                 COM();                  U8T_data_H_temp=U8comdata;                  COM();                  U8T_data_L_temp=U8comdata;                  COM();                  U8checkdata_temp=U8comdata;                  P2_0=1;                  //數據校驗                   U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);                 if(U8temp==U8checkdata_temp)                  {                         U8RH_data_H=U8RH_data_H_temp;                         U8RH_data_L=U8RH_data_L_temp;                         U8T_data_H=U8T_data_H_temp;                         U8T_data_L=U8T_data_L_temp;                         U8checkdata=U8checkdata_temp;                  }          }/ } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 3.獲取DHT11數據  void GetTemp1(void) {         //------------------------          //調用溫濕度讀取子程序                  RH();          //串口顯示程序           //--------------------------         Send_string("Humidity:");                 str[0]=U8RH_data_H/10+0x30;                 str[1]=U8RH_data_H%10+0x30;                 str[2]='.';                 str[3]=U8RH_data_L/10+0x30;                 str[4]=U8RH_data_L%10+0x30;                 str[5]='\0';                 Send_string(str);                 Send_string("%\r\n");                                  Send_string("Temperature:");                 str[0]=U8T_data_H/10+0x30;                 str[1]=U8T_data_H%10+0x30;                 str[2]='.';                 str[3]=U8T_data_L/10+0x30;                 str[4]=U8T_data_L%10+0x30;                 str[5]='\0';                 Send_string(str);                 Send_string("℃\r\n"); }  試下這個

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表