DHT11使用.docx

上传人:b****2 文档编号:17518505 上传时间:2023-07-26 格式:DOCX 页数:18 大小:228.09KB
下载 相关 举报
DHT11使用.docx_第1页
第1页 / 共18页
DHT11使用.docx_第2页
第2页 / 共18页
DHT11使用.docx_第3页
第3页 / 共18页
DHT11使用.docx_第4页
第4页 / 共18页
DHT11使用.docx_第5页
第5页 / 共18页
DHT11使用.docx_第6页
第6页 / 共18页
DHT11使用.docx_第7页
第7页 / 共18页
DHT11使用.docx_第8页
第8页 / 共18页
DHT11使用.docx_第9页
第9页 / 共18页
DHT11使用.docx_第10页
第10页 / 共18页
DHT11使用.docx_第11页
第11页 / 共18页
DHT11使用.docx_第12页
第12页 / 共18页
DHT11使用.docx_第13页
第13页 / 共18页
DHT11使用.docx_第14页
第14页 / 共18页
DHT11使用.docx_第15页
第15页 / 共18页
DHT11使用.docx_第16页
第16页 / 共18页
DHT11使用.docx_第17页
第17页 / 共18页
DHT11使用.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DHT11使用.docx

《DHT11使用.docx》由会员分享,可在线阅读,更多相关《DHT11使用.docx(18页珍藏版)》请在冰点文库上搜索。

DHT11使用.docx

DHT11使用

数字温湿度传感器

DHT11

►相对湿度和温度测量

►全部校准,数字输出

►卓越的长期稳定性

►无需额外部件

►超长的信号传输距离

►超低能耗

►4引脚安装

►完全互换

DHT11产品概述

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。

它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。

传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。

因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。

每个DHT11传感器都在极为精确的湿度校验室中进行校准。

校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。

单线制串行接口,使系统集成变得简易快捷。

超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。

产品为4针单排引脚封装。

连接方便,特殊封装形式可根据用户需求而提供。

应用领域

►暖通空调►测试及检测设备

►汽车►数据记录器

►消费品►自动控制

►气象站►家电

►湿度调节器►医疗

►除湿器

 

型号

测量范围

测湿精度

测温精度

分辨力

封装

DHT11

20-90%RH0-50℃

±5%RH

±2℃

1

4针单排直插

 

1、传感器性能说明

参数

条件

Min

Typ

Max

单位

湿度

分辨率

1

1

1

%RH

8

Bit

重复性

±1

%RH

精度

25℃

±4

%RH

0-50℃

±5

%RH

互换性

可完全互换

量程范围

0℃

30

90

%RH

25℃

20

90

%RH

50℃

20

80

%RH

响应时间

1/e(63%)25℃,1m/s空气

6

10

15

S

迟滞

±1

%RH

长期稳定性

典型值

±1

%RH/yr

温度

分辨率

1

1

1

8

8

8

Bit

重复性

±1

精度

±1

±2

量程范围

0

50

响应时间

1/e(63%)

6

30

S

2、接口说明

建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻

3、电源引脚

DHT11的供电电压为3-5.5V。

传感器上电后,要等待1s以越过不稳定状态在此期间无需发送任何指令。

电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波。

4、串行接口(单线双向)

DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:

一次完整的数据传输为40bit,高位先出。

数据格式:

8bit湿度整数数据+8bit湿度小数数据

+8bi温度整数数据+8bit温度小数数据

+8bit校验和

数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。

用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。

1.通讯过程如图1所示

图1

总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。

DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后,读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线由上拉电阻拉高。

图2

 

总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。

数字0信号表示方法如图4所示

图4

数字1信号表示方法.如图5所示

图5

5、测量分辨率

测量分辨率分别为8bit(温度)、8bit(湿度)。

 

6、电气特性

VDD=5V,T=25℃,除非特殊标注

参数

条件

min

typ

max

单位

供电

DC

3

5

5.5

V

供电电流

 

测量

0.5

2.5

mA

平均

0.2

1

mA

待机

100

150

uA

采样周期

1

注:

采样周期间隔不得低于1秒钟。

7、应用信息

7.1工作与贮存条件

超出建议的工作范围可能导致高达3%RH的临时性漂移信号。

