资讯详情

DHT11温湿度传感器

1、封装信息

2、DHT11通讯总介

?微处理器与DHT 通信与同步, 采用单总线数据格式,一次通信时间4ms数据分为小数部分和整数部分。一次完整的数据传输为40bit, 高位先出。

?数据格式:8bit湿度整数数据 8bit湿度小数据 8bi温度整数据 8bit温度小数据 8bit校验和

?当数据传输正确时, 验证和数据等于8bit湿度数据 8bit湿度小数据 8bi温度整数据 8bit温度小数据结果最后8位。

3、DHT唤醒工作和睡眠

?DHT 在没有主机唤醒的情况下,11处于低功耗模式。

?当需要使用时, MCU发送开始信号, DHT 从低功耗模式到高速模式,11 等待主机开始信号结束后, DHT 11发送响应信号, 送出40bit的数据, 并触发信号采集。

?若未收到主机发送的开始信号, DHT 11不会主动采集温湿度.采集数据后,转换为低速模式。

4、DHT11通讯过程

?总线在空闲的时候为高电平

?主机拉下总线等待DHT 响应11。降低时间必须大于18毫秒, 保证DHT 起始信号可以检测到。

?DHT 11接收到主机的开始信号后, 等待主机开始信号结束,然后发送80us低电平响应信号。

?主机发送开始信号后, 延时等待20-40us后, 读取DHT 11的响应信号。(主机发送开始信号后,可以切换到输入模式,或者输出高电平均可)

?当最后一bit数据传输后, DHT 11拉低总线50us, 然后总线从上拉电阻拉高到空闲状态。

5、DHT11通讯时序图

?总时序图

?主机呼叫和DHT11回应

?信号0表示

?信号1表示

6、参考代码

 void COM(void)  {   U8 i;  for(i=0;i<8;i  )   {   U8FLAG=2;  //----------------------  P2_1=0 ; //T  P2_1=1 ; //T  //----------------------   while((!P2_0)&&U8FLAG  );  Delay_10us();  Delay_10us();  // Delay_10us();   U8temp=0;  if(P2_0)U8temp=1;  U8FLAG=2;  while((P2_0)&&U8FLAG  );    //----------------------  P2_1=0 ; //T  P2_1=1 ; //T  //----------------------  ///超时跳出for循环   if(U8FLAG==1)break;  ///判断数据位是0还是1   // 如果高电平高于预定的0高电平值,则数据位置 1    U8comdata<<=1;   U8comdata|=U8temp; //0  }//rof   }         void RH(void) {  ///主机拉低18ms   P2_0=0;  Delay(180);  P2_0=1; ///总线由上拉电阻拉高 主机延时20us  Delay_10us();  Delay_10us();  Delay_10us();  Delay_10us(); ///主机设置为输入 判断从机响应信号   P2_0=1; ///判断从机是否有低电平响应信号 不响应就跳出,响应向下运行   if(!P2_0) //T !P2_0) //T !   {  U8FLAG=2; ///判断从机是否发出 80us 低电平响应信号是否结束   while((!P2_0)&&U8FLAG  );  U8FLAG=2; ///判断从机是否发出 80us 的高电平,如果发出,则进入数据接收状态  while((P2_0)&&U8FLAG  ); ///数据接收状态   COM();  U8RH_data_H_temp=U8comdata;  COM();  U8RH_data_L_temp=U8comdata;  COM();  U8T_data_H_temp=U8comdata;  COM();  U8T_data_L_temp=U8comdata;  COM();  U8checkdata_temp=U8comdata;  P2_0=1; ///数据校验   U8temp=(U8T_data_H_temp U8T_data_L_temp U8RH_data_H_temp U8RH_data_L_temp);  if(U8temp==U8checkdata_temp)  {   U8RH_data_H=U8RH_data_H_temp;   U8RH_data_L=U8RH_data_L_temp;  U8T_data_H=U8T_data_H_temp;   U8T_data_L=U8T_data_L_temp;   U8checkdata=U8checkdata_temp;    }//fi
    }//fi

标签: 主动的传感器易优控网络温湿度变送器传感器if5505011a传感器8161cdrh10d25贴片电感参数

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台