找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12640|回复: 38
收起左侧

DHT11+1602显示温湿度视频教程与程序

  [复制链接]
ID:202948 发表于 2017-5-20 19:43 | 显示全部楼层 |阅读模式
DHT11的使用和解释,附件里面还附带视频教程

0.png

DHT11+单片机与lcd1602液晶屏链接的io:
0.png 0.png

DHT11单片机源程序如下:
  1. /*********************************************************************************
  2. * 【编写时间】: 3月5日
  3. * 【作    者】: 清翔电子:03
  4. * 【版    本】: 2.0
  5. * 【实验平台】: QX-MINI51 单片机开发板
  6. * 【外部晶振】: 11.0592mhz        
  7. * 【主控芯片】: STC89C52
  8. * 【编译环境】: Keil μVisio3        
  9. * 【程序功能】: DHT11  第三脚悬空    DHT11孔面面向开发板外                                                                                   
  10. * 【使用说明】:
  11. *  说明:免费开源,不提供源代码分析.
  12. **********************************************************************************/

  13. //   湿度20-90   温度0-50  采样间隔1S
  14. #include <intrins.h>
  15. #include "lcd.h"
  16. sbit DQ=P3^7;    //DTH11
  17. uchar code ASCII[]="0123456789%c";
  18. uchar code table0[]="    Hum:00";
  19. uchar code table1[]="    Tem:00";
  20. uchar tem;
  21. uchar hum;
  22.    
  23. display0[2]={0,0};
  24. display1[2]={0,0};
  25.       
  26. //**************************延时函数
  27. void delay_ms(uint z)
  28. {
  29. uint x,y;
  30. for(x=z;x>0;x--)
  31.   for(y=114;y>0;y--);
  32. }
  33. //**************************初始化DTH11
  34. bit Init_DTH11()
  35. {
  36. bit flag;
  37. uchar num;
  38. DQ=0;
  39. delay_ms(19);   // >18ms
  40. DQ=1;
  41. for(num=0;num<10;num++);   // 20-40us    34.7us
  42. for(num=0;num<12;num++);
  43. flag=DQ;
  44. for(num=0;num<11;num++); //DTH响应80us
  45. for(num=0;num<24;num++);    //DTH拉高80us
  46. return flag;
  47. }
  48. //****************************读DTH11数据
  49. uchar DTH11_RD_CHAR()
  50. {
  51. uchar byte=0;
  52. uchar num;
  53. uchar num1;
  54. while(DQ==1);
  55. for(num1=0;num1<8;num1++)
  56. {
  57.   while(DQ==0);
  58.   byte<<=1;     //高位在前
  59.   for(num=0;DQ==1;num++);
  60.   if(num<10)
  61.    byte|=0x00;
  62.   else
  63.    byte|=0x01;
  64. }
  65. return byte;
  66. }
  67. //******************************读取DTH11温度和湿度
  68. void  DTH11_DUSHU()
  69. {
  70. uchar num;
  71. if(Init_DTH11()==0)
  72. {
  73.   hum=DTH11_RD_CHAR();   //比正常值高7度左右
  74.   DTH11_RD_CHAR();
  75.   tem=DTH11_RD_CHAR();
  76.   DTH11_RD_CHAR();
  77.   DTH11_RD_CHAR();
  78.   for(num=0;num<17;num++);  //最后BIT输出后拉低总线50us
  79.   DQ=1;
  80. }
  81. }
  82. //***********************************显示函数
  83. void Display_DTH11()  
  84. {
  85. display0[1]=hum/10%10;
  86. display0[0]=hum%10;

  87. LcdShowStr(0,  0, table0);
  88. DisplayOneChar (8,  0, ASCII[ display0[1] ] );
  89. DisplayOneChar (9,  0, ASCII[ display0[0] ] );
  90. DisplayOneChar (10, 0, ASCII[10] );     //显示湿度
  91. display1[1]=tem/10%10;
  92. display1[0]=tem%10;
  93. LcdShowStr(0,  1, table1);
  94. DisplayOneChar (8,  1, ASCII[ display1[1] ] );
  95. DisplayOneChar (9,  1, ASCII[ display1[0] ] );
  96. DisplayOneChar (10, 1, 0xdf );
  97. DisplayOneChar (11, 1, ASCII[11] );     //显示温度         
  98. }  
  99. ……………………

  100. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
DHT11_MINI51.rar (11.66 MB, 下载次数: 574)

评分

参与人数 2黑币 +6 收起 理由
YUQIAN123 + 5 很给力!
Horatio + 1 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:207230 发表于 2017-6-7 15:16 | 显示全部楼层
我想问下我咋显示不出来?
回复

使用道具 举报

ID:209890 发表于 2017-6-10 18:12 | 显示全部楼层
我也显示不出来,买的板子就是这家的东西
回复

使用道具 举报

ID:218178 发表于 2017-7-10 15:07 | 显示全部楼层
请问一下大佬如果想要温度和湿度间隔一秒轮流显示,请问应该在哪里进行修改,怎么修改
回复

使用道具 举报

