毕业设计论文基于单片机的四点温湿度监测系统文档格式.docx
《毕业设计论文基于单片机的四点温湿度监测系统文档格式.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于单片机的四点温湿度监测系统文档格式.docx(37页珍藏版)》请在冰豆网上搜索。
本篇论文的各章组织结构如下:
第1章绪论。
主要介绍了温湿度监测的必要性、温湿度监测的应用以及温湿度监测的特点;
第2章DHT11产品介绍。
主要介绍了DHT11温湿度传感器的引脚说明、电路连接、数据格式以及传输时序;
第3章单片机STC89C52。
主要介绍了系统的核心芯片STC89C52的常用引脚的说明和单片机的工作模式;
第4章蓝牙模块HC-05。
主要介绍了完成系统无线接收发送功能的蓝牙模块HC-05的引脚说明和指示灯说明;
第5章系统整体结构设计。
详细介绍了系统的工作流程、硬件电路连接、无线传输的实现以及PC机界面的显示和报警;
第6章总结。
总结概括了本篇论文设计的系统的优点以及需要继续改进的地方;
第2章DHT11产品介绍
2.1概述
DHT11温湿度传感器是一种数字温湿度传感器,这种温湿度传感器属于复合型传感器,它的内部电路里包含已经校对过的数字信号输出电路。
它使用一个专门的数字模块,具有特有的采集技术和温湿度传感技术,保证了采录到的数据具有很高的可靠性,产品也具有良好的长期稳定性。
DHT11数字温湿度传感器,其内部包含电阻式感湿部件和NTC温度测量部件。
因此,此款产品具品质优良、响应迅速、抗干扰能力强、性价比高等优势[1]。
在传感器内部有一个OTP存储器,OTP存储器内储存了用来描述校对系数的程序,传感器内部在检测湿度信号的过程中会使用这些储存在OTP存储器中用来描述校对系数的程序。
为了使系统集成变得更简单和快捷,DHT11数字温湿度传感器在串口方面采用了单线串行接口。
超小尺寸、低功耗、信号传输距离20米以上,使DHT11数字温湿度传感器成为了各种苛刻的应用场合的最佳选择[2]。
该产品使用4针排引脚的方式封装。
图2.1DHT11传感器实物图
主要性能性能指标如下:
•工作电压范围:
3.5V-5.5V
•工作电流:
平均0.5mA
•湿度测量范围:
20-90%RH
•温度测量范围:
0-50℃
•湿度分辨率:
1%RH8位
•温度分辨率:
1℃8位
•采样周期:
1S
•单总线结构
•与TTL兼容(5V)
图2.2管脚排列
2.2应用电路连接说明
由于数字温湿度传感器DHT11的操作简单,电路连接方便,多以在很多温湿度采集电路中得到了广泛应用。
数字温湿度传感器DHT11的第一引脚为电源正极,第二引脚为数据端,第三引脚为空脚,第四引脚为电源负极。
第二引脚的数据端可以直接连单片机的I/O口,第三引脚的空脚在连接过程中通常的处理办法为悬空不用。
2.3DHT11的数据结构
DHT11数字温湿度传感器采用的是单总线数据格式,在数据信号传送过程中,单个数据引脚端口完成了输入输出双向传送的功能的[3]。
DHT11的数据包有5字节Byte(40比特Bit)组成。
数据由整数和小数两部分构成。
传感器输出的数据形式是没有经过编码的二进制数据形式。
如果某次读取到5Byte数据如下:
byte4byte3byte2byte1byte0
0010110100000000000111000000000001001001
整数小数整数小数校验和
湿度温度校验和
通过以上数据可以得到温湿度的具体值,计算方法如下:
湿度=byte4.byte3=45.0(%RH)
温度=byte2.Byte1=28.0(℃)
校验=byte4+byte3+byte2+byte1=73(=湿度+温度)(校验正确)
2.4DHT11的传输时序
2.4.1DHT11开始发送数据流程
在通信过程中,单片机发送起始信号之后,由于延迟的影响,大概需要等待20us-40us后,单片机才会开始读DHT11的响应信号,如果单片机读到总线的信号是低电平,那么表示温湿度传感器发送了一个响应信号。
此时,温湿度传感器准备完毕,可以开始读取数据。
每一比特的数据都以低水平为开始的数据。
如果单片机读到的总线的信号是高电平,那么DHT11无响应,表示不能进行温湿度数据的采集和传送,这就需要检查电路连接是否正常[4]。
2.4.2单片机复位信号和DHT11响应信号
2.4.3数字‘0’信号表示方法
2.4.4数字‘1’信号表示方法
第3章单片机STC89C52
3.1概述
STC89C52是STC公司生产的一种单片机,它具有低功耗、高性能两大基本特点[5]。
STC89C52继承了常用的MCS-51单片机的核心,但在MCS-51单片机做了很多优化改良,使其拥有了许多传统的MCS-51单片机没有的功能。
STC89C52的标准功能包括8kbyte的Flash存储器和512byte的内存,在接口线方面支持32位的I/O接口线,全双工串行端口,同时还具有看门狗定时器。
在STC89C52内部有4kbEPROM和MAX810的复位电路,同时还具有四个外部中断、三个16位的定时器/计数器和一个7向量的四级中断结构[6]。
STC89C52的最高工作频率是35Mhz[7]。
图3.1STC89C52实物图
3.2STC89C52单片机的工作模式
STC89C52单片机有以下三个工作模式:
工作模式:
典型功耗4mA~7mA
空闲模式:
典型功耗2mA
掉电模式:
典型功耗小于0.1uA
3.3STC89C52芯片引脚介绍
图3.2STC89C52芯片引脚图
P0端口(P0.0~P0.7,32~39引脚):
P0端口是一个双向的I/O端口,是一个8位端口。
P0端口在电路结构上采用的是漏极开路结构。
当使用P0口的输出功能时每个引脚可以承受8个TTL负载,当把“1”写入P0端口时,可以用作高阻抗输入。
在校对的过程中,P0口输出的是指令字节。
P1端口(P1.0~P1.7,1~8引脚):
P1端口也是一个8位的双向I/O端口,在电路结构上其内部具有上拉电阻。
当使用P1端口的输出功能时每个引脚可以承受4个TTL负载。
当把“1”写入P1口时,P1端口的电位会由于其内部上拉电阻的作用而提到高电位,这时是作为一个输入端口。
P2端口(P2.0~P2.7,21~28引脚)和P3端口(P3.0~P3.7,10~17引脚)的功能与P1端口的功能相同,此处不再赘述。
VCC:
电源端
VSS:
地端
第4章蓝牙模块HC-05
4.1概述
HC-05是一款主从一体蓝牙串口模块。
HC-05模块的性能强,应用范围广,可与各种带蓝牙功能的电脑、移动通信模块、PDA、PSP等智能终端连接进行数据传输。
当HC-05模块与其他蓝牙模块成功配对后并可提供串口服务时,二者无需连接串口线通讯设备就可以进行无线通讯。
蓝牙模块与单片机通讯是HC-05的广泛应用之一。
蓝牙模块与单片机需要通讯是,只需将两者之间的VCC、TXD、RXD、GND分别相接即可完成硬件连接[8]。
图4.1HC-05模块实物图
•接口说明:
TTL电平,兼容3.3/5V单片机
•波特率:
4800/9600/19200/38400/57600/115200/230400/460800/921600/138240
•通讯距离:
10m(空旷地)
•对外接口:
6pin排针(2.54间距)
•工作电压:
3.3~5V
•工作电流:
配对中:
30~40mA
配对完毕未通信:
1~8mA
通讯中:
5~20mA
4.2HC-05模块引脚功能介绍
表4-1HC-05引脚功能表
名称
说明
VCC
电源(3.3V~5V)
GND
地
TXD
模块串口发送引脚
RXD
模块串口接受引脚
KEY
低电平或者悬空时进入正常状态,高电平时进入AT状态。
LED
配对成功输出到电平,未成功输出低电平。
4.3HC-05模块指示灯说明
在给HC-05通电的同时(或者之前),如果将KEY引脚接高电平,指示灯闪烁方式为慢闪(1秒亮一次),表示此模块将会进入AT状态,此刻频率固定为38400。
在给HC-05通电的同时,如果将KEY引脚作悬空或者接地处理,指示灯的闪烁方式为快闪(1秒2次),表示此模块进入可配对状态。
此时如果将KEY引脚接高电平,那么HC-05也会进入AT状态,但是指示灯指示灯的闪烁方式不会改变,仍旧为快闪。
在HC-05模块与其他蓝牙设备配对成功后,指示灯的闪烁方式为双闪状态(一次闪2下,2秒闪一次)。
第5章系统整体结构设计
5.1本设计的整体结构
本系统是使用基于单片机STC89C52完成的四点无线温度和湿度监测系统,这里所说的无线是指硬件电路整体与PC机通信的方式为无线通信方式,而电路内部其他部分之间的通信还需要通过有线方式来实现。
温度和湿度的检测采用广泛使用的新型温湿度传感器DHT11,此款温湿度传感器具有硬件电路简易,显示采集结果方便,检测精密度高,可以检测不同环境的温度等优点。
系统的控制中心是单片机,所以单片机的选择直接影响着所设计系统的实现和功能扩展,单片机的质量关系整个系统的性能。
在本文所设计的系统中,最后选用了单片机STC89C52。
通过单片机的控制,温度传感器DHT11对四个观测点的温湿度数据进行监测采集,采集到的四个观测点的温度和湿度信号通过蓝牙模块HC-05传输到上位机,在上位机的组态王界面上依次显示采集到的各点的温度和湿度,实时显示四个观测点的温度和湿度。
系统主要由上面器件的组成件,并通过硬件电路和软件程序的设计实现该系统的主要功能。
此系统分为三层结构,第一层结构是由温湿度传感器DHT11构成的温湿度采集部分,第二层是由单片机STC89C52构成的电路控制部分,第三层是由PC机构成的用户监测部分。
图1.1系统结构框图
系统开始工作后首先利用传感器获取温湿度采集模块的温湿度值,四个传感器的DATA引脚分别通过单片机的P1端口的P10、P11、P12、P13引脚的温湿度信号传送的单片机,蓝牙模块HC-05的RX和TX引脚与单片机的P3端口的P30和P31引脚相连,单片机通过此模块将温湿度数据无线传输到PC机,PC机上与蓝牙模块使用同样串口的组态王界面接收显示温湿度数据,然后判断温湿度值是否大于上限报警值的或小于下限报警值,如果温湿度值大于上限报警值的或小于下限报警值,那么产生报警提示,否则不报警。
5.2系统整体硬件电路设计
单片机STC89C52与四个温湿度传感器DHT11相连接,实现对四个观测点的温湿度的实时监测,同时与单片机连接的还有蓝牙模块HC-05,实现采集到的四个观测点的温湿度数据通过与蓝牙模块HC-05无线传送到监控室的PC机。
图5.1温湿度采集系统硬件电路图
5.3系统硬件电路与PC机通信设计
硬件电路虽然具有蓝牙模块,具备了无线传输条件,但要与PC机通信,PC机也要具备两个条件:
1.PC机需要自带蓝牙硬件,如果没有可以外接一个蓝牙适配器。
2.PC机需要装一款蓝牙软件来控制硬件电路与PC机的通信。
在本设计中PC机上与蓝牙模块HC-05进行通信的是一款千月蓝牙软件,当硬件电路通电后,蓝牙模块HC-05的LED指示灯处于快闪状态,此时HC-05模块可以被其他蓝牙设备被识别。
在PC机上打开千月软件,然后搜索设备,即可搜索到名为HC-05的设备。
通过PC机蓝牙串口COM5与HC-05模块建立连接,在建立连接的过程中需要输入蓝牙口令(配对密码),蓝牙模块HC-05的默认配对密码为1234。
图5.2输入蓝牙口令过程图
图5.3蓝牙模块HC-05与PC机蓝牙串口COM5建立连接图
当PC机上的蓝牙软件与蓝牙模块HC-05正确建立连接后,蓝牙软件界面的左下角会出现已连接的状态提示,在界面的桌面上会有蓝牙模块HC-05的图标,在提供的服务状态栏里串口图标,表示可提供二者之间的串口通信服务,这就保证了温湿度传感器DHT11采集到的数据无线传送回PC机的实现。
图5.4蓝牙模块HC-05与PC机正确建立连接图
5.4温湿度数据的实时显示
温湿度数据在PC机上的显示需要组态王来实现。
组态王是一款开发监控系统软件,该系统在标准的计算机硬件和软件平台集成,替代了陈旧的密封式系统,是一种是新型的工业自动控制系统[9]。
本设计是在组态王软件中创建新的工程,在新工程的设备栏里添加了COM5串口设备,在次设备下利用组态王软件的Windows图形编辑功能制作了温湿度显示和报警界面,之所以创建COM5串口设备是被了实现与同样使用COM5串口的蓝牙软件的通信,实现串口对接,已完成蓝牙软件接收到蓝牙模块传送回的温湿度数据在组态王界面上的显示。
以检测四个仓库的温湿度为例,四个仓库的温湿度值和报警状态分为四栏显示,每一栏都有当前温度和当前湿度字样,当系统正常工后,字样后面就会显示当前观测点的温湿度值。
报警状态由状态提示灯的颜色显示,每一栏都有一个状态提示灯。
图5.5仓库温湿度监控系统界面图
此设计的优点之一在于系统的报警功能由可根据四个仓库的不同要求分别设置四个仓库的不同温度上下限值,满足了不同环境对温度的不同要求。
而且在更改温度上下限值时可以直接在组态王的开发系统里的显示界面上更改各个仓库的温度上下限值,无需更改硬件程序重新装载,为不懂硬件语言的工作人员提供了很多便利,避免了许多繁琐复杂的过程。
图5.6更改温度上下限值示意图
当整个系统进入正常工作状态后,四个仓库的温湿度值回实时显示。
当实时温度处于设置的温度上下限值之间时,状态提示灯为深蓝色,当实时温度超过上限值或低于下限值时,状态提示灯会在深蓝色和浅蓝色两个状态之间来回变化闪烁,这就是实现了报警功能。
图5.72号仓库温度低于下限值时的报警状态
第6章总结
本篇论文通过设计实现了基于一个单片机的四点温湿度实时监测,并通过蓝牙模块实现了单片机与上位机的无线通信,上位机的软件设计为操作人员提供了动态可视化操作界面。
系统的硬件电路整体结构合理明了,电路连接简易。
系统的软件部分可扩展性和实时性强,可根据操作人员和不同环境的不同要求对软件进行修改扩展。
当然,本片论文设计的温湿度监测系统在理论部分已经完成,但在实际运用上还存在几点不足。
分布在各个观测点的温湿度传感器通过有线方式与系统唯一的一个单片机进行信号传送,当各个观测点之间的距离较远时,传感器与单片机之间的连线会加长,这样会带来不便,长距离甚至会影响信号的质量。
单片机与机房的PC机之间的无线通信方式采用的是蓝牙,而蓝牙的最大有效传输距离较短,当单片机与机房相距较远时会超出蓝牙的最大有效传输距离,单片机不能与PC机的蓝牙软件建立连接进行通信,采集的温湿度数据不能传送回监控室。
本系统只是实现了温湿度的检测,并没有实现对温湿度的自动控制,当发现观测点的温湿度值不满足预期要求时,需要人工进行相应的操作来完成温湿度的调节控制。
这几点本篇论文设计系统的不足之处,还需要在原有基础上进一步完善。
参考文献
[]雷娟.基于CAN总线技术的监测控制局域网研究[J].安徽农业大学,2011
[]杨小平.基于AT89S52和DHT21的温湿度测量系统设计[J].无锡职业技术学院学报,2011
[]裴忠诚.基于STC89C52温湿度显示仪的设计[J].技术与市场,2013
[]占宇.基于无线传输的多功能温度检测系统的开发[J].沈阳理工大学,2011
[]邓魁.基于声卡虚拟示波器设计[J].数字技术与应用,2012
[]龚根华.轮式移动机器人控制系统设计与研究[J].南京航空航天大学,2014
[]张磊.TeradyneUltraFLEX的测试程序调试[J].微机原理,2012
[]王彩峰.基于蓝牙技术和GSM网络的数据传输研究[J].西南科技大学,2008
[]康玮.基于.NET的DCS组态软件研究与设计[J].湖南大学,2006
附录
系统程序
alarm.c:
#include"
DHT11.h"
alarm.h"
kongview.h"
//报警标志位
voidCheckAlarm()//检测是否报警
{
if((dat[0]>
=dat[4])||(dat[0]<
=dat[5]))
{dat[6]=1;
LED=0;
}
else
{dat[6]=0;
LED=1;
}
voidCheckAlarm1()//检测是否报警
if((dat[7]>
=dat[11])||(dat[7]<
=dat[12]))
{dat[13]=1;
LED1=0;
{dat[13]=0;
LED1=1;
voidCheckAlarm2()//检测是否报警
if((dat[14]>
=dat[18])||(dat[14]<
=dat[19]))
{dat[20]=1;
LED2=0;
{dat[20]=0;
LED2=1;
voidCheckAlarm3()//检测是否报警
if((dat[21]>
=dat[25])||(dat[21]<
=dat[26]))
{dat[27]=1;
LED3=0;
{dat[27]=0;
LED3=1;
DHT11.C:
DHT11.H"
U8U8FLAG,k;
U8U8temp;
U8U8comdata;
ucharU8checkdata;
uchartemperature[]="
00℃"
humidity[]="
00%RH"
;
voidData_to_Str(uchardata_H,uchar*str)
str[0]=(char)(data_H/10+0x30);
str[1]=(char)(data_H%10+0x30);
voidDelay(U16j)
{U8i;
for(;
j>
0;
j--)
{
for(i=0;
i<
27;
i++);
}
voidDelay_10us(void)
{
U8i