《物联网系统设计与应用开发》课件4-3 任务3 温湿度数据采集_第1页
《物联网系统设计与应用开发》课件4-3 任务3 温湿度数据采集_第2页
《物联网系统设计与应用开发》课件4-3 任务3 温湿度数据采集_第3页
《物联网系统设计与应用开发》课件4-3 任务3 温湿度数据采集_第4页
《物联网系统设计与应用开发》课件4-3 任务3 温湿度数据采集_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务:温湿度数据采集02目录温湿度传感器DHT1101DHT11温湿度传感器DHT11温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,包括一个电阻式湿敏元件和一个NTC(负温度系数)温度传感器。如图4-7为DHT11外形及引脚图,DHT11与单片机接口电路如图4-8。图4-7DHT11外形图

图4-8DHT11接口电路CC2530与DHT11数据引脚连接示意图如图4-8所示。DHT11上电之后,其中的8位单片机就会不停的读取温度和湿度传感器的数值,并进行校准。图4-8中DHT11引脚DATA连接到了CC2530的P0_7口上,我们只需要对处理器编程,使引脚2输出信号符合单总线协议。就可以读取DHT11的温湿度值。引脚名称引脚说明1VCC电源正极,3V~5.5V2DATA单总线数据,数据输入/输出3NC空脚,未使用,悬空4GND电源负极表4-1DHT11引脚功能DHT11的获取温/湿度值的原理DHT11的串行接口DATA用于微处理器与DHT1l之间的通信和同步,采用单总线数据格式,一次通信时间为4ms左右,数据分小数部分和整数部分,当前小数部分用于以后扩展,现读出为零。操作流程为:一次完整的数据传输为40bit,数据格式为8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和数据。传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据据+8bt温度小数数据+8bit校验和数据+8bit温度小数数据”所得结果的末8位。CC2530发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT1发送响应信号,送出40bit的数据,并触发一次信号采集,可选择读取部分数据。从模式下,DHTI接收到开始信号触发一次温/湿度采集,如果没有接收到主机发送开始信号,DHTI不会主动进行温湿度采集,采集数据后转换到低速模式。单总线协议通信步骤步骤1:DHT11上电后(DHT11上电后要等待1S以越过不稳定状态在此期间不能发送任何指令),测试环境温湿度数据,并记录数据,同时DHT11的DATA引脚处于输入状态,时刻检测外部信号。步骤2:处理器的I/O设置为输出同时输出低电平,且低电平保持时间不能小于18ms,然后处理器拉高I/O,且保持电平时间为20~40us,最后处理器的I/O口设置为输入状态,由于上拉电阻,处理器的I/O即DHT11的DATA数据线也随之变高,等待DHT11作出回答信号。步骤3:DHT11的DATA引脚检测到外部信号有低电平时,等待外部信号低电平结束后(处理器释放总线),DHT11的DATA引脚处于输出状态,输出80微秒的低电平作为应答信号,紧接着输出80微秒的高电平通知外设准备接收数据,处理器的I/O此时已处于输入状态,检测到I/O有低电平(DHT11回应信号)后,等待80微秒的低电平和80us的高电平后开始接收数据。步骤4:由DHT11的DATA引脚输出40位数据,处理器根据I/O电平的变化接收40位数据。注意:位数据“0”的格式为:50微秒的低电平和26-28微秒的高电平,位数据“1”的格式为:50微秒的低电平加70微秒的高电平。结束信号:DHT11的DATA引脚输出40位数据(1字节湿度、1字节湿度小数、1字节温度、1字节温度小数、1字节校验和)。继续输出低电平50微秒后转为输入状态,由于上拉电阻数据线随之变为高电平。此时DHT11内部仍然在继续测量温湿度数据并记录下来。等待下一个外部信号使其发送这些数据。任务:温湿度此案件本任务是读取DHT11的温湿度数据,并将读取的数据通过串口打印出来。根据上面分析,开发DHT11传感器程序的流程图如图所示。模块化编程思想模块化编程基本理论:在理想化的模块编程中,各个模块可以看成是一个个的黑盒子,只需要注意模块提供的功能,不需要关心具体实现该功能的方法。在大型程序开发中,一个程序由不同的模块组成,可能不同的模块会由不同的人员负责,在编写某个模块的时候,很可能需要调用别人写好的模块的接口。只需要关心模块提供了什么样的接口,应该如何去调用,不关心具体实现的细节代码。模块化编程思想一个模块包含两个文件,一个是.h文件(头文件),一个是.c文件(源文件)。.h文件:理解为一份接口描述文件,其文件内部一般不包含任何实质性的函数代码,其内容就是这个模块对外提供的接口函数或接口变量。当外部函数或者文件调用该模块提供的接口函数或变量时,必须包含这个接口描述文件—“.h文件(头文件)”头文件与源文件的名字保持一致.c文件:也需要包含这个头文件(因为它包含了模块源文件中所需要的宏定义或数据结构等信息).c文件主要功能是对.h文件中声明的外部函数进行具体的实现。模块化编程任务实施复制四个文件:DHT11.c、DHT11.h、UART.c、UART.h到工程文件夹下;添加DHT11.c、UART.c到工程目录下;在main.c中包含头文件在主程序中调用相应的函数;参考程序任务实施操作步骤(1)正确连接CC2530开发板与仿真器,将工程编译、下载至CC2530开发板中。(2)下载完后单击“Debug→Go”全速运行。操作步骤(3)用USB连接线将CC2530与电脑连接,在PC上打开串口调试助手,设置波特率115200bps,8数据位,1停止位,无校验位。观察串口调试助手输出的数据。(4)用手握住DHT11温湿度传感器(或哈口气),温湿度值有明显变化,在串口调试助手中我们将看到如图结果。感谢观看THANKYOUPleasereplacetext,clickaddrelevantheadline,modifythetextcontent,alsocancopyyourcontenttothisdirectly.Pleasereplacetext,clickaddrelevantheadline,modifythetextcontent,alsocanco

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论