基于单片机的温湿度采集管理系统毕业论文.doc

上传人:文库蛋蛋多 文档编号:3940070 上传时间:2023-03-28 格式:DOC 页数:52 大小:5.74MB
返回 下载 相关 举报
基于单片机的温湿度采集管理系统毕业论文.doc_第1页
第1页 / 共52页
基于单片机的温湿度采集管理系统毕业论文.doc_第2页
第2页 / 共52页
基于单片机的温湿度采集管理系统毕业论文.doc_第3页
第3页 / 共52页
基于单片机的温湿度采集管理系统毕业论文.doc_第4页
第4页 / 共52页
基于单片机的温湿度采集管理系统毕业论文.doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《基于单片机的温湿度采集管理系统毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的温湿度采集管理系统毕业论文.doc(52页珍藏版)》请在三一办公上搜索。

1、目 录摘要1第1章 绪论11.1 系统开发背景11.2 课题设计目的和意义21.3 课题研究内容2第2章 无线温湿度采集管理系统总体设计32.1 系统的总体设计32.2 系统设计的功能4第3章 无线温湿度传输系统硬件设计43.1 nRF905高频头通信模块53.1.1 nRF905概述53.1.2 nRF905无线模块硬件结构53.1.3 nRF905天线63.1.4 nRF905频率调制63.1.5 nRF905输出频率63.1.6 高频头输出接口电路73.2 AT89S52单片机83.2.1 单片机与nRF905通信93.2.2 单片机与主机通信113.2.3 单片机程序下载模块123.3

2、 DS18B20温度传感器123.3.1 温度传感器概述123.3.2 温度传感器构成及原理123.3.3 温度传感器寄生电源133.3.4 传感器温度测量143.4 DHT11传感器143.4.1 DHT11温湿度传感器概述143.4.2 DHT11构成及其工作原理153.4.3 测量分辨率163.5 系统电源模块16第4章 无线温湿度传输系统软件(下位机)设计164.1 无线温湿度传输系统软件总体设计174.2 单片机串口通信184.2.1 SBUF数据缓冲寄存器194.2.2 SCON串行口控制寄存器194.2.3 PCON特殊功能寄存器204.2.4 串口通信波特率选择204.2.5

3、IE中断允许控制寄存器214.3 nRF905与单片机通信214.3.1 nRF905的数据发送214.3.2 nRF905的数据接收224.3.3 掉电模式244.3.4 Standby模式244.4 DS18B20数据采集244.4.1 DS18B20初始化244.4.2 DS18B20读时序254.4.3 DS18B20写时序254.5 异常情况处理25第5章 温湿度采集管理系统的设计255.1 数据管理中心(上位机)软件系统的总体设计255.1.1 系统功能模块设计255.1.2 数据库逻辑结构设计275.1.3 系统开发及运行环境275.1.4 系统管理方法275.2 温湿度管理系统

4、各功能模块介绍275.2.1 MSComm控件注册模块285.2.2 数据采集模块295.2.3 数据统计分析模块315.2.4 历史记录模块345.2.5 异常处理模块355.2.6 帮助模块355.3 “温湿度采集管理系统”管理软件的特点36第6章 结论366.1系统特点376.2 需要进一步完善的工作376.3 无线RF传输技术应用前景37参考文献37致谢39附录一41(1)数据采集传输代码41(2)nRF905程序43(3) DS18B20程序44(4) DHT11 程序45(5) 主程序46附录二 实物图48基于单片机的温湿度采集管理系统*南京信息工程大学滨江学院 电子工程系,南京

5、210044摘要:本课题提出并设计基于AT89S52单片机的nRF905无线传输温湿度采集管理系统。系统主要包括无线温湿度数据传输系统和温湿度采集管理系统两个部分:在无线温湿度数据传输系统中,MCU处理器读取DHT11、DS18B20传感器采集的数据,nRF905无线射频收发模块实现数据的发射接收,二者通过模拟SPI接口进行通信;而在温湿度采集管理系统中,系统将通过RS232串口采集的数据存放到数据库中并对数据进行管理、备份、存储、查询以及分析处理。系统通过了模拟调试,方案设计合理,应用效果较好,是一种很有推广性的无线数据采集管理系统。关键词:RF射频技术; SPI时序;串口通信;温湿度管理;

