1. 单总线传送数据位定义
DATA 用于微处理器与 DHT11 之间的通讯和同步,采用单总线数据格式, 一次传送 40 位数据,高位先出。
2. 数据格式:
8bit 湿度整数数据 + 8bit 湿度小数数据+8bit 温度整数数据 + 8bit 温度小数数据+8bit 校验位。
3. 校验位数据定义
(8bit 湿度整数数据 + 8bit 湿度小数数据+8bit 温度整数数据 + 8bit 温度小数数据”) = 8bit 校验位等于所得结果的末 8 位。
4. 示例:接收到的 40 位数据为(读取数据的顺序是从高位到低位(最先读的数是校验码(1011))):
0011 0101 0000 0000 0001 1000 0000 0000 0100 1101
湿度高8位 湿度低8位 温度高8位 温度低8位 校验位
计算:
00110101 + 00000000 + 00011000 + 00000000 = 01001101
(校验位和计算结果不一样。表示数据不正确,放弃,重新接收数据。)
接收数据正确:
湿度: 0011 0101=35H=53%RH
温度: 0001 1000=18H=24℃
注:主机从 DHT11 读取的温湿度数据总是前一次的测量值,如两次测间隔时间很长,请连续读两次以
第二次获得的值为实时温湿度值。
5. 是主设备先发起数据的需要,步骤如下:
1. honst->把引脚设为输出 -> 并把电平拉高(令HDT从底速到高速运行) -> 在某一时刻把电平拉
低(18ms)后拉高 -> 使引脚为输入状态 --> 在拉高后的20~40ms内HDT把电平拉低80us响应 ->
26~28us 时表示数据为0(70us表示数据为1)---->把40bit发送完后把电平拉低表示结束
1-HDT11 温湿传感器
最新推荐文章于 2024-07-19 17:24:44 发布