找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10299|回复: 8
收起左侧

stm32f103c8t6 DHT11温湿度传感器源码与教程等资料下载

  [复制链接]
ID:359633 发表于 2018-6-26 20:10 | 显示全部楼层 |阅读模式
上一章,我们介绍了数字温度传感器 DS18B20 的使用,本章我们将介绍数字温湿度传感器 DHT11的使用,该传感器不但能测温度,还能测湿度。本章我们将向大家介绍如何使用 STM32F4 来读取 DHT11 数字温湿度传感器,从而得到环境温度和湿度等信息,并把从温湿度值显示在TFTLCD 模块上。本章分为如下几个部分:
36.1 DHT11简介
36.2 硬件设计
36.3 软件设计
36.4 下载验证

36.1 DHT11 简介
DHT11 是一款湿温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个NTC 测温元件,并与一个高性能 8 位单片机相连接。通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。DHT11 与单片机之间能采用简单的单总线进行通信,仅仅需要一个I/O 口。传感器内部湿度和温度数据40Bit的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性。 DHT11 功耗很低, 5V电源电压下,工作平均最大电流0.5mA。
DHT11的技术参数如下:
  工作电压范围:3.3V-5.5V
  工作电流 :平均 0.5mA
  输出:单总线数字信号
  测量范围:湿度 20~90%RH,温度0~50℃
  精度 :湿度±5%,温度±2℃
  分辨率 :湿度1%,温度1℃   
DHT11的管脚排列如图 36.1.1所示:
0.png

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "lcd.h"
  6. #include "usart.h"         
  7. #include "dht11.h"        


  8. int main(void)
  9. {         
  10.         u8 t=0;                            
  11.         u8 temperature;              
  12.         u8 humidity;              

  13.         delay_init();                     //延时函数初始化          
  14.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
  15.         uart_init(115200);                 //串口初始化为115200
  16.         LED_Init();                                  //初始化与LED连接的硬件接口
  17.         LCD_Init();                                   //初始化LCD  
  18.         POINT_COLOR=RED;                //设置字体为红色
  19.         LCD_ShowString(30,50,200,16,16,"WarShip STM32");       
  20.         LCD_ShowString(30,70,200,16,16,"DHT11 TEST");       
  21.         LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
  22.         LCD_ShowString(30,110,200,16,16,"2015/1/16");                  
  23.         while(DHT11_Init())        //DHT11初始化       
  24.         {
  25.                 LCD_ShowString(30,130,200,16,16,"DHT11 Error");
  26.                 delay_ms(200);
  27.                 LCD_Fill(30,130,239,130+16,WHITE);
  28.                 delay_ms(200);
  29.         }                                                                  
  30.         LCD_ShowString(30,130,200,16,16,"DHT11 OK");
  31.         POINT_COLOR=BLUE;//设置字体为蓝色
  32.         LCD_ShowString(30,150,200,16,16,"Temp:  C");         
  33.         LCD_ShowString(30,170,200,16,16,"Humi:  %");         
  34.         while(1)
  35.         {                        
  36.                 if(t%10==0)                        //每100ms读取一次
  37.                 {                                                                          
  38.                         DHT11_Read_Data(&temperature,&humidity);        //读取温湿度值                                            
  39.                         LCD_ShowNum(30+40,150,temperature,2,16);        //显示温度                             
  40.                         LCD_ShowNum(30+40,170,humidity,2,16);                //显示湿度                   
  41.                 }                                  
  42.                  delay_ms(10);
  43.                 t++;
  44.                 if(t==20)
  45.                 {
  46.                         t=0;
  47. ……………………

  48. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
0.png
所有资料51hei提供下载:
DHT11温湿度传感器资料.rar (2.26 MB, 下载次数: 436)
回复

使用道具 举报

ID:524448 发表于 2019-4-30 22:01 | 显示全部楼层
好用吗
回复

使用道具 举报

ID:524448 发表于 2019-4-30 22:02 | 显示全部楼层
是stm32f103C8T6吗
回复

使用道具 举报

ID:329997 发表于 2019-6-27 16:17 | 显示全部楼层
与描述不符
回复

使用道具 举报

ID:457185 发表于 2019-11-1 21:57 | 显示全部楼层
过来学习一下,刚从AVR转stm32,参考一下
回复

使用道具 举报

ID:457185 发表于 2019-11-1 21:59 | 显示全部楼层
果然还是要移植啊,我还以为是源码能直接套用啊
回复

使用道具 举报

ID:63317 发表于 2019-12-2 16:52 | 显示全部楼层

感谢分享 下载了
回复

使用道具 举报

ID:57810 发表于 2019-12-3 20:56 | 显示全部楼层
太感谢谢!好东西
回复

使用道具 举报

ID:294737 发表于 2020-6-27 15:24 | 显示全部楼层
[img]假的,这个老哥不诚信,不是C8t6的,用的是战舰的zet6
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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