6、数据库技术第1章 绪论1.1 系统开发背景我国是世界上自然灾害发生十分频繁、灾害种类甚多,造成损失十分严重的少数国家之一。每年由于干旱、洪涝、台风、暴雨、冰雹等灾害危及到人民生命和财产的安全,国民经济也受到了极大的损失。对于局部区域(校园、企业、公共场所、科研场所等),尤其是对于气候要求比较严格的地区,实时的检测周围的环境变化(温度、湿度、能见度),能够及时的发现各种异常情况发生。现如今也采用了各种手段来应对这种情况,比如,气象自动站通信系统通过RE232有线、无线微波、GPRS、气象短信等方式采集气象要素,用于统计分析和处理。在本校实验楼的走廊里,全部安装了烟雾传感器,当烟雾达到一定浓度时(

7、即发生火灾等情况),各节点会同时喷出水来解决异常情况。这些所有的烟雾传感器都是采用有线连接,对于难于布线、相对较偏区域,布局成本明显提高。RF无线传输技术,由于具有传输距离远、信息量大、传输速度快、信息传输精确、频带免费使用等优点,非常适合无线数据传输系统。RFID是射频识别技术的英文(RadioFrequencyIdentification)的缩写。RFID技术作为一项能够快速、实时、准确采集并处理信息的高新技术,是20世纪90年代开始兴起的一种非接触的自动识别技术。该技术在世界范围内正被广泛的应用。RFID技术在国外迅速发展。RFID技术的发展是基于多项技术的发展,它所涉及的关键技术有芯片

8、技术、天线技术、无线收发技术、数据变换与编码技术、电磁波传播技术。RF905系列射频无线传输涉及天线技术、数据变换与编码技术、电子波传播技术等,广泛应用于无线数据传输、警报与安全系统、家庭自动化系统、远程控制系统、监控系统、汽车、遥感探测等领域。1.2 课题设计目的和意义数据采集系统是现代测控的基础,用于获取各种现场测量数据。在计算机控制系统或计算机信息管理系统中,需要采集各种信息并将其送入计算机内进行处理。因此作为获取信息的重要工具,数据采集系统目前正广泛地用于生产、科研的各个领域。数据采集系统由信息转换、数据通信和信息处理三部分组成,其中数据通信系统是其中最重要的组成部分,本文对这一部分将

9、进行重点讨论。现阶段数据通信方式总线采集方式、无线微波电台、无线GPRS、GSM、气象短信等。还包括人工采集方式。由于现有这种方式的通信方式已经大规模投入使用,故本文采用RF射频无线通信方式进行通信,下表1是对各种数据通信方式进行比较。表1 各种通信方式比较数据采集方式通讯距离通信载体消费优缺点人工采集人工消费无实时性、有误差RS232有线0-20M总线布线费用传输距离小RS485有线0-1000M总线布线费用布线麻烦无线微波电台0-1000M微波占用频带费用气候地形影响通信无线GPRS不限网络网络流量计费时延无线GSM不限网络网络流量计费时延、距离不限气象短信不限网络短信计费(较高)时延、费

10、用高无线射频0-3000M不同芯片决定电磁波免费受外在因素影响,可改善RFID技术本身的完善及其独特的优势,使得RF射频传输技术在我国拥有广阔的发展前景和巨大的市场潜力。可以传输几百米到上千米,且无需网络传输,传输速度快,可以应用于,偏僻,粉尘、油污等高污染环境和放射性环境。另外,nRF905功耗低的特点,使得其作为终端设备具备长期作业的能力。所以,本课题提出并设计基于AT89S52单片机的nRF905无线传输系统的温湿度管理系统及其软件开发。使得系统应用更灵活广泛。1.3 课题研究内容研究课题是基于nRF905无线射频模块和AT89S52可编程控制器的温湿度管理系统。研究的内容如下:1. 设

11、计温湿度管理系统的总体结构。2. AT89S52与nRF905无线射频模块、计算机与AT89S52之间的串行通信。3. 根据温湿度采集管理的控制要求设计温湿度采集管理系统。4. 在Access2007数据库环境下,用Delphi开发温湿度采集管理信息。在温湿度管理系统中,基于AT89S52的nRF905无线收发系统是快速、实时、准确的发射接收数据的设备。DS18B20、DHT11传感器能够准确的采集数据,通过AT89S52单片机处理器对数据进行处理,然后通过模拟SPI接口将数据发送给nRF905无线模块,由nRF905无线模块实现数据的发射接收,从而实现了数据的无线传输。计算机与nRF905控

