文件名称:
DHT11温湿度传感器模块-教程资料-技小新-DHT11温湿度传感器模块学习手册(51单片机版).pdf
开发工具:
文件大小: 666kb
下载次数: 0
上传时间: 2019-09-03
详细说明:DHT11温湿度传感器模块-教程资料-技小新-DHT11温湿度传感器模块学习手册(51单片机版).pdf技小新
jixin pro深圳市技新电子科技有限公司 Www.ixin.pro
DHT11温湿度传感器V1.0.0.0
4、软件设计
DHTI1传感器朵用简化的单总线通信。单总线即只有一根数据线,系统中的数据交换、控制均由单总线
完成。
软件设计朵用AP5W4K58S4单片机与DHπ11温湿度传感器模块进行通讯,单片机与模块的引脚连接
GND-GND、5V-->VCC、P11-->DAT。
41DHT11的通讯与数据说明
DHT11朵用单总线通讯协议,与单片机(主机)的通讯的过程:主机发起始信号->DHT11检测到并
发送响应信号->DHT11发送40位数据(高位先出)-->DHT11发送结束信号。
名称
单总线线格式定义
起始信号主机把数据总线拉低T(18ms53%R|+00%l|=
53%RH
温度:001100(整数)=18H=24℃0000100(小数=04H=0.4℃-24℃10.4℃-244℃
◎特殊说明
当温度低于0℃时温度数据的低8位的最高位置为1
示例:-10.1℃表示为10010001
温度:011c(整数=0AH=10℃,(0(小数=H-0.1=>-(10℃+0.1℃)--10.1
示例二:接收李的40位数据为
01101U1U夏JC
0001 1000
O000 0100
010101
湿度高8位湿度低8位温度高8位温度低8位
校验位
计算
00110101+0000000+00011c00+00000100=01010001
01010U1不等于:010U1
本次接收的数据不正确,放弃,重新接收数据。
第3页共5页
技小新
jixin pro深圳市技新电子科技有限公司 Www.ixin.pro
DHT11温湿度传感器V1.0.0.0
4.2DHT11温湿度传感器模块的通讯解析(51单片机
(一)看一下单片机和DHT11的通信协议发现单片机只需要发沃一个起始信号即可,剩下的事情就是接
收信号,然后处理信号。单片机发送信号后DHT11将会返回一个83uS的低电平和一个87uS的高电。
释放总线
VD
主机发于始
响应信号拉高准备
信号
地出
数据“1”位
GND
单总线
拉高等
数据“U”位
拉低结束
主机信号
从机信号
(二)单片机接收的信号是一连串的脉冲,不同的脉宽组合表示0或者1。一共40Bt的有效数据,那么
DHT11将会发送80个高电平和低电平。
54t
23uS-27U
aus
6u/4
VDD
VDD
GND
ND
1机信号
从机信号
机信号
从机信号
位数据“0”格式
位数据“1”格式
(三)DHT11在发完所有数据后,还会发送一个结束信号,告诉单片机已经发送完了,这是一个54uS
的低电平。
(四)分析上泷通信协议,发现使用单片机的“脉宽捕获”功能非常适合这里。“脉宽捕获”功能,可以自动
记录单片机指定引脚上的高电平持续时间和低电平持续时间。如果我们能够记录下来这一连串的时间,然后就
可以分析这一串时间,解析出DHT11的数据。
4.3DHT11温湿度传感器模块的通讯实现(51单片机
1)单片机发一个25mS的低电平,发途完毕后再拉高,表示起始信号。
2)单片机打开“脉宽捕获”功能,开始记录高低电吓的数据。每来一个脉冲,不管是高电还是低电吓,
都会把它们的脉宽数据存储到数组里面。
3)单片机软件延时7ms,等待DHT11发途完毕所有数据。(DHT11协议告诉我们,它发送数据的时间最
长的可能性是:5344uS。
4)单片机开始解析接收到的数据。
这里主要说明一下解析数据的方法
A.首先要找到DHT11发涘的起始信号,其实是一个83uS的低电平和87uS的高电平,进入到我们的程序
里,就是两个8oυS以上的脉宽,处理的时候可以判断只要有两个连续大于8ouS的脉宽,有就算一个
正确的起始信号。(因为测量都存在误差,而且通僐协议中,只有起始信号是两个连续大于78uS
的,所以可以判断大于78uS也可以)
B.如果连起始信号都没匹配的,那么通信可能失败了,所以就放弃后面的工作,再来一次吧。如果匹
配到了起始信号,那么开始进行解码。每两个脉宽时间为一组,依次进行判断,如果第一个时间大
于第二个时间,那么接收的是数据∂,否则就是数据1,这样连续判断40组数据,就算处理完40Bit
数据了。
C.接收的数据一共是5个字节数据,最后一个字节是校验码,如果校验码也是对的,那么认为这组数据
可靠的,恭喜你,完成了一次可靠的解析。
第4页共5页
技小新
jixin pro深圳市技新电子科技有限公司 Www.ixin.pro
DHT11温湿度传感器V1.0.0.0
下图代码是查找数组中的起始信号
52/根据D1协议,检测一个83u的应答和一个87s的开始信号,下一个信号就异数据
foY(1=0;1<90iI1)
54日
if ((DhTll Buffer[1>/3)&&(DhTll Buffer [1+1>70)
56{
57
=1+2
58
=100;//用于退出这个循环
59
61if(i<80)//表示没有检测到起始信号,通信失败
return 1
54
0
Data-humih =oiData->Humi L=0
56 Data->r'emp H =0;Data->Temp1 =01
07 Data->Check Sim=0;
下图代码是解析查找到的有效信息
63fo(i;i<90;i+=2)//从有效数据开始解码
69
71t
DHLd->HurL F <<-1:
过(Ⅳ11Bu土exl」huml H++
75
}
76
立f(7)亠幻<16)
77日
Data→>HmiL<<=1
if(H11 Ruffer[i]Hum1二+十P
91
1f(>15)西6(]<241)
3中
84
Data >Temp II <<=1;
i(H11 Buffe[主] Temn h+十
}
83
i(门j>23)(<32))
89日
9
Data->Temp I <<=1i
91
i(H11 Buffer「i1Check sum <<=li
立f(HT11 Buffer[i]check Sum++i
99
103
++
101
02//并行校验,如果出错返回2
103
if((Data->Humi H Data->Humi I Data-Temp H Data>temp L)== Data- check Sum
10乎
return0;//功读取数据
105
号1ge
106
return 2:
107
第5页共5页
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.