ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:22.60KB ,
资源ID:5951132      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-5951132.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字温湿度传感器DHT11详解及例程利用串口显示.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数字温湿度传感器DHT11详解及例程利用串口显示.docx

1、数字温湿度传感器DHT11详解及例程利用串口显示数字温湿度传感器DHT11 1、概述DHT* 系列数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式测湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT*传感器都在极为准确的湿度校验室中进展校准。校准系数以程序的形式储存在OTP存中,传感器部在检测信号的处理过程中要调用这些校准系数。单线制串行输出接口,使系统集成变得简易快捷。超小的体积、

2、极低的功耗,使其成为各类应用甚至最为苛刻的应用场合的最正确选那么。本产品为4 针单排引脚封装,特殊封装形式可根据用户需求而提供。、产品特性􀁺 湿温度传感器的一体化构造能相对的同时对相对湿度和温度进展测量 。 􀁺 数字信号输出,从而减少用户信号的预处理负担。 􀁺 单总线构造输出有效的节省用户控制器的I/O口资源。并且,不需要额外电器元件。􀁺 独特的单总数据传输线协议使得读取传感器的数据更加便捷。 􀁺 全部校准。编码方式为8位二进制数。􀁺 40bit 二进制数据输出。其中湿度整数局部占1By

3、te,小数局部1Byte;温度整数局部1Byte,小数局部1Byte。其中,湿度为高16位。最后1Byte为校验和。􀁺 卓越的长期稳定性,超低功耗。 􀁺 4引脚安装,超小尺寸。􀁺 各型号管脚完全可以互换。 􀁺 测量湿度围从20RH到90RH;测量温度围从0到50。􀁺 适用围包括恒湿控制,消费家电类产品,温湿度计等领域。 、外型与引脚排列引脚说明: Vcc 正电源Dout 输出NC 空脚GND 地- 1 - 图3.0 DHT外型及管脚4、详细引脚说明:传感器管脚方向识别:正面有通气孔的一面看过去,从左到右依

4、次为1、2、3、4脚。表4.0:引脚说明引脚号引脚名称类型引脚说明1 VCC 电源正电源输入,3V-5.5V DC 2 Dout 输出单总线。数据输入/输出引脚3 NC 空空脚。扩展未用4 GND 地电源地电源引脚,DHT*的供电电压为3.55.5V。传感器上电后,要等待1s以越过不稳定状态在此期间不要发送任何指令。电源引脚VDD,GND之间可增加一个100nF 的电容,用以去耦滤波。5、订货信息型号测量围测湿精度测温精度分辨力封装DHT11 2090RH 0505RH 21 4针单排直插6、传感器性能说明参数条件Min Typ Max 单位湿度分辨率1 1 1 %RH 8 Bit 重复性1

5、%RH 精度254 %RH 0505 %RH 互换性可完全互换量程围030 90 %RH 2520 90 %RH 5020 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 7、连接接口说明DHT*数字湿温度传感器连接电路简单,只需要占用控制器一个I/O口即可完成上下位的连接。典型应用电路如下列图所示。另外,建议连接线长度短于20时用5K上拉电阻,大于20米时根据实际情况使用适宜的上拉电阻,如图5.

6、0所示。图5.0 典型电路连接8、数据格式及处理8.1、格式数字湿温度传感器采用单总线数据格式。即,单个数据引脚端口完成输入输出双向传输。其数据包由5Byte40Bit组成。一次通讯时间最大3ms,数据分小数局部和整数局部,具体格式在下面说明。DATA 用于微处理器与DHT*之间的通讯和同步,采用单总线数据格式, 当前小数局部用于以后扩展,现读出为0。操作流程如下:一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和校验和数据为前四个字节相加。具体见表6.1:湿度温度校验整数小数整数小数8Bi

7、t 8Bit 8Bit 8Bit 8Bit 8.2、数据编码及处理传感器数据输出的是未编码的二进制数据。数据(湿度、温度、整数、小数)之间应该分开处理。如果,某次从传感器中读取如下5Byte数据:byte4 byte3 byte2 byte1 byte0 00101101 00000000 00011100 00000000 01001001 整数小数整数小数校验和湿度温度校验和由以上数据就可得到湿度和温度的值,计算方法:humi (湿度)= byte4 . byte3=45.0 (RH) temp (温度)= byte2 . byte1=28.0 ( ) jiaoyan(校验)= byte4

8、+ byte3+ byte2+ byte1=73 9、时序DHT*传感器是通过奥松电子开发的单总线协议和上位机控制器进展数据通信。DHT*传感器需要严格的读写协议来确保数据的完整性。整个读写分为,上位机发送起始信号,上位机接收下位机发来的握手响应信号,读0,和读1四个步骤。所有的信号除主机启动复位信号外,全部都由DHT*产生。通过单总线访问DHT*顺序归纳如下:􀁺 主机发开场信号 􀁺 主机等待接收DHT*响应信号 􀁺 主机连续接收40Bit的数据和校验和 􀁺 数据处理 9.1、主机复位信号和DHT响应信号 图7.1 DHT