12、制器之间采用RS232连接,构成温湿度采集管理上位机系统。采集管理系统是基于可视化编程语言Delphi和Access数据库技术系统由数据采集模块、数据维护模块、统计分析模块、异常处理模块和使用帮助模块等五大模块组成。可以实现数据备份、数据删除、保存数据和报表打印等;对终端进行时时记录、监测,然后通过统计曲线图将数据趋势时时显示出来;实时分析特定期段的最高温度、最低温度等;数据异常处理等功能。第2章 无线温湿度采集管理系统总体设计2.1 系统的总体设计基于AT89S52的温湿度采集管理系统是集RF技术、计算机管理技术、数据采集技术于一体的实时采集温湿度的管理系统。系统主要由无线温湿度传输系统和温

13、湿度采集管理系统两部分组成。系统采用半双工的通信模式,可实现两节点之间的双向收发。无线温湿度数据采集系统主要通过MCU与PC机串口通信,MCU处理器与RF控制器进行通信,传感器通过单片机控制机将采集的数据通过nRF905模块向外发送数据,接收端通过nRF905模块将来实现接收发送端发来的数据,再由接收端单片机通过RS232串口传递给接收端PC机,从而实现将采集的温湿度数据通过无线通信传到管理系统,温湿度管理系统由Delphi开发的软件管理模块和后台数据库组成,时时采集数据信息,更有效的对温湿度的管理,系统整体设计图如图1。收发数据温度传感器湿度传感器MCU控制nRF905收发芯片收发天线收发天

14、线nRF905收发芯片MCU控制管理系统电 源RS232图1 系统整体设计结构图上述系统结构中只有一个数据采集终端,即点对点通信,推广之,对于实际的具体应用,会需要多个数据监测点,即点对多点通信。而nRF905无线收发模块有170个频道,可满足多点通讯和跳频通讯需求,从而实现组网通讯(TDMA-CDMA-FDMA),具体的温湿度管理系统如图2。 图2 点对多点系统通信管理图2.2 系统设计的功能 基于AT89S52的温湿度管理系统主要是对某一特定区域的温湿度实现智能化、自动化的管理,其基本功能包括计算机管理功能、数据自动采集功能、数据精确传输功能、应急预警功能、数据反馈功能。1. 计算机管理功

15、能。计算机管理是整个管理系统的核心,由计算机、温湿度管理系统、通信线路等组成。主要完成通过串口实现计算机与RF控制器之间的通信;数据统计、处理、分析;数据存储、记录;数据备份打印;控制子系统等功能。2. 数据自动采集功能。根据用户的需求及控制,控制器能够定时实时的自动采集到由温湿度传感器提供的数据。3. 数据精确传输功能。采用nRF905无线传输模块,在空旷通讯距离可达300米左右,室内通信3-6层可实现可靠通信,抗干扰性能强,很强的扰障碍穿透性能。对于600米左右的距离,可采用PA(功率放大器),以确保数据的正确传输。4. 应急预警功能。当温度湿度出现异常情况时,比如,发生某设备温度过高、火

16、灾等,则系统会向用户发出预警,比如,鸣笛,灯光闪烁等。5. 控制子系统功能。用户通过计算机管理系统,可以对监测的节点进行相关的控制,比如停止检测节点工作,解除检测节点的警报等。第3章 无线温湿度传输系统硬件设计无现温湿度传输系统可以分为数据采集终端和数据接收终端。数据采集终端,即采集终端(RTU) 安装于各个监测点,主要由传感器单元、单片机(下位机)、nRF905无线模块数据发送终端和天线构成。数据采集终端(RTU)系统的功能框图如图3。数据接收终端主要是用来接收由各个监测点监测的数据,并通过RS232串口传到PC机。同时也用来作为用户发布相关控制命令至各监测点。传感器单片机nRF905无线收

17、发收发天线外部时钟图3 数据采集终端(RTU)系统总体框图3.1 nRF905高频头通信模块3.1.1 nRF905概述nRF905是挪威Nordic公司推出的单片射频发射器芯片,工作电压1.9-3.6V,32引脚QFN封装(5mm5mm),工作于433/868/915MHz3个ISM频道(可以免费使用)。nRF905由一个完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体震荡器和一个调节器组成。ShockBurst工作模式的特点是自动产生前导码和CRC,可以很容易通过SPI接口进行编程配置。nRF905可以自动完成处理字头和CRC(循环冗余码校验)的工作,可由片内硬件自动完

