【DHT11】温湿度传感器-51单片机程序分析

视频讲解

 

简介

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最佳选择。产品为4针单排引脚封装,连接方便。

【DHT11】温湿度传感器-51单片机程序分析【DHT11】温湿度传感器-51单片机程序分析

DHT11是一款有已校准数字信号输出的温湿度传感器

供电电压3.3~5.5V DC输 出单总线数字信号测量范围湿度5~95%RH, 温度-20~+60℃

分 辨 率湿度1%RH, 温度0.1℃

 

【DHT11】温湿度传感器-51单片机程序分析

软件流程图

【DHT11】温湿度传感器-51单片机程序分析

程序分析

dht11.c

/**********************************
作者:特纳斯电子
网站:https://www.mcude.com
联系方式:46580829(QQ)
淘宝店铺:特纳斯电子
**********************************/

/**********************************
包含头文件
**********************************/
#include "dht11.h"

/****
*******DHT11延时函数 
*****/
void delay_dht11(uint i)
{
	while(i--);
}

/****
*******DHT11延时1ms函数 
*****/
void delay_ms_dht11(uint i)
{
	while(i--)
		delay_dht11(90);
}

/****
*******从DHT11读取一个字节函数
*******返回值:读到的数据
*****/
uchar DHT11_Read_Byte(void)    
{        
  uchar i,retry,dat=0;
	for (i=0;i<8;i++) 
	{
		dat<<=1;
		
		while(DHT11_DQ_OUT == 0);//等待50us低电平过去
		delay_dht11(3);						//延时30us
		if(DHT11_DQ_OUT)
			dat |= 0x01;
		
		retry=0;
		while(DHT11_DQ_OUT&&retry<100)//等待变为低电平 12-14us 开始
		{
			retry++;
			_nop_();
		}
	}
	return dat;
}

/****
*******从DHT11读取一次数据函数
*******参量定义:	temp:温度值(范围:0~50°)
*******           humi:湿度值(范围:20%~95%)
*******返回值:0:正常; 1:读取失败
*****/
uchar Dht11_Get_Temp_Humi_Value(uint *temp,uint *humi)
{        
 	uchar buf[5];
	uchar i;
	
	DHT11_DQ_OUT=0; 									//拉低DQ
	delay_ms_dht11(21);    						//拉低至少18ms
	DHT11_DQ_OUT=1; 									//DQ=1 
	delay_dht11(4);
	
	if(DHT11_DQ_OUT == 0)
	{
		while(DHT11_DQ_OUT == 0);				//等待80us的低电平过去
		while(DHT11_DQ_OUT == 1);				//等待80us的高电平过去
		for(i=0;i<5;i++)				 				//读取40位数据
		{
			buf[i]=DHT11_Read_Byte();
		}
		if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])//校验和
		{
			*humi=buf[0]*10+buf[1];
			*temp=buf[2]*10+buf[3];
		}
		else
			return 1;
	}
	else
		return 1;

	return 0;	    
}

 

dht11.h

/**********************************
作者:特纳斯电子
网站:https://www.mcude.com
联系方式:46580829(QQ)
淘宝店铺:特纳斯电子
**********************************/

#ifndef _DHT11_H_
#define _DHT11_H_

/**********************************
包含头文件
**********************************/
#include "main.h"

/**********************************
PIN口定义
**********************************/
sbit DHT11_DQ_OUT=P2^0;																				//DQ数据引脚P1.3

/**********************************
函数声明
**********************************/
uchar Dht11_Get_Temp_Humi_Value(uint *temp,uint *humi);				//从DHT11读取一次数据函数

#endif

 

数据手册

1733205669-DHT11

下载权限
查看
  • 免费下载
    评论并刷新后下载
    登录后下载
  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索