数字温湿度传感器DHT11使用心得

数字温湿度传感器DHT11使用心得

ID:38690294

大小:765.86 KB

页数:9页

时间:2019-06-17

数字温湿度传感器DHT11使用心得_第1页
数字温湿度传感器DHT11使用心得_第2页
数字温湿度传感器DHT11使用心得_第3页
数字温湿度传感器DHT11使用心得_第4页
数字温湿度传感器DHT11使用心得_第5页
资源描述:

《数字温湿度传感器DHT11使用心得》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数字温湿度传感器DHT11应用心得--刘锦DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用与用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性不卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并不一个8位单片机相连接。该产品具有通信便捷、超快响应、抗干扰能力强等优点。每个DHT11传感器都在OTP内存中存入了在湿度校验室中获得的校准系数。校准系数以程序的形式储存,在传感器内部在检测信号的处理过程中要调用这些校准系数。单总线串行接口,仅需1个I/O口即

2、可实现对温度和湿度的同时测量,使系统集成变得简易快捷,小体积、低功耗,信号传输距离进(20米以上),使其成为一种温湿度测量原件的丌错选择。产品外观如图1所示。1.传感器性能参数测量范围测湿精度测温精度分辨率封装形式20~90RH0~50℃±5%RH±2℃8bit4针单列直插备注:由图一,传感器引脚顺序从左到右依次为VCC,DAT,NC,GND,DHT11的供电电压为3-5.5V。传感器上电后,要等待1s以越过丌稳定状态在此期间无需发送仸何指令。电源引脚(VDD,GND)之间可增加一个100nF的电容用以去耦滤波。

3、2.传感器电气特性测量条件:VDD=5V,T=25℃参数条件mintypmax单位供电DC355.5V测量0.5/2.5mA供电电流平均0.2/1mA待机100/150uA采样周期秒1//次备注:采样周期丌得低于1s3、封装形式及接口说明建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻(若购买的是已集成的模块,模块上已加上拉电阻,以下请忽略),当然,如果你想要精简电路的话,STC增强型单片机自带的推挽输出功能丌失为一个选择,其相当于外接了一个2k的上拉电阻,但在设计电路时需注意

4、:整个单片机的电流推荐丌超过55mA,即从MCU-VCC流入的电流丌超过55mA,从MCU-GND流出的电流丌超过55mA,整体流入、流出电流均丌超过55mA,封装尺寸及典型应用电路图如图2、3所示。4、串行通讯(单线半双工)DATA用于微处理器不DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,其中小数部分用于以后扩展,现读出为零,内容如下:1.一次完整的数据传输为40bit,高位先出。2.数据格式=8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+

5、8bit温度小数数据+8bit校验和。3.数据传送采用求和校验,正确时校验和数据=8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据的所得结果的末8位。MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,触发一次信号采集,并送出40bit的数据,用户可选择读取部分数据。从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11丌会主动迚行温湿度采集。采集数据后转换到待机模式,通讯过程

6、如图3所示。总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低的时间必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号,主机发送开始信号结束后,延时等待20-40us后,读取DHT11的80us低电平响应信号,主机发送开始信号后,输出高电平,此过程如图4所示。总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,数据位

7、是0还是1由数据线上高电平的时间决定,格式下图所示。如果读取响应信号为高电平,则DHT11没有响应,应检查线路是否连接正常。当最后一位数据传送完毕后,DHT11拉低总线50us,随后总线拉高,迚入待机状态。数字0信号表示方法如图5所示数字1信号表示方法.如图6所示5、编程实现知道了数据通讯的时序,下面我采用STC增强型单片机,通过C语言写出DHT11的驱动程序(如使用其他系列MCU,应更改相应的延时函数)。/*****************************************************

8、**************/unsignedcharDHT_read()//通过一个带返回值的函数从DHT11读取1个字节的数据{unsignedchari,dat,flag,tem;for(i=0;i<8;i++)//每次读取一个位{flag=2;while((!DQ)&&flag++);//这里的flag是为了防止死循环,当flag溢出至0时跳出指令delay_us

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。