dht11温湿度传感器使用手册 dht11温湿度传感器视频

2025-03-18 10:32 - 立有生活网

简单通俗易懂的DHT11传感器51单片机控制

#include

dht11温湿度传感器使用手册 dht11温湿度传感器视频dht11温湿度传感器使用手册 dht11温湿度传感器视频


dht11温湿度传感器使用手册 dht11温湿度传感器视频


#include

typedef unsigned char unint8;

typedef unsigned char unint16;

unsigned char str1[]={" "};

unsigned char str2[]={" "};

unsigned char code dis1[] = {"TRH RH: "};

unsigned char code dis2[] = {"TRH T: "};

char code led[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

it TRH = P2^7;//温湿度传感器DHT11数据接入

it ST = P2^6;//状态显示,是为了方便调试,具体使用的时候可以不要

it led1= P2^0;

it led2= P2^1;

it led3= P2^2;

it led4= P2^3;

it sw = P2^4;

unint8 TH_data,TL_data,RH_data,RL_data,CK_data;

unint8 TH_temp,TL_temp,RH_temp,RL_temp,CK_temp;

unint8 com_data,untemp,temp;

unint8 respond;

//

void delayNOP()

{int i;

for(i=0;i<7;i++)

{_nop_();

_nop_();

_nop_();

_nop_();

}}

//

//

// 毫秒级延时子程序

//

void delay_ms(unsigned char ms)

{unsigned char i,j;

while(ms--)

{for(i = 0; i< 115; i++);

}}

//

//

//5us级延时程序

//

void delay_us()

{ char i,j;

for(j=0;j<7;j++)

{i--;

i--;

i--;

i--;

i--;

i--;}

}//

//

//

//

//收发信号检测,数据读取

//

char receive()

{unint8 i;

ST=0;

com_data=0;

for(i=0;i<=7;i++)

{respond=2;

while((!TRH)&&respond++);

delay_us();

delay_us();

delay_us();

if(TRH)

{temp=1;

respond=2;

while((TRH)&&respond++);

}else

temp=0;

com_data<<=1;

com_data|=temp;

}return(com_data);

}//

//

//湿度读取子程序

//温度高8位== TL_data

//温度低8位== TH_data

//湿度高8位== RH_data

//湿度低8位== RH_data

//校验 8位 == CK_data

//调用的程序有 delay();, Delay_5us();,RECEIVE();

//

void read_TRH()

{//主机拉低18ms

TRH=0;

delay_ms(18);

TRH=1;

//DATA总线由上拉电阻拉高 主机延时20us

delay_us();

delay_us();

delay_us();

delay_us();

//delay_us();

//delay_us();delay_us();delay_us();delay_us();

//主机设为输入 判断从机响应信号

TRH=1;

//判断DHT11是否有低电平响应信号 如不响应则跳出,响应则向下运行

if(!TRH)

{respond=2;

//判断DHT11发出 80us 的低电平响应信号是否结束

while((!TRH)&& respond++);

respond=2;

//判断从机是否发出 80us 的高电平,如发出则进入数据接收状态

while(TRH && respond++);

//数据接收状态

RH_temp = receive();

RL_temp = receive();

TH_temp = receive();

TL_temp = receive();

CK_temp = receive();

TRH=1;ST=1;

//数据校验

untemp=(RH_temp+RL_temp+TH_temp+TL_temp);

if(untemp==CK_temp)

{RH_data = RH_temp;

RL_data = RL_temp;

TH_data = TH_temp;

TL_data = TL_temp;

CK_data = CK_temp;

}}

//湿度整数部分

str1[0] = (char)(0X30+RH_data/10);

str1[1] = (char)(0X30+RH_data%10);

str1[2] = 0x2e; //小数点

//湿度小数部分

str1[3] = (char)(0X30+RL_data/10);

str1[5] = 0X25; //"%"

str1[6] = 0X52; //"R"

str1[7] = 0X48; //"H"

//温度整数部分

str2[0] = (char)(0X30+TH_data/10);

str2[1] = (char)(0X30+TH_data%10);

str2[2] = 0x2e; //小数点

//温度小数部分

str2[3] = (char)(0X30+TL_data/10);

str2[5] = 0X27; //"'"

str2[6] = 0X43; //"C"

}void disp(num)

{int i=1000;

unsigned char a,b,c;

while(i>0)

{i--;

a=b=c=0;

a = num/100;

b = (num%100)/10;

c = (num%100)%10;

led1 = 1;

led2 = 0;

led3 = 0;

P1 = led[a];

delay_ms(10);

led1 = 0;

led2 = 1;

led3 = 0;

P1 = led[b];

delay_ms(10);

led1 = 0;

led2 = 0;

led3 = 1;

P1 = led[c];

delay_ms(10);

}}

//

//主函数

//TH,TL,RH,RL分别代表温湿度的整数和小数部分

//

void main()

{unsigned char i,m;

while(1)

{read_TRH();

if (RH_data>30)

{sw = 1;

}else

{sw = 0;

}disp(RH_data);

}}

DHT11温湿度传感器

用户MCU发送一次开始信号后——》DHT11从低功耗模式转换到高速模式

等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,

采集数据后转换到低速模式

总线空闲状态为高电平

主机把总线拉低(大于18毫秒,保证DHT11能检测到)等待DHT11响应,

DHT11接收到主机的开始信号后,等待主机开始信号结束(主机拉高并延时等待),然后发送80us低电平响应信号.

主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,(如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.)

主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。

数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”

所得结果的末8位。

dht11温湿度传感器

DHT11是一款湿温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接,通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。

dht11数据格式

DHT11与单片机之间能采用简单的单总线进行通信,仅仅需要一个TO口,传感器内部湿度和温度数据40Bit的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性,DHT11功耗很低,5V电源电压下,工作平均电流0.5mA。

DHT11数字湿温度传感器采用单总线数据格式,其数据包由5Byte(40Bit)组成,数据分小数部分和整数部分,一次完整的数据传输为40bit,高位先出,DHT11的数据格式为:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和,其中校验和数据为前四个字节相加。

无限极产品价格一览表(无限极产品价格一览表

您好,今天小篇来为大家解答以上的问题。无限极产品价格一览表相信很多小伙伴还不知道,现在让我们一起来看看吧! 无限极产品价格一览表(无限极产品价格一览表2018) 无限极产品价格一览表(无限···

墙面翻新一平米多少钱 墙面翻新刷漆多少钱一

小怡今天给分享墙面翻新一平米多少钱的知识,其中也会对墙面翻新刷漆多少钱一平方进行解释,希望能解决你的问题,请看下面的文章阅读吧! 墙面翻新一平米多少钱 墙面翻新刷漆多少钱一平方···

网站安全扫描 网站扫描攻击包括

大家好,今日小柳来为大家解答以上的问题。网站安全扫描,网站扫描攻击包括很多人还不知道,现在让我们一起来看看吧! 网站安全扫描 网站扫描攻击包括 网站安全扫描 网站扫描攻击包括 1、···