返回正常工作条后,传感器会缓慢地向校准状态恢复。

要加速恢复进程/可参阅7.3小节的“恢复处理”。

在非正常工作条件下长时间使用会加速产品的老化过程。

7.2暴露在化学物质中

电阻式湿度传感器的感应层会受到化学蒸汽的干扰,化学物质在感应层中的扩散可能导致测量值漂移和灵敏度下降。

在一个纯净的环境中,污染物质会缓慢地释放出去。

下文所述的恢复处理将加速实现这一过程。

高浓度的化学污染会导致传感器感应层的彻底损坏。

7.3恢复处理

置于极限工作条件下或化学蒸汽中的传感器,通过如下处理程序,可使其恢复到校准时的状态。

在50-60℃和<10%RH的湿度条件下保持2小时(烘干);随后在20-30℃和>70%RH的湿度条件下保持5小时以上。

7.4温度影响

气体的相对湿度,在很大程度上依赖于温度。

因此在测量湿度时,应尽可能保证湿度传感器在同一温度下工作。

如果与释放热量的电子元件共用一个印刷线路板,在安装时应尽可能将DHT11远离电子元件,并安装在热源下方,同时保持外壳的良好通风。

为降低热传导,DHT11与印刷电路板其它部分的铜镀层应尽可能最小,并在两者之间留出一道缝隙。

7.5光线

长时间暴露在太阳光下或强烈的紫外线辐射中,会使性能降低。

7.6配线注意事项

DATA信号线材质量会影响通讯距离和通讯质量,推荐使用高质量屏蔽线。

 

8、封装信息

9、DHT11引脚说明

Pin

名称

注释

1

VDD

供电3-5.5VDC

2

DATA

串行数据,单总线

3

NC

空脚,请悬空

4

GND

接地,电源负极

10、焊接信息

手动焊接,在最高260℃的温度条件下接触时间须少于10秒。

11、注意事项

(1)避免结露情况下使用。

(2)长期保存条件:

温度10-40℃,湿度60%以下。

 

12、例程

12.1汇编例程

;*********************************************;

;DHT11使用范例

;单片机:

AT89S52或STC89C52RC

;功能;串口发送温湿度数据波特率9600

;硬件连接:

P2.0口为通讯口连接DHT11,DHT11的电源和地连接单片机的电源和地,单片机串口加MAX232连接电脑

;公司;**********

;*********************************************;

;--------------------

;----变量定义区------

;--------------------

FLAGEQU30H

U8comdataEQU31H

U8T_data_HEQU32H

U8T_data_LEQU33H

U8RH_data_HEQU34H

U8RH_data_LEQU35H

U8checkdataEQU36H

U8tempEQU37H

tempEQU38H

;--------------------

;--------------------

;--------------------

org0000h

AJMPSTART

org0023h

AJMPSET_INT

START:

MOVP0,#0FFH

MOVTMOD,#20H;T1工作方式2

MOVTH1,#0FDH;串口波特率为9600

MOVSCON,#50H;串口工作于方式1并允许接受

SETBTR1;启动T1

SETBES;允许串口中断

SETBEA;允许全部外设中断

MAIN:

;---------------------------

;-----调用湿度读取子程序----

;---------------------------

LCALLRH

;---------------------------

;------串口发送程序--------

;---------------------------

TT:

MOVA,U8RH_data_H

LCALLTX_DATA

MOVA,U8RH_data_L

LCALLTX_DATA

MOVA,U8T_data_H

LCALLTX_DATA

MOVA,U8T_data_L

LCALLTX_DATA

MOVA,U8checkdata

LCALLTX_DATA

//延时两秒

LCALLDelay_2S

LJMPMAIN

 

;--------------------------------

;-----湿度读取子程序------------

;--------------------------------

;----以下变量均为全局变量--------

;----温度高8位==U8T_data_H------

;----温度低8位==U8T_data_L------

;----湿度高8位==U8RH_data_H-----

;----湿度低8位==U8RH_data_L-----

;----校验8位==U8checkdata-----

;----调用相关子程序如下----------

;----Read,Delay_10us,Delay

;--------------------------------

RH:

;主机拉低总线,延时500us

CLRP2.0