9、复位时序 用户主机发送一次开场信号低电平DHT从低速模式转换到高速模式,等待主机开场信号完毕拉高后,DHT发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取局部数据。注意:总线线空闲状态为高电平,主机把总线线拉低等待DHT响应,主机把总线线拉低必须大于18毫秒,保证DHT能检测到起始信号。DHT接收到主机的开场信号后,等待主机开场信号完毕,然后发送低电平响应信号。主机发送开场信号完毕后,延时等待20-40us后, 读取DHT的回应信号,主机发送开场信号后,可以切换到输入模式,或者输出高电平均可,总线线由上拉电阻拉高。9.2、DHT开场发送数据流程图7.2 读DHT数据流程主

10、机发送开场信号后,延时等待20us-40us后读取DHT的回应信号,读取总线为低电平,说明DHT发送响应信号,DHT发送响应信号后,再把总线拉高,准备发送数据,每一bit数据都以低电平开场,格式见下面图示。如果读取响应信号为高电平,那么DHT没有响应,请检查线路是否连接正常。9.3、数字0信号表示方法图7.3 信号0时序图数字0表示方法为,首先DHT把总线拉低12-14us然后拉高,高电平保持时间在26-28us这个围。那么此比特为0电平。9.4、数字1信号表示方法图7.4 信号1时序图数字1表示方法为,首先DHT把总线拉低12-14us然后拉高,高电平保持时间在116-118us这个围。那么

11、此比特为1电平。10、测量分辨率测量分辨率分别为8bit温度、8bit湿度。11、电气特性VDD=5V,T = 25,除非特殊标注参数条件min typmax单位供电DC 3 5 5.5V 供电电流测量0.5 2.5mA 平均0.2 0.5mA 待机100 150uA 采样周期秒1 次注:采样周期间隔不得低于1秒钟。12、应用信息12.1工作与贮存条件超出建议的工作围可能导致高达3%RH的临时性漂移信号。返回正常工作条后,传感器会缓慢地向校准状态恢复。要加速恢复进程/可参阅7.3小节的恢复处理。在非正常工作条件下长时间使用会加速产品的老化过程。12.2暴露在化学物质中电阻式湿度传感器的感应层会

12、受到化学蒸汽的干扰,化学物质在感应层中的扩散可能导致测量值漂移和灵敏度下降。在一个纯洁的环境中,污染物质会缓慢地释放出去。下文所述的恢复处理将加速实现这一过程。高浓度的化学污染会导致传感器感应层的彻底损坏。12.3恢复处理置于极限工作条件下或化学蒸汽中的传感器,通过如下处理程序,可使其恢复到校准时的状态。在50-60和70%RH的湿度条件下保持 5小时以上。12.4温度影响气体的相对湿度,在很大程度上依赖于温度。因此在测量湿度时,应尽可能保证湿度传感器在同一温度下工作。如果与释放热量的电子元件共用一个印刷线路板,在安装时应尽可能将DHT11远离电子元件,并安装在热源下方,同时保持外壳的良好通风

13、。为降低热传导,DHT11与印刷电路板其它局部的铜镀层应尽可能最小,并在两者之间留出一道缝隙。12.5光线长时间暴露在太下或强烈的紫外线辐射中,会使性能降低。12.6配线考前须知DATA信号线材质量会影响通讯距离和通讯质量,推荐使用高质量屏蔽线。13、封装信息14、焊接信息手动焊接,在最高260的温度条件下接触时间须少于10秒。15、考前须知(1)防止结露情况下使用。(2)长期保存条件:温度1040,湿度60以下。例程:/*/ DHT21使用例 /单片机 : AT89S52 或 STC89C52RC / 功能 :串口发送温湿度数据 波特率 9600 /硬件连接: P2.0口为通讯口连接DHT1

14、1,DHT11的电源和地连接单片机的电源和地,单片机串口加MAX232连接电脑 /*/#include #include /typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 无符号8位整型变量 */typedef signed char S8; /* defined for signed 8-bits integer variable 有符号8位整型变量 */typedef unsigned int U16; /* defined for unsigned 16-bits integer vari