18、成曼彻斯特编码/解码,使用SPI接口与微控制器通信,配置非常方便,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,在接收模式时电流为12.5mA。3.1.2 nRF905无线模块硬件结构nRF905单片射频发射芯片及其工作原理图如图4所示。整个nRF905模块由ATN1和ATN2管脚与天线构成天线输出模块,高频头输出模块包括数字输入、数字输出、SPI接口三部分构成,发射芯片采用16晶振提供系统时钟,工作电压为3.3V。下面从RF外围一些模块做详细说明。图4 nRF905单片射频发射芯片硬件结构图3.1.3 nRF905天线ANT1和ANT2输出脚给天线提供稳定的RF输出。这两个脚

19、必须连接到VDD_PA的直流通路。或者通过RF扼流圈,或者通过天线双极的中心点。在ANT1和ANT2之间的负载阻抗应该在200-700U范围内。通过简单的匹配网络或RF变压器(不平衡变压器)可以获得较低的阻抗。3.1.4 nRF905频率调制nRF905的调制采用高斯频移键控(GFSK),调制在100kbps。频率偏离在。高斯频移键控(GFSK)调制教普通的频移键控在更宽的带宽传输连接有效。数据在内部进行曼切斯特编码(TX)和曼切斯特解码(RX)。就是说,有效地符号连接速率为50kbps。通过采用内部曼切斯特编解码,微控制器不需要制定编码解码规则。3.1.5 nRF905输出频率nRF 905

20、的RF工作频率由配置寄存器中的CH_NO和HFREQ_PLL设置。工作频率计算公式如下:当HFREQ_PLL=“0”,通道频差为100KHz,当HFREQ_PLL=“1”, 通道频差为200KHz,应用工作频率的选择必须使用Shock范围内,其具体的工作频率对应的设置如表2。表2 nRF905工作频率的设置表工作频率HFREQ_PLLCH_NO433.0MHz0001001100433.1MHz0001101011433.2MHz0001101100433.7MHz0001111011868.0MHz1001010110868.2MHz1001110101868.4MHz10011101108

21、68.8MHz1001111101902.2MHz1100011111902.4MHz1100100000902.8MHz11100111113.1.6 高频头输出接口电路 nRF905模块引出的高频头引出的管脚接口及实物图如图5所示。图5 nRF905模块引出的高频头管脚接口及实物图 nRF905模块各管脚说明如表3,其中 VCC脚接电压范围为 3.3V3.6V之间,不能在这个区间之外,超过3.6V将会烧毁模块,本系统采用3.3V。除电源VCC和接地端,其余脚都可以直接和普通的5V单片机IO口直接相连,无需电平转换。若硬件上没有SPI的单片机,可以用普通单片机IO口模拟SPI,不需要单片机S

22、PI模块介入,只需添加代码模拟SPI时序即可。 表3 nRF905高频头管脚说明图管脚名称管脚功能说明1VCC电源电源+3.33.6V DC 2TX_EN数字输入TX_EN= 1 TX 模式 TX_EN= 0 RX 模式 3TRX_CE数字输入使能芯片发射或接收 4PWR_UP数字输入芯片上电 5uCLK时钟输出本模块该脚废弃不用,向后兼容 管脚名称管脚功能说明6CD数字输出载波检测 7AM数字输出地址匹配 8DR数字输出接收或发射数据完成 9MISOSPI 接口SPI 输出 10MOSISPI 接口SPI 输入 11SCKSPI 时钟SPI 时钟 12CSNSPI 使能SPI 使能 13GN

23、D地接地 14GND地接地 3.2 AT89S52单片机At89S52单片机有8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。单片机外围电路首先由复位电路、晶振电路,使能信号置高构成最小系统,保证其正常运行,在P0口处,加上了10K的上拉电阻,并从P0口外接部分开关和发光二极管,nRF905高频头的引脚与单片机相连,串口连接MAX232最终连接到主机串口,P2.0连接温度传感