ID:218178 发表于 2017-7-10 15:09 | 显示全部楼层
请问一下如果想要让温度和湿度间隔一秒轮流显示,应该怎么修改呢,感谢
回复

使用道具 举报

ID:231437 发表于 2017-9-28 14:44 | 显示全部楼层
mmp123 发表于 2017-6-10 18:12
我也显示不出来,买的板子就是这家的东西

发份给我行不1336853983@qq.com
回复

使用道具 举报

ID:231437 发表于 2017-9-28 15:11 | 显示全部楼层
mmp123 发表于 2017-6-10 18:12
我也显示不出来,买的板子就是这家的东西

给我份程序行吗
回复

使用道具 举报

ID:269181 发表于 2017-12-30 13:49 | 显示全部楼层
支持一下 !
回复

使用道具 举报

ID:270891 发表于 2018-1-3 16:49 | 显示全部楼层
求程序
回复

使用道具 举报

ID:86862 发表于 2018-1-14 14:18 | 显示全部楼层
很不错的资源
回复

使用道具 举报

ID:86862 发表于 2018-1-14 14:19 | 显示全部楼层
很好
回复

使用道具 举报

ID:288215 发表于 2018-3-7 21:23 | 显示全部楼层
如果程序没问题的话,就可能是头文件的问题。我看到这个lcd.h里有reg51.h,建议运行下,看是什么报错。
回复

使用道具 举报

ID:275419 发表于 2018-4-7 15:48 | 显示全部楼层
资源不错,顶一下
回复

使用道具 举报

ID:303879 发表于 2018-4-12 13:35 | 显示全部楼层
为什么我烧进去 LCD显示不出东西?!!!!!!
回复

使用道具 举报

ID:310828 发表于 2018-4-18 13:55 | 显示全部楼层
很不错的资源
回复

使用道具 举报

ID:274244 发表于 2018-4-21 12:59 | 显示全部楼层
很棒的。。加油
回复

使用道具 举报

ID:314649 发表于 2018-4-23 17:32 | 显示全部楼层
很棒哦
回复

使用道具 举报

ID:315861 发表于 2018-5-7 21:14 | 显示全部楼层
求程序
回复

使用道具 举报

ID:324954 发表于 2018-5-8 13:35 | 显示全部楼层
qiu程序
回复

使用道具 举报

ID:272459 发表于 2018-5-11 11:56 | 显示全部楼层
可以可以可以可以可以
回复

使用道具 举报

ID:300570 发表于 2018-5-12 09:26 | 显示全部楼层
无法下载,坑了我15黑币
回复

使用道具 举报

ID:328079 发表于 2018-5-12 13:48 | 显示全部楼层
谢谢楼主,正好需要,顶一下
回复

使用道具 举报

ID:327883 发表于 2018-5-12 19:25 | 显示全部楼层
大哥你这使用说明视频时啥啊,连个声音也没有,对着dht11摸,也没讲解
回复

使用道具 举报

ID:327883 发表于 2018-5-12 19:32 | 显示全部楼层
楼主有原理图吗,我模拟的不能用啊
回复

使用道具 举报

ID:283987 发表于 2018-5-16 19:04 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

ID:334750 发表于 2018-5-21 11:26 | 显示全部楼层
想要完整程序
回复

使用道具 举报

ID:325923 发表于 2018-6-5 00:34 | 显示全部楼层
谢谢楼主的分享
回复

使用道具 举报

ID:446097 发表于 2018-12-26 16:19 来自手机 | 显示全部楼层
等下回去试一试
回复

使用道具 举报

ID:510485 发表于 2019-4-22 15:37 | 显示全部楼层
感谢分享。。。。。。
回复

使用道具 举报

ID:518785 发表于 2019-4-22 17:22 | 显示全部楼层
谢谢楼主的分享,对我很有用
回复

使用道具 举报

ID:501681 发表于 2019-4-29 13:39 | 显示全部楼层
下来试一下吧
回复

使用道具 举报

ID:535220 发表于 2019-5-14 09:24 | 显示全部楼层
有没有人仿真可以显示的 我的不行
回复

使用道具 举报

ID:535220 发表于 2019-5-19 10:05 | 显示全部楼层
有没有仿真只显示00的 我的仿真不行 实物可以 求解
回复

使用道具 举报

ID:542074 发表于 2019-5-19 14:52 | 显示全部楼层
吼吼~很棒哦
回复

使用道具 举报

ID:542074 发表于 2019-5-19 14:52 | 显示全部楼层
嗯嗯,真的是太棒了,很有效呢(我还没有下载)
回复

使用道具 举报

ID:546729 发表于 2019-5-25 16:57 | 显示全部楼层
可以发一下源代码吧
回复

使用道具 举报

ID:375799 发表于 2019-7-11 17:22 | 显示全部楼层
这样写uchar code table0[]="    Hum:00";
         uchar code table1[]="    Tem:00";
确定会实时显示
回复

使用道具 举报

ID:341833 发表于 2020-1-22 23:51 | 显示全部楼层
显示不了
回复

使用道具 举报

ID:375228 发表于 2020-1-29 20:45 | 显示全部楼层
谢谢分享,很好的学习资料
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表