MOVA,#36

LCALLDelay

SETBP2.0

;延时40us

LCALLDelay_10us

LCALLDelay_10us

LCALLDelay_10us

LCALLDelay_10us

;检测从机是否响应,无响应则跳出

JBP2.0,RH_END

MOVFLAG,#0

LOOP1:

INCFLAG

MOVA,FLAG

JBP2.0,LOOP1_END;为高电平则跳出

CJNEA,#0,LOOP1

LJMPRH_END

LOOP1_END:

MOVFLAG,#0

LOOP2:

INCFLAG

MOVA,FLAG

JNBP2.0,LOOP2_END;为低电平则跳出

CJNEA,#0,LOOP2

LJMPRH_END

LOOP2_END:

;进入数据接收阶段

LCALLRead

MOVU8RH_data_H,U8comdata;

LCALLRead

MOVU8RH_data_L,U8comdata;

LCALLRead

MOVU8T_data_H,U8comdata;

LCALLRead

MOVU8T_data_L,U8comdata;

LCALLRead

MOVU8checkdata,U8comdata;

SETBP2.0

;----------------------------------------------------------------------------

;----注意:

本程序没有加校验程序如果用户需要校验请安以下说明编写校验程序-----

;----------------------------------------------------------------------------

;数据传送正确时校验和U8checkdata的值等于

;"8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据"所得结果的末8位

;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------

RH_END:

RET

;--------------------------------

;---------读数子程序-------------

;--------------------------------

Read:

MOVtemp,#8

MOVU8comdata,#0

LOOP_COM:

;判断低电平是否结束

MOVFLAG,#0

LOOP3:

INCFLAG

MOVA,FLAG

JBP2.0,LOOP3_END;为高电平则跳出

CJNEA,#0,LOOP3

LJMPCOM_END

LOOP3_END:

;----------------------

;CLRP2.1

;SETBP2.1

;----------------------

LCALLDelay_10us

LCALLDelay_10us

LCALLDelay_10us

;----------------------

;CLRP2.1

;SETBP2.1

;----------------------

MOVU8temp,#0

JNBP2.0,HIGH_END

MOVU8temp,#1

HIGH_END:

MOVFLAG,#0

LOOP4:

INCFLAG

MOVA,FLAG

JNBP2.0,LOOP4_END;为低电平则跳出

CJNEA,#0,LOOP4

LJMPCOM_END

LOOP4_END:

MOVA,FLAG

CJNEA,#0,NO_FLAG

LJMPCOM_END

NO_FLAG:

MOVA,U8comdata

RLA

ORLA,U8temp

MOVU8comdata,A

;判断高电平是否结束

DJNZtemp,LOOP_COM

COM_END:

RET

;--------------------------------

;------延时函数-----------------

;--------------------------------

Delay:

MOVR4,A;2.5ms

D1:

MOVR5,#0FFH

DJNZR5,$

DJNZR4,D1

RET

;--------------------------------

;------延时10us函数-----------------

;--------------------------------

Delay_10us:

;10us

NOP

NOP

NOP

NOP

NOP

NOP

RET

;--------------------------------

;------延时2S函数-----------------

;--------------------------------

Delay_2S:

MOVA,#250

LCALLDelay

MOVA,#250

LCALLDelay

MOVA,#250

LCALLDelay

MOVA,#250

LCALLDelay

MOVA,#250

LCALLDelay

MOVA,#250

LCALLDelay

MOVA,#250

LCALLDelay

MOVA,#250

LCALLDelay

RET

;--------------------------------

;------串口数据发送函数---------

;--------------------------------

TX_DATA:

CLRES;禁止串口中断

MOVSBUF,A

JNBTI,$

CLRTI;将同一数据发送到串口

SETBES;允许串口中断

RET

;--------------------------------

;------串口中断函数-------------

;--------------------------------

SET_INT:

CLRES;禁止串口中断

JNBRI,$

CLRRI

MOVA,SBUF;接受串口数据

MOVP0,A;将串口数据送往P0

MOVSBUF,A

JNBTI,$

CLRTI;将同一数据发送到串口

SETBES;允许串口中断

RETI

END

;--------------------------------

;----------结束------------------

;--------------------------------

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2