24、器dq引脚,其具体的连接方式如图6所示。图6 单片机硬件连接原理图3.2.1 单片机与nRF905通信单片机与nRF905高频头通信模块是本系统中硬件电路的核心元件,由单片机的I/O口分别控制nRF905模块状态连接口(AM、DR、CD)、模式接口(PWR_UP、TRX_CE、TX_EN)、和SPI接口(CSN、SCK、MIOS、MOSI)。其连接方式为如下表4。表4 nRF905和单片机连接方式Nrf905AT89S51状态连接口AMP15DRP14CDP16模式接口PWR_UPP12TRX_CEP11TX_ENP10SPI接口CSNP34SCKP33MISOP17MOSIP32对于单片机,

25、可以利用通用的I/O口模拟ISP接口进行通信。nRF905模块所有配置字都是通过模拟SPI接口送给RF905。模拟SIP接口的工作方式可通过SPI指令进行设置。当RF905处于空闲模式或关机模式时,SPI接口可以保持在工作状态。1. SPI接口寄存器SPI接口由状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器5个寄存器组成。状态寄存器包含数据准备好引脚状态信息和地址匹配引脚状态信息;射频配置寄存器包含收发器配置信息,如频率和输出功能等;发送地址寄存器包含接收机的地址和数据的字节数;发送数据寄存器包含待发送的数据包的信息,如字节数等;接收数据寄存器包含要接收的数据的字节

26、数等信息。 SPI 接口由5个内部寄存器组成执行寄存器的回读模式来确认寄存器的内容。SPI接口只有在掉电模式和Standby模式是激活的。其原理图如图7。各寄存器的作用如下:图7 SPI寄存器内部原理图(1)状态寄存器:包含数据就绪DR 和地址匹配AM 状态。 (2)RF配置寄存器:包含收发器的频率,输出功率等配置信息。 (3)发送地址:寄存器包含目标器件地址字节长度由配置寄存器设置。 (4)发送有效数据:寄存器包含发送的有效ShockBurst数据包数据字节长度由配置寄存器设置。(5)接收有效数据:寄存器包含接收到的有效ShockBurst数据包数据字节长度由配置寄存器设置在寄存器中的有效数

27、据由数据准备就绪DR 指示。2. SPI 接口工作时序 SPI读写时序原理图如图8图9,nRF905与单片机模拟SPI接口通信,对nRF905进行读、写操作时, 通过CSN的由高到低的跳变来使能nRF905。nRF905内置完整的通信协议, 软件设计主要集中在实现对nRF905模块的有效初始配置, 以及MCU与nRF905模块之间SPI通信的实现。其中须保证MCU与nRF905模块时序的一致, 并充分考虑nRF905模块对时序的要求。图8 SPI读时序操作 图9 SPI读时序操作3.2.2 单片机与主机通信单片机与PC机通信是通过串口TXD、RXD完成,其中包含了TTL电平与RS232电平之间

28、的转换,本系统中,采用MAX232芯片用来做电平转换。MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电,其硬件原理图如图10。MAX232内部结构包括三个部分:电荷泵电路、数据转换通道、供电。(1)电荷泵电路由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。(2)数据转换通道由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2

29、IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。(3)供电,15脚DNG、16脚VCC使用5V电压供电。图10 MAX232电平转换硬件原理图3.2.3 单片机程序下载模块ATMEGA16单片机支持在线编程,因此只需将单片机的对应引脚与ISP下载器相连即可完成单片机的在线编程。本文使用的ISP下载器的引脚定义如图11所示。如果用编程器烧写单片机的程序存储器,每修改一次程序就要拔下芯片

30、编程后在插入系统中运行,这样不但麻烦,而且很容易对芯片和电路板造成损伤。图11 ISP下载接口电路图3.3 DS18B20温度传感器3.3.1 温度传感器概述温度传感器选择新一代产品中性能最好的DS18B20,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。其封装图如图12,共有PR-35和SOSI两种封装方式

31、,本系统采用PR-35封装。 图12 DS18B20 PR-35和SOSI封装3.3.2 温度传感器构成及原理DS18B20内部结构主要由三部分构成:64位激光ROM、温度传感器、非易失性温度警告触发器TH和TL。器件从单线的通信线取得其电源,在信号线为高电平的时间周期内,把能量贮存在内部的电容器中,在单信号线为低电平的时间期内断开此电源,直到信号线变为高电平重新接上寄生(电容)电源为止。作为另一种可供选择的方法DS18B20也可以用外部5V电源供电。图13中所示的是DS18B20内部方框图。图13 DS18B20原理结构图与DS18B20的通信经过一个单线接口。在单线接口情况下,在ROM操作