15、able 无符号16位整型变量 */typedef signed int S16; /* defined for signed 16-bits integer variable 有符号16位整型变量 */typedef unsigned long U32; /* defined for unsigned 32-bits integer variable 无符号32位整型变量 */typedef signed long S32; /* defined for signed 32-bits integer variable 有符号32位整型变量 */typedef float F32; /* si

16、ngle precision floating point variable (32bits) 单精度浮点数32位长度 */typedef double F64; /* double precision floating point variable (64bits) 双精度浮点数64位长度 */#define uchar unsigned char#define uint unsigned int#define Data_0_time 4/-/-IO口定义区-/-/sbit P2_0 = P20 ;sbit P2_1 = P21 ;sbit P2_2 = P22 ;sbit P2_3 = P

17、23 ;/-/-定义区-/-/U8 U8FLAG,k;U8 U8count,U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;U8 U8data;U8 outdata5; /定义发送的字节数 U8 indata5;U8 count, count_r=0;U8 str5=RS232;U16 U16temp1,U16temp2;SendData

18、(U8 *a) outdata0 = a0; outdata1 = a1; outdata2 = a2; outdata3 = a3; outdata4 = a4; count = 1; SBUF=outdata0; void Delay(U16 j) U8 i; for(;j0;j-) for(i=0;i27;i+); void Delay_10us(void) U8 i; i-; i-; i-; i-; i-; i-; void (void) U8 i; for(i=0;i8;i+) U8FLAG=2; /- P2_1=0 ; /T P2_1=1 ; /T /- while(!P2_0)&

19、U8FLAG+); Delay_10us(); Delay_10us(); / Delay_10us(); U8temp=0; if(P2_0)U8temp=1; U8FLAG=2; while(P2_0)&U8FLAG+); /- P2_1=0 ; /T P2_1=1 ; /T /- /超时那么跳出for循环 if(U8FLAG=1)break; /判断数据位是0还是1 / 如果高电平高过预定0高电平值那么数据位为 1 U8data=1; U8data|=U8temp; /0 /rof /- /-湿度读取子程序 - /- /-以下变量均为全局变量- /-温度高8位= U8T_data_H-

20、/-温度低8位= U8T_data_L- /-湿度高8位= U8RH_data_H- /-湿度低8位= U8RH_data_L- /-校验 8位 = U8checkdata- /-调用相关子程序如下- /- Delay();, Delay_10us();,(); /- void RH(void) /主机拉低18ms P2_0=0; Delay(180); P2_0=1; /总线由上拉电阻拉高 主机延时20us Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); /主机设为输入 判断从机响应信号 P2_0=1; /判断从机是否有低电平响

21、应信号 如不响应那么跳出,响应那么向下运行 if(!P2_0) /T ! U8FLAG=2; /判断从机是否发出 80us 的低电平响应信号是否完毕 while(!P2_0)&U8FLAG+); U8FLAG=2; /判断从机是否发出 80us 的高电平,如发出那么进入数据接收状态 while(P2_0)&U8FLAG+); /数据接收状态 (); U8RH_data_H_temp=U8data; (); U8RH_data_L_temp=U8data; (); U8T_data_H_temp=U8data; (); U8T_data_L_temp=U8data; (); U8checkdat

22、a_temp=U8data; P2_0=1; /数据校验 U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp=U8checkdata_temp) U8RH_data_H=U8RH_data_H_temp; U8RH_data_L=U8RH_data_L_temp; U8T_data_H=U8T_data_H_temp; U8T_data_L=U8T_data_L_temp; U8checkdata=U8checkdata_temp; /fi /fi /-/main()功能描述

23、: AT89C51 11.0592MHz 串口发 /送温湿度数据,波特率 9600 /-void main() U8 i,j; /uchar str6=RS232; /* 系统初始化 */ TMOD = 0x20; /定时器T1使用工作方式2 TH1 = 253; / 设置初值 TL1 = 253; TR1 = 1; / 开场计时 SCON = 0x50; /工作方式1,波特率9600bps,允许接收 ES = 1; EA = 1; / 翻开所以中断 TI = 0; RI = 0; SendData(str) ; /发送到串口 Delay(1); /延时100US12M晶振) while(1)

24、 /- /调用温湿度读取子程序 RH(); /串口显示程序 /- str0=U8RH_data_H; str1=U8RH_data_L; str2=U8T_data_H; str3=U8T_data_L; str4=U8checkdata; SendData(str) ; /发送到串口 /读取模块数据周期不易小于 2S Delay(20000); /elihw/ mainvoid RSINTR() interrupt 4 using 2 U8 InPut3; if(TI=1) /发送中断 TI=0; if(count!=5) /发送完5位数据 SBUF= outdatacount; count+; if(RI=1) /接收中断 InPut3=SBUF; indatacount_r=InPut3; count_r+; RI=0; if (count_r=5)/接收完4位数据 /数据接收完毕处理。 count_r=0; str0=indata0; str1=indata1; str2=indata2; str3=indata3; str4=indata4; P0=0;

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

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