新闻中心

  • 首页 i(name DTH11的使用方法

DTH11的使用方法

2025-03-31 21:31:36


DHT11的外部接线图



其中VCC电压3.3-5V,DATA接MCU,DATA一次性传输40个bit,每8个bit为一个数据,数据高位先出:

湿度整数+湿度小数+温度整数+温度小数+校验和,而且要满足

(湿度整数+湿度小数+温度整数+温度小数)的末八位=校验和

根据DHT11的时序图:


黑色部分代表MCU需要完成的操作,在上电且系统稳定后,MCU将连接DATA的IO口。MCU在DHT11不转换的时候默认高电平。


DTH11的使用方法

在上图可知,MCU将DATA配置成输出,在DTH11空闲状态下拉低至少18ms再拉高20-40us,此时如果DTH11在正常工作状态,它会将主线拉低80us,在拉高80US。所以,当MCU主线拉高20-40us后,应将IO口配置成输入,接收DHT11的响应。如DTH11一直不影响,则需检查硬件。

因为DTH11传输采用单总线的形式,所以它表示0和1有自己特殊的定义,如下图:


DHT11在发送完响应之后,即将主线拉低80us,再拉高80US,则会开始发送数据。数据会有50us的低电平开始,当发送50us的低电平后,紧接着发送的高电平持续时间是26-28us时,表示这个数据为0。


当发送50us的低电平后,紧接着发送的高电平持续时间是70us时,表示这个数据为0。

在程序中,一般使用定时器来计算高电平的时间,将DATA设置成高电平中断模式,当采集到高电平时,定时器开始计时,如果高电平持续时间小于40us~70us则为低电平,这个持续时间可根据实际情况来设定。

40个bit的数据采集完成之后,MCU再将DATA脚拉高,等待下次采集。

安博电竞·(anbo)官方网站