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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4689|回復(fù): 1
收起左側(cè)

怎么把DHT11轉(zhuǎn)化到的數(shù)字 轉(zhuǎn)化成實(shí)際溫度和濕度 求思路

[復(fù)制鏈接]
ID:286423 發(fā)表于 2018-3-24 22:47 | 顯示全部樓層 |閱讀模式
最近寫的代碼,用調(diào)試助手hex模式顯示的不是真實(shí)溫度和濕度 ,怎么能用1206液晶顯示 真實(shí)的溫度 濕度呢 求思路...或者有沒有轉(zhuǎn)化的公式啥的??
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2018-3-25 16:32 | 顯示全部樓層
  1. //做了一個DHT11溫濕度傳感器的1602的顯示,用8051做的,換成60s2的片子以后不行了...
  2. //我想應(yīng)該是機(jī)械周期的事吧,應(yīng)該怎么改呢,大家有遇到的幫幫我、、、這是簡單的顯示程序:
  3. //STC  延時比ATMEL  快了6~8倍,改一下DELAY的值就行了
  4. //這個你得該延時,因?yàn)?051是12T的時鐘周期而60S2是1T的
  5. //這是一個延時的問題,把延時改一下就好了

  6. #include <STC12C5A60S2.h>
  7. #define uchar unsigned char
  8. #define uint unsigned int
  9. /*引腳定義*/
  10. uchar code table[]="0123456789";
  11. sbit en=P2^1;
  12. sbit rs=P2^0;
  13. sbit io=P1^1;

  14. /*定義變量*/
  15. uchar data_byte=0, count, SHISHI, SHIGE, WENSHI, WENGE;
  16. uint TH_data, TL_data, RH_data, RL_data, CK_data;
  17. uint TH_temp, TL_temp, RH_temp, RL_temp, CK_temp;
  18. uchar num;

  19. /*延時程序*/
  20. void delayms(unsigned int xms)
  21. {        
  22.         uint i,j;
  23.         for(i=xms;i>0;i--)
  24.                 for(j=110;j>0;j--);
  25. }        

  26. /*10微妙延時程序*/
  27. void delay1()
  28. {
  29.         unsigned char i;
  30.         for(i=0; i<3; i++);
  31. }

  32. /*寫命令*/
  33. void command(uchar com)
  34. {
  35.         rs=0;
  36.         P0=com;
  37.         en=1;
  38.         delayms(5);
  39.         en=0;
  40.         delayms(5);
  41. }

  42. /*寫數(shù)據(jù)*/
  43. void information(uchar date)
  44. {
  45.         rs=1;
  46.         P0=date;
  47.         en=1;
  48.         delayms(5);
  49.         en=0;
  50.         delayms(5);
  51. }

  52. /*初始化*/
  53. void init()
  54. {
  55.         en=0;
  56.         command(0x38);//設(shè)置16x2顯示,5x7點(diǎn)陣,8位數(shù)據(jù)接口
  57.         command(0x0c);//設(shè)置開顯示,不顯示光標(biāo)
  58.         command(0x06);//寫一個字符后地址指針加一
  59.         command(0x01);//顯示清零,數(shù)據(jù)指針清零
  60. }

  61. /**********************DHT11模塊**********************/
  62. uchar receive_byte()//接收一個字節(jié)
  63. {
  64.         uchar i,temp;
  65.         for(i=0;i<8; i++)
  66.         {
  67.                 count = 2;
  68.                 while((!io) && count++)//等待50us低電平結(jié)束并防止死循環(huán)
  69.                         temp = 0;
  70.                 delay1();
  71.                 delay1();
  72.                 delay1();
  73.                 if (io==1)
  74.                 {  
  75.                         temp = 1;
  76.                         count = 2;
  77.                         while(io && count++);
  78.                 }
  79.                 else
  80.                 temp = 0;
  81.                 data_byte<<=1;
  82.                 data_byte|=temp;
  83.         }
  84.         return (data_byte);
  85. }

  86. /*DHT11開始函數(shù)*/
  87. void read_io()//開始信號讀數(shù)據(jù)并校驗(yàn)
  88. {
  89.         io = 0;
  90.         delayms(18);//主機(jī)拉低18ms
  91.         io=1;//DATA總線由上拉電阻拉高 主機(jī)延時20us
  92.         delay1();
  93.         delay1();
  94.         delay1();
  95.         delay1();
  96.         io = 1;//主機(jī)設(shè)置為輸入高電平判斷從機(jī)響應(yīng)信號
  97.         if(!io)
  98.         {  
  99.                 count = 2;  
  100.                 while((!io)&&count++);//判斷DHT11發(fā)出80us低電平響應(yīng)信號是否結(jié)束
  101.                 count = 2;
  102.                 while(io && count++);//判斷DHT11拉高總線80us高電平是否結(jié)束
  103.                 RH_temp = receive_byte();  
  104.                 RL_temp = receive_byte();  
  105.                 TH_temp = receive_byte();  
  106.                 TL_temp = receive_byte();  
  107.                 CK_temp = receive_byte();
  108.                 io = 1;
  109.                 num = (RH_temp+RL_temp+TH_temp+TL_temp);//數(shù)據(jù)校驗(yàn)
  110.                 if(num==CK_temp)
  111.                 {
  112.                         RH_data=RH_temp;
  113.                         RL_data=RL_temp;
  114.                         TH_data=TH_temp;  
  115.                         TL_data=TL_temp;
  116.                         CK_data=CK_temp;  
  117.                 }
  118.         }
  119.         //濕度整數(shù)部分
  120.         SHISHI =  RH_data/10;
  121.         SHIGE  =  RH_data%10;
  122.         //溫度整數(shù)部分
  123.         WENSHI =(char) TH_data/10;
  124.         WENGE = (char) TH_data%10;
  125. }

  126. /*主函數(shù)*/
  127. void main()
  128. {
  129.         P4SW=0x70;
  130.         init();
  131.         while(1)
  132.         {        
  133.                 read_io();
  134.                 command(0x80);
  135.                 information(table[WENSHI]);
  136.                 command(0x81);
  137.                 information(table[WENGE]);
  138.         }
  139. }



復(fù)制代碼

評分

參與人數(shù) 1黑幣 +6 收起 理由
smilexiaoxiao + 6 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品免费一区二区在线观看 | 黑人性hd | 四虎成人免费视频 | 日韩视频在线免费观看 | 亚洲精精品| 色视频在线观看 | 国产精品一二三区 | 高清欧美性猛交 | 视频一区二区中文字幕日韩 | www.婷婷亚洲基地 | 一级毛片视频在线观看 | 国产精品国产a级 | 成人免费影院 | 国产欧美一区二区三区日本久久久 | 欧美成人精品在线 | 九九99精品| 精品久久久久一区二区国产 | 亚洲 中文 欧美 日韩 在线观看 | 国产精品一区一区三区 | 日韩激情网 | 婷婷在线视频 | 看片天堂| 99re在线视频 | 亚洲高清视频在线观看 | 国产精品免费观看 | 亚洲人成免费 | 久久国产精品-国产精品 | 日韩欧美在线一区二区 | 黄色成人在线观看 | 日韩一二区 | 密色视频 | 天天操天天摸天天爽 | 九九色九九 | 久久国产高清 | 麻豆久久久久久久久久 | 久久999| 69精品久久久久久 | 91久久精品国产91久久性色tv | 久久亚洲视频 | 国产亚洲欧美在线 | av大片在线 |