32、未定建立之前不能使用存储器和控制操作,主机必须首先提供五种ROM操作命令之一:Read ROM、Match ROM、Search ROM、Skip ROM、Alarm Search。这些命令对每一个器件的64位激光ROM部分进行操作。如果在单线上有许多器件,那么可以挑出一个特定的器件,并给总线上的主机指示存在多少浅见及其类型。在成功地执行了ROM操作序列之后,可使用存贮器和控制操作,然后主机可以提供李忠存贮器和控制操作命令操作之一。3.3.3 温度传感器寄生电源图14中显示寄生电源路。当DQ或VDD引脚为高电平,这个电路便“取”得电源。只要符合制定的定时和电压要求,DQ将提供足够的功率。为了使

33、DS18B20能完成准确的温度变换,当温度变化发生时,DQ线上必须提供足够的功率。因为DS18B20在同一条DQ线上而且企图同时变换,则这一问题变得特别尖锐。有两种方法确保DS18B20在其有效变换期内得到足够的电源电流。第一种方法是发生温度变换时,在DQ线上提供一强的上拉。通过使用 MOSFET把DQ线直接拉到电源这一点。当使用寄生电源方式时,VDD引脚必须连接到地。本系统向DS18B20供电的另一种方法是通过使用连接到VDD引脚的外部电源。这种方法的优点就是在DQ线上不要求强拉。总线上主机不需向上连接便在温度变换期间是线保持高电平。 图14 DS18B20两种寄生电源路3.3.4 传感器温

34、度测量DS18B20通过门开通期间内低温度系数振荡器经历的时钟个数技术来测量温度,而门开通过期有高温度系数的振荡器军顶,计数器予置对应于的基数,如果在门开通结束前计数器达到零,那么温度寄存器将增量,指示温度高于。同时,计数器用斜率累加器电路所决定的值进行予置。为了对遵循抛物线规律的振荡器温度特性进行补偿。时钟再次是计数器计值至他达零。如果门开通时间仍未结束,那么此过程再次重复。倾斜累加器用于补偿振荡器温度特性的非线性。通过改变温度每升高一度,计数器必须经历的计数个数来实行补偿,因此,为了获得所需的分辨率,计数器的数值以及给定温度处每一摄氏度的计数个数二者必须都知道。通过此计算,在DS18B20

35、内部完成以提供的分辨率,温度读数以16位、符号扩展的二进制补码读数形式提供。DS18B20以的增量值,在至的范围内测量温度。具体计算方法是读出温度,并从读的值截去位(最低有效位),这个值便是TEMP_READ。然后可以读留在计数器内的值。此值是门开通期停止之后技术剩余所需的最后一个数值是在该温度处每一摄氏度的计数个数(COUNT_PER_C)。3.4 DHT11传感器3.4.1 DHT11温湿度传感器概述DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术。该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT

36、11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引脚封装和实物如图15所示。 图15 DHT11引脚图及实物图3.4.2 DHT11构成及其工作原理传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出4

37、0bit的数据,并触发一次信号采集,用户可选择读取部分数据。从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集。采集数据后转换到低速模式,其与单片机连接原理如如图16。图16 DHT11和MCU连接原理图DATA 用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,一次完整的数据传输为40bit,高位先出。具体格式如下: 数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据 +8bit校验和。DHT11与单片机空通信过程如图1

38、7。总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低,必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号。主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。图17 DTH11与单片机通信过程3.4.3 测量分辨率DHT11的温度湿度数据都是以8bit数据表示,其测量分辨率分别为 8bit(温度)、8bit(湿度)。当前小数部分用于以后扩展,现读出为零。则其温度测量精度为,湿度测量

39、精度为5RH。3.5 系统电源模块本系统中用到的电源电压供有5V和3.3V。其中,单片机工作电压是5V,MAX232提供电压时5V,nRF905提供的电压为3.3V。整个系统利用电压供电,通过稳压管7805将其转化为5V,然后再由AMS117将5V电压转化为3.3V。其原理图如图18所示。图18 电压转换原理图第4章 无线温湿度传输系统软件(下位机)设计4.1 无线温湿度传输系统软件总体设计无线温湿度传输系统的整个工作流程如图19所示。1. 由PC机上温湿度管理系统发布采集数据指令,通过串口通信RS232将数据传至节点;2. 节点正确接收数据并将数据通过nRF905无线发射模块将数据以一定格式

40、发射;3. 数据采集终端检测载波,检测到数据并正确接收数据指令;4. 数据终端通过传感器采集数据,并由单片机对数据正确处理;5. 数据终端将处理好的数据通过nRF905无线发射模块将数据以一定格式发射;6. 节点检测载波,检测到数据并正确接收数据;7. 通过串口通信RS232将数据传至温湿度管理系统;8. 如果检测数据正常,则系统接收数据并对其进行相应的处理,然后返回值第一步骤;9. 如果检测数据不正常(比如温度过高),则系统发布警报,并将警报信息发送至终端;10. 处理异常情况,解除警报,然后返回第一步。下面对其中每一步骤做的软件设计做详细的分析。 图19 无线温湿度传输系统工作流程图4.2

41、 单片机串口通信单片机串口通讯可以实现将单片机的数据传输到计算机端,也能实现计算机对单片机的控制。实现串口通信主要是对串口控制寄存器SCON、特殊功能寄存器PCON、波特率的设定及串行中断操作。在数据发送和接收时,都会用到数据缓冲寄存器SBUF。单片机与主机串口通信流程图如图20所示。首先是管理系统MSComm串口通信控件设置,确定是否打开串口;然后是对单片机进行设置,采用定时器模式2,串口工作模式1,利用定时器1设置波特率,串口中断设置;打开定时器1开中断,若SBUF接收到字符串,则进入串口中断,若RI=1,则接收数据,然后由软件设置RI=0;如果数据是由主机发来的,则传给单片机,交由nRF

42、905发射给终端,否则是由单片机将数据传输给管理系统。图20 单片机与主机串口通信流程图4.2.1 SBUF数据缓冲寄存器SBUF是一个可以直接寻址的串行口专用寄存器。SBUF包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,它们都共同使用同一个寻址地址99H。CPU在读SBUF时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。 4.2.2 SCON串行口控制寄存器SCON的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51芯片串行口的工作状态。51芯

43、片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON寄存器。它的各个位的具体定义如表5 :表5串行口控制寄存器SCON(MSB)(LSB)SM0SM1SM2RENTB8RB8TIRISM0、SM1为串行口工作模式设置位,这两位可以对应进行四种模式的设置,如下表6。 表6 串行口工作模式设置SM0SM1模式功能波特率000同步移位寄存器fosc/120118位UART可变1029位UARTfosc/32或fosc/641139位UART可变本系统中采用最常用的模式1,SCON=01010000。SM2=0表示不论第九位数据(RB8)为1还是0,都将前八位送入SBUF中,并产生

44、中断请求。REM为允许接收位,REM置1时串口允许接收。REM是由软件置位或清零。TB8为发送数据第8位。RB8为接收数据第8位。TI发送中断标识位。 RI接收中断标识位。4.2.3 PCON特殊功能寄存器PCON与串口通信有关的只有D7位SMOD,该位为波特率倍增位,当SMOD=1时,串行口波特率增加一倍,当SMOD=0时,串行口波特率为设定值。当系统复位是SMOD=1。PCON其他位为掉电方式控制位。本系统中,设置PCON=0X00。串口模式1是传输10个位的,1位起始位为0,8位数据位,低位在先,1位停止位为1。它的波特率是可变的,其速率是取决于定时器1或定时器2的定时值(溢出速率)。4

45、.2.4 串口通信波特率选择波特率是指串行端口每秒内可以传输的波特位数。只有上下位机的波特率一样时才可以进行正常通讯。在模式1,SMOD为0的情况下,波特率取决于定时器的溢出速率。波特率的计算公式为:。这时定时器中的TL1作为计数,TH1作为自动重装值,这个定时模式下,定时器溢出后,TH1的值会自动装载到TL1,再次开始计数。在这个定时模式2(TMOD=0x21)下定时器1溢出速率的计算公式如下: 溢出速率(计数速率)/(256TH1)则波特率的计算公式为:本系统设定的波特率为9600,有上述公式,对于11.0592MHz的晶振,可以得到TH1=0XFD,则计数器的初值为TL1=0xFD。4.2.5 IE中断允许控制寄存器在每接收或发送SBUF寄存器的内容时,就会产生中断请求,串口中断是为串行数据传送而设置的。在设置IE=0x

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号