DHT11外部接线图
VCC电压为3.3-5V,DATA连接MCU,DATA一次发送40位。每8位有一个数据,首先输出数据的最高有效位。
必须满足整数湿度+小数湿度+整数温度+小数温度+校验和。
(湿度整数+湿度小数+温度整数+温度小数)的后8位=校验和
根据DHT11时序图:
黑色部分代表上电且系统稳定后MCU必须完成的操作。将MCU 连接到DATA IO 端口。如果DHT11不转换,MCU将默认为高电平。
从上图可以看出,当DTH11 空闲时,MCU 将DATA 设置为输出,并保持低电平至少18ms,然后保持高电平20-40us。 DTH11 处于正常工作状态,将主线拉低80 s,然后拉高80 US。因此,如果MCU的主线被拉高20-40s,则IO端口应配置为输入以接收DHT11的响应。如果DTH11 不受影响,您应该检查您的硬件。
DTH11传输采用单总线的形式,这意味着0和1有自己的特殊定义,如下所示。
发送响应后,DHT11 将主线拉低80 微秒,然后拉高80 微秒,然后开始发送数据。数据以50us的低电平开始,立即发送,高电平持续时间为26-28us,即数据为0。
如果发送50us低电平,高电平持续70us,则表示数据为0。
程序通常使用定时器来计算高电平的持续时间,一旦采集到高电平,如果小于高电平的持续时间,定时器就开始计数。 40us~70us,低电平,该时间段可根据实际情况设置。
一旦40 位数据采集完成,MCU 将DATA 引脚拉高并等待下一次采集。
版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。