1-HDT11 温湿传感器

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 时表示数据为070us表示数据为1---->把40bit发送完后把电平拉低表示结束

通信协议

发送数据

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值