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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機控制DHT11在1602上顯示溫濕度的程序

  [復制鏈接]
跳轉到指定樓層
樓主
ID:199245 發(fā)表于 2018-3-15 19:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
需要的拿去

單片機源程序如下:
  1. #include <reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. typedef bit BOOL;
  5. sbit io = P2^0;
  6. sbit rs = P2^6;  
  7. sbit rw = P2^5;
  8. sbit ep = P2^7;
  9. uchar data_byte;
  10. uchar RH,RL,TH,TL;
  11. /********延時模塊***********/
  12. void delay(uchar ms)
  13. {  // 延時子程序
  14. uchar i;
  15. while(ms--)
  16. {
  17.   for(i = 0;i<250;i++);  
  18. }
  19. }
  20. void delay1()//延時10us
  21. {
  22. uchar i;
  23. i--;
  24. i--;
  25. i--;
  26. i--;
  27. i--;
  28. i--;
  29. }
  30. void longdelay(uchar s) //長延時
  31. {
  32. while(s--)
  33. {
  34.   delay(60);
  35. }
  36. }
  37. BOOL lcd_bz()//測試LCD忙碌狀態(tài)
  38. {
  39. BOOL result;  
  40. rs = 0;  
  41. rw = 1;
  42. ep = 1;
  43. result = (BOOL)(P0 & 0x80);
  44. ep = 0;  
  45. return result;  
  46. }
  47. void write_cmd(uchar cmd)// 寫指令
  48. {  
  49. while(lcd_bz());
  50. rs = 0;
  51. rw = 0;
  52. ep = 0;
  53. P0 = cmd;
  54. ep = 1;
  55. ep = 0;
  56. }
  57. void write_addr(uchar addr)//寫地址
  58. {
  59. write_cmd(addr|0x80);
  60. }
  61. void write_byte(uchar dat)//寫字節(jié)
  62. {  
  63. while(lcd_bz());
  64. rs = 1;
  65. rw = 0;
  66. ep = 0;
  67. P0 = dat;          
  68. ep = 1;
  69. ep = 0;
  70. }
  71. void lcd_init()// 初始化
  72. {
  73. write_cmd(0x38);
  74. delay(1);
  75.   write_cmd(0x08);
  76. delay(1);
  77. write_cmd(0x01);
  78. delay(1);
  79. write_cmd(0x06);
  80. delay(1);  
  81. write_cmd(0x0c);
  82. delay(1);
  83. }
  84. void display(uchar addr, uchar q)//在某一地址上顯示一字節(jié)
  85. {
  86. delay(10);
  87. write_addr(addr);
  88. write_byte(q);
  89. longdelay(2);
  90. }
  91. void start()//開始信號
  92. {
  93. io=1;
  94. delay1();
  95. io=0;
  96. delay(20);//>18ms  
  97. io=1;
  98. delay1();//20-40us
  99. delay1();
  100. delay1();
  101. delay1();
  102. delay1();
  103. }
  104. uchar receive_byte()//接收一個字節(jié)
  105. {
  106. uchar i,temp,count;
  107. for(i=0;i<8;i++)
  108. {
  109.    count=2;  
  110.   while((!io)&&count++)//等待50us低電平結束
  111.   temp=0;
  112.   delay1();
  113.   delay1();
  114.   delay1();
  115.   delay1();
  116.    if(io==1)
  117.   temp=1;
  118.   count=2;
  119.   while((io)&&count++);
  120.   if(count==1)break;
  121. data_byte<<=1;
  122.   data_byte|=temp;
  123. }
  124. return data_byte;
  125. }
  126. void receive()//接收數據
  127. {
  128. uchar T_H,T_L,R_H,R_L,check,num_check;
  129.    uchar count;
  130. start();//開始信號
  131. io=1;
  132. if(!io)//讀取DHT11響應信號
  133. {
  134.   count=2;
  135.   while((!io)&&count++);//DHT11高電平80us是否結束
  136.   count=2;
  137.   while((io)&&count++);
  138.   R_H=receive_byte();
  139.   R_L=receive_byte();
  140.   T_H=receive_byte();
  141.   T_L=receive_byte();
  142.   check=receive_byte();
  143.   io=0;//拉低延時50us
  144.   delay1();
  145.    delay1();
  146.   delay1();
  147.   delay1();
  148.   delay1();
  149.   io=1;
  150.   num_check=R_H+R_L+T_H+T_L;
  151.   if(num_check=check)
  152.   {
  153.    RH=R_H;
  154. RL=R_L;
  155. TH=T_H;
  156. TL=T_L;
  157. check=num_check;
  158.   }
  159. }
  160. }
  161. void main()
  162. {
  163. lcd_init();
  164. delay(10);
  165. while(1)
  166. {
  167.   receive();
  168.   delay(100);
  169.   display(0x00,'R');
  170.   display(0x01,':');
  171.   display(0x02,RH/10+0x30);
  172.    display(0x03,RH%10+0x30);
  173.   display(0x04,'%');
  174.   display(0x40,'T');
  175.   display(0x41,':');                                
  176.   display(0x42,TH/10+0x30);
  177.   display(0x43,TH%10+0x30);
  178. display(0x44,0xdf);
  179.   display(0x45,0x43);
  180. }
  181. }
復制代碼

所有資料51hei提供下載:
程序.rar (29.75 KB, 下載次數: 344)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

來自 2#
ID:427492 發(fā)表于 2019-7-14 21:35 | 只看該作者
我找到一個時序是對的,你們可以參考一下:
/*********************** DHT11測試模塊***************************************/
void start()//開始信號
{
         io=0;
         delay(18);//>18ms
         io=1;
         delay1();//20-40us
         delay1();
         delay1();
         delay1();
}
uchar receive_byte()//接收一個字節(jié)
{
         uchari;
         for(i=0;i<8;i++)
         {      
             data_byte<<=1;                                                                   //循環(huán)左移
                  while(!io);                                                                        //每發(fā)送一位數據間隔50us低電平
                  delay1();delay1();delay1();delay1();        //延遲40us
                  if(io==1)
                  {
                    data_byte=data_byte|0x01;
                    while(io);
                  }
                  else
                  {
                   data_byte=data_byte|0x00;
                  }
         }
         returndata_byte;
}
void receive()//接收數據
{
         ucharT_H,T_L,R_H,R_L,check;
         start();//開始信號
         io=1;
         if(!io)//讀取DHT11響應信號
         {
   while(!io) ;                                    //判斷輸出低電平
   while( io) ;                                                            //判斷輸出高電平
         R_H=receive_byte();      
         R_L=receive_byte();
         T_H=receive_byte();
         T_L=receive_byte();
         check=receive_byte();
         io=0;                                
         delay1();delay1();delay1();delay1();delay1();//拉低延時50us
         io=1;
         if(R_H+R_L+T_H+T_L==check)                        //矯正
         {
                  RH=R_H;
                  RL=R_L;
                  TH=T_H;
                  TL=T_L;
         }
         }
}
回復

使用道具 舉報

板凳
ID:299721 發(fā)表于 2018-3-30 23:51 | 只看該作者
厲害了
回復

使用道具 舉報

地板
ID:77707 發(fā)表于 2018-3-31 08:45 | 只看該作者
不錯,通過編譯。需要溫度傳感器,才能實現測溫。
回復

使用道具 舉報

5#
ID:299278 發(fā)表于 2018-3-31 10:54 | 只看該作者
有protues仿真圖嗎
回復

使用道具 舉報

6#
ID:299931 發(fā)表于 2018-4-1 16:11 | 只看該作者
為啥數據顯示一直是0
回復

使用道具 舉報

7#
ID:308121 發(fā)表于 2018-4-14 18:28 | 只看該作者
51宅男 發(fā)表于 2018-4-1 16:11
為啥數據顯示一直是0

你解決問題了嗎?
回復

使用道具 舉報

8#
ID:382962 發(fā)表于 2018-8-11 16:54 | 只看該作者
顯示一直是0
回復

使用道具 舉報

9#
ID:294657 發(fā)表于 2018-9-2 21:55 | 只看該作者
是1602顯示嗎,為什么我的沒有顯示呢
回復

使用道具 舉報

10#
ID:303383 發(fā)表于 2018-9-2 22:55 | 只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

11#
ID:291850 發(fā)表于 2018-10-27 11:19 | 只看該作者
溫濕度一直是0是什么情況啊?小白不太懂啊
回復

使用道具 舉報

12#
ID:291850 發(fā)表于 2018-10-27 13:25 | 只看該作者
貌似DHT11數據一直沒收到
回復

使用道具 舉報

13#
ID:85740 發(fā)表于 2019-3-13 09:29 | 只看該作者
11.0592 stc89c52rc實測無法成功和dht11通信成功。
回復

使用道具 舉報

14#
ID:368574 發(fā)表于 2019-3-16 15:37 | 只看該作者
beyonbirth 發(fā)表于 2018-10-27 13:25
貌似DHT11數據一直沒收到

我的也是只顯示0
回復

使用道具 舉報

15#
ID:501427 發(fā)表于 2019-4-4 19:24 | 只看該作者

解決了嗎?我也顯示是0,什么情況啊
回復

使用道具 舉報

16#
ID:243819 發(fā)表于 2019-4-5 13:02 | 只看該作者
先贊一個!
回復

使用道具 舉報

17#
ID:182535 發(fā)表于 2019-4-27 15:20 | 只看該作者
正好需要。。。。。。。。。
回復

使用道具 舉報

18#
ID:520461 發(fā)表于 2019-5-6 20:16 | 只看該作者
beyonbirth 發(fā)表于 2018-10-27 13:25
貌似DHT11數據一直沒收到

解決了沒
回復

使用道具 舉報

19#
ID:545996 發(fā)表于 2019-7-2 22:16 | 只看該作者
顯示0怎么辦
回復

使用道具 舉報

20#
ID:427492 發(fā)表于 2019-7-14 21:18 | 只看該作者
時序有問題,就一直顯示初始化時的值
回復

使用道具 舉報

21#
ID:623338 發(fā)表于 2019-11-10 12:55 | 只看該作者
你們解決了嗎
回復

使用道具 舉報

22#
ID:56204 發(fā)表于 2019-11-29 02:50 來自手機 | 只看該作者
113333 發(fā)表于 2019-11-10 12:55
你們解決了嗎

學習一下,感謝分享
回復

使用道具 舉報

23#
ID:631951 發(fā)表于 2019-11-29 10:34 | 只看該作者
楓樹566 發(fā)表于 2019-7-14 21:35
我找到一個時序是對的,你們可以參考一下:
/*********************** DHT11測試模塊******************** ...

我用了你這個,也不好用 啊,一直顯示00
回復

使用道具 舉報

24#
ID:638896 發(fā)表于 2019-12-5 20:25 | 只看該作者
不行,啥都不顯示,大家別看了,去找下一個。
回復

使用道具 舉報

25#
ID:638896 發(fā)表于 2019-12-6 11:00 | 只看該作者
不行,顯示不了。
回復

使用道具 舉報

26#
ID:791947 發(fā)表于 2020-6-29 16:09 | 只看該作者
為什么我的是什么都不顯示
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91看片视频 | 久久久久久九九九九九九 | 国产亚洲区 | 欧美精品在线播放 | 一二三四在线视频观看社区 | 精品亚洲永久免费精品 | 亚洲一区毛片 | 欧美日韩国产三级 | 国产成人精品一区二区 | 欧美一区视频 | 天堂一区二区三区 | 91 久久| 欧美性受xxxx白人性爽 | 亚洲福利av| 成人欧美一区二区三区黑人孕妇 | 在线视频a | 91av免费版| 欧美视频1 | 亚洲成年在线 | 九九热在线免费观看 | 在线日韩欧美 | 皇色视频在线 | 久久夜色精品国产 | 自拍视频国产 | 国产欧美日韩精品一区二区三区 | 久久天天躁狠狠躁夜夜躁2014 | 天堂成人国产精品一区 | 免费在线观看一区二区 | 欧美亚洲国产成人 | 久久精品亚洲 | 日本久久视频 | 成人精品一区二区三区中文字幕 | 91九色婷婷 | 国产成人福利视频在线观看 | 美女黄视频网站 | 亚洲一区中文字幕 | 亚洲一区二区三区在线 | 成人一区二区三区在线观看 | 亚洲天天干| 欧美综合国产精品久久丁香 | 欧美精品1区|