毕业设计论文.docx
《毕业设计论文.docx》由会员分享,可在线阅读,更多相关《毕业设计论文.docx(71页珍藏版)》请在冰点文库上搜索。
毕业设计论文
石河子大学
信息科学与技术学院毕业论文
课题名称:
一种温湿度远程测量系统
学生姓名:
申香梅
苏娇
学号:
2008082431
2008082439
学院:
信息科学与技术学院
专业年级:
电子信息工程专业2008级
指导教师:
刘恩博
职称:
副教授
完成日期:
二O一二年六月六日
一种温湿度远程测量系统
学生:
申香梅苏娇
指导老师:
刘恩博
[摘要]随着工农业生产的发展,对温湿度环境的要求越来越高,使得温湿度的测量与控制应用更加广泛。
许多产业对温湿度环境提出了较高要求:
在粮食储藏、环境监测、大棚种植和温室环境等领域都需要精确的温湿度环境,因此,对温湿度的监测已成为工业生产过程中非常重要的技术要求。
本项目研究的是基于单片机和GSM模块的远程温湿度测量系统。
在设计过程中主要使用电路图制板软件Altiumdesigner、51单片机开发工具Keil51、串口调试助手、程序下载软件STC-ISP来完成系统的设计。
系统通过温湿度传感器采集数据后,通过单片机的处理经由GSM模块远程传送给终端的移动手机显示采集到的数据。
实验结果表明,该系统总体方案设计合理,软硬件系统设计切实可行,能够满足温湿度远程测量的实际需要。
通过GSM方式无线传输数据,克服了传统方式传输的区域性和局限性,为远程监测温湿度环境提供了有力的手段。
关键词:
单片机;GSM模块;远程测量;温湿度采集
ABSTRACT
Student:
shenxiangmeisujiao
Teacher:
liuenbo
Abstract:
Withtherapiddevelopmentoftheagricultureandindustry,thetemperatureandhumiditymeasurementandcontrolapplicationsarewidelyusedinordertomeettheincreasingdemand.Forexamples,thehighlydemandin:
grainrestorationbiochemistrypharmaceutical,manufactureofintegratedcircuitandGreenhouseenvironment.Therefore,temperatureandhumiditycontrolisasignificantdemandduringtheprocessofindustrialmanufacture.Thisresearchisdesignedtoccreatamodeloftemperatureandhumidityremotemeasurementsystem,whichisbasedonsinglechipmicrocomputerandGSMmodule.Afterthedatacollectionfromthesensors,thedatawillbeprocessedinthesinglechipmicrocomputerandthentransferredtoPCdisplaybyGSMmodule.Theexperimentalresultsindicatethatthesystemoveralldesignisfeasibleduetothesystemresultscanmeetthedemandforthepracticalneedsandthesoftwareandhardwaresystemdesignisfeasible.
KEYWords:
SCM;GSM;Remotetesting;Temperatureandhumiditycollection
第一章绪论
1.1题目
一种温湿度远程测量系统
1.2课题背景
远程测量在实际生产过程中应用广泛,比如无人值守的变电站、气象站、田间水分测试仪等,具有一定的实用性。
常规的测量系统需要人员去现场采集温湿度的数据,浪费人力和时间,十分不方便,利用DHT11温湿度传感器采集数据经过STC12C5A60s2单片机内部处理经由GSM模块传到终端的PC机进行远程显示温湿度。
1.3课题研究目的及意义
1.3.1研究目的
单片机的应用正在不断的走向深入,同时带动传统控制检测日新月异更新,在试验检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结构,以及针对应用对象特点的软件结合加以完善,DHT11温湿度传感器[12],具有结构简单、体积小、功耗小、抗干扰能力强、使用方便等特点。
本文设计的一种温湿度控制系统,用STC12C5A06S单片机作为温控器,选用DHT11温湿度传感器,采用数码管实时显示温湿,通过串口利用单片机与上位机的通信,对田间等温湿度进行测量。
1.3.2研究意义
随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。
温湿度是工业生产中主要的被控参数之一,与之相关的跟中温度测量是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的测量直接影响着产品的质量。
用单片机做成的产品外围元件很少,能实现的功能却很广,广泛应用于工业,农业等。
兼于此,特用单片机设计此电路。
温湿度测量在实际生产中有广泛的应用,如:
在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
因而设计一种较为理想的温度控制系统是非常有价值的。
在国内外温湿度控制成了一广泛应用于很多领域的技术。
具体如空调、冰箱、茶叶烘烤、粮仓温度控制、等等。
粮食温湿度检测是储备库中防止粮食霉烂、保质存放的重要环节。
对于一个农业大国来讲,粮食生产、需求与储备量都很大。
大量粮食在储备的过程中常因粮食湿度过大而升温发热,导致粮食大量腐烂变质,给郭建带来巨大损失。
本论文正是以此为出发点,对单片机控制的远程温度控制作了较详尽的介绍。
1.4课题内容及分工
1.4.1课题内容
温湿度远程测量系统重要提供温湿度的远程测量,对远方地点温湿度进行显示。
通过本系统的开发,我们可以实现以下功能:
1)可以对远方系统应用地点进行温湿度采集;
2)使用者可以在远方终端计算机上看到所采集到的使用地点的温湿度。
1.4.2课题分工
共同合作:
系统调试测量,板子焊接,系统整体连接,毕业论文;
申香梅:
硬件系统的设计,毕业论文PPT撰写;
苏娇:
软件系统的设计,用户手册的撰写。
毕业设计成果:
1)系统实物一套;
2)系统执行程序一套;
3)毕业设计论文一份;
4)系统用户手册一份。
第二章系统总体设计
2.1系统设计总体思路
2.1.1系统开发总体思路
本设计是基于单片机对采集温湿度数字信号的处理,数传模块(或GSM模块)进行数据远传,以单片机为核心的一套检测系统,其中包括单片机,数传模块(或GSM模块)、温湿度传感器、显示、系统软件等部分的设计。
[8]
2.1.2系统设计功能
图2-1系统功能框图
2.1.3系统设计原理框图
图2-2系统原理框图
第三章硬件系统的设计
3.1采集模块设计
3.1.1系统功能设计
1)功能框图
图3-1采集模块功能框图
2)功能说明:
a)先由上位机即任意移动手机先给GSM发送能够识别的短信,使其给单片机发送一个开始采集温湿度的指令
b)温湿度传感器将采集到的数据传送到单片机,并在液晶显示屏上显示
c)将数据传给与单片机相连的GSM模块
d)监控终端由上位机手机移动终端组成,手机接收到由GSM模块经发短信方式发来的数据,并读取显示。
3.1.2系统结构设计
1)系统模块结构图
无线传输
信息采集终端
监控终端
图3-2系统模块结构图
2)系统单元模块说明
系统由信息采集终端和监控终端组成。
信息采集终端由温湿度传感器,单片机和GSM模块组成,监控终端由移动手机构成。
3.1.3电源模块设计
1)电源模块电路图
图3-3(a)电源模块电路图
2)电源模块电路图说明
按下电源开关按键,经过L7805与电容组成的稳压器,使其输出稳定电压,这时指示灯LED1灯亮。
3)元器件选择及简介
a)L7805外形
图3-3(b)L7805实物图
b)L7805概述
电子产品中,常见的三端稳压集成电路有正电压输出的78××系列和负电压输出的79××系列,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端,接地端和输出端.它的样子像是普通的三极管,TO-220的标准封装,也有9013样子的TO-92封装.用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流,过热及调整管的保护电路,使用起来可靠,方便,而且价格便宜.该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7806表示输出电压为正6V,7909表示输出电压为负9V.
c)L7805接线方式及注意事项
图3-3(c)L7805引脚图
在实际应用中,应在三端集成稳压电路上安装足够大的散热器(当然小功率的条件下不用).当稳压管温度过高时,稳压性能将变差,甚至损坏.当制作中需要一个能输出1.5A以上电流的稳压电源,通常采用几块三端稳压电路并联起来,使其最大输出电流为N个1.5A,但应用时需注意:
并联使用的集成稳压电路应采用同一厂家,同一批号的产品,以保证参数的一致.另外在输出电流上留有一定的余量,以避免个别集成稳压电路失效时导致其他电路的连锁烧毁.在78**,79**系列三端稳压器中最常应用的是TO-220和TO-202两种封装.这两种封装的图形以及引脚序号,引脚功能如附图所示.从正面看①②③引脚从左向右按顺序标注,接入电路时①脚电压高于②脚,③脚为输出位.如对于78**正压系列,①脚高电位,②脚接地,;对与79**负压系列,①脚接地,②脚接负电压,输出都是③脚.如附图所示.此外,还应注意,散热片总是和接地脚相连.这样在78**系列中,散热片和②脚连接,而在79**系列中,散热片却和①脚连接.
3.1.4温湿度传感器模块设计
1)温湿度传感器模块电路图
图3-4(a)温湿度传感器电路图
2)温湿度传感器电路图说明
温湿度传感器模块在接收到单片机采集温湿度的指令后,开始采集当前的温湿度数据,将采集到的数据返回给单片机。
3)元器件选择及简介
a)DHT11外形
图3-4(b)DHT11实物图
b)DHT11概述
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器[12]。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT11传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选择。
产品为4针单排引脚封装。
连接方便,特殊封装形式可根据用户需求而提供。
c)DHT11引脚说明及通讯过程
图3-4(c)DHT11引脚图
DHT11引脚功能表:
表3-1
Pin
名称
注释
1
VDD
供电3-5.5VDC
2
DATA
串行数据,单总线
3
NC
空脚,请悬空
4
GND
接地,电源负极
通讯过程:
用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。
如图3-4(d):
图3-4(d)DHT11通讯过程
3.1.5键盘显示模块设计
1)键盘模块电路图
图3-5键盘电路图1
图3-5键盘电路图2
2)键盘模块电路图说明
键盘电路图2为模块中的复位键,进行复位,键盘电路图1中PB1键显示温湿度,PB2键显示接收到的短信内容和接收短信的移动手机号。
3.1.6CPU主控模块设计
1)CPU模块电路图
图3-6(a)单片机电路图
2)CPU模块电路图说明
主要是在GSM接收到特殊短信后开始运行,采集当前的温湿度数据信息,再以短信方式发送回数据监测终端。
3)元器件选择及简介
a)STC12C5A60S2外形
图3-6(b)STC12C5A60S2实物图
b)STC12C5A60S2概述
STC12C5A60S2/AD/PWM系列单片机[16]是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
c)STC12C5A60S2引脚图及功能
图3-6(c)STC12C5A60S2引脚图
P0.0—P0.7(39—32):
P0口是一个漏极开路型准双向I/O口。
在访问外部存储器时,它是分时多路转换的地址(低8位)和数据总线,在访问期间激活了内部的上拉电阻。
在EPROM编程时,它接收指令字节,而在验证程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1.0—P1.7(1-8):
P1口是带内部上拉电阻的8位双向I/O口。
在EPROM编程和程序验证时,它接收低8位地址。
P2.0—P2.7(21-28):
P2口是一个带内部上拉电阻的8位双向I/O口。
在访问外部存储器时,它送出高8位地址。
在对EFROM编程和程序验证期间,它接收高8位地址。
P3.0—P3.7(10-17):
P3口是一个带内部上拉电阻的8位双向I/O口。
3.1.7系统总电路原理图
1)系统总电路原理图
图3-7系统总电路原理图
2)说明
根据总电路原理图实现单片机与GSM模块连接所形成的温湿度信息采集终端。
3.1.8PCB板的设计
1)PCB板设计平台简介
a)PCB板平台
AltiumDesignerWinter09
b)AltiumDesignerWinter09简介及特点
AltiumDesigner是Altium公司(澳大利亚)继Protel系列产品(Tan(1988)、ProtelforDOS、ProtelforWindows、Protel98、Protel99、Protel99SE、ProtelDXP、ProtelDXP2004)之后推出的高端设计软件。
2001年,ProtelTechnology公司改名为Altium公司,整合了多家EDA软件公司,成为业内的巨无霸。
2006年,Altium公司推出新品AltiumDesigner6.0,经过AltiumDesigner6.3、AltiumDesigner6.6、AltiumDesigner6.7、AltiumDesigner6.8、AltiumDesigner6.9、AltiumDesignerSummer08、AltiumDesignerWinter09、AltiumDesignerSummer09等版本升级,体现了Altium公司全新的产品开发理念,更加贴近电子设计师的应用需求,更加符合未来电子设计发展趋势要求。
AltiumDesignerWinter09与之前AltiumDesigner6.X相比,新增的技术特征如下:
即插即用的软件平台搭建器;应用控制面板;新的交互式布线功能;设计发布管理功能;方便的供应商数据链接服务;实时制造规则检查;三维PCB可视引擎性能提高。
2)PCB版图
图3-8PCB板图
3.2GSM模块简单介绍
3.2.1GSM模块类型
SIM300
3.2.2SIM300产品概述
SIM300是一款三频段GSM/GPRS模块,可在全球范围内的EGSM900MHz、DCS1800MHz、PCS1900MHz三种频率下工作,能够提供GPRS多信道类型多达10个,并且支持CS-1、CS-2、CS-3和CS-4四种GPRS编码案。
SIM300结构小巧,外形尺寸仅40mm*33mm*2.85mm,几乎可满足所有对产品尺寸有要求的工业应用,比如智能电话,掌上电脑和其他移动设备。
模块与移动应用设备通过一个60引脚的板板连接器相连,它提供了除了RF天线接口的其他所有模块与开发板的硬件接口。
3.2.3SIM300主要特性简述
表3-9SIM300主要特性
第四章软件系统的设计
4.1主程序的设计
4.1.1程序流程图
Y
N
Y
N
Y
N
图4-1主函数流程图
4.1.2主函数程序
#include"STC_NEW_8051.H"
#include"uart.h"
#include"misc.h"
#include"key.h"
#include"lcd1602.h"
#include"timer.h"
#include"stdio.h"
#include"string.h"
#include"sms.h"
#include"dht11.h"
unsignedcharlcdbuf[16];
unsignedcharlcdbuf2[16];
unsignedchartemp_var=0;//全局临时辅助变量,任何函数(除中断外)可用
unsignedchardisp_type=0;//该变量的内容决定当前液晶上显示的内容,由按键处理函数来改变
//主函数
voidmain()
{
//初始化外设
init_1602();//液晶
display_string(0,1,"inituart...");
init_uart();//串口
display_string(0,1,"initkey...");
init_key();//按键
display_string(0,1,"startgprs...");
start_gprs();//检查模块是否已开机
display_string(0,1,"initgprs...");
init_gprs();//初始化模块,获取信号强度,运营商等信息
display_string(0,1,"inittimer...");
init_timer0();//初始化定时器
display_string(0,1,"initdone!
");
//进入主循环,该循环永不退出
while
(1)
{
//有按键按下
if(key_pending)
{
//processkeys
if(key_code==MENU)
{
disp_type=0;//displaygprsstatus
}
elseif(key_code==UP)
{
disp_type=1;//displaymeterinfo
}
//clearflag
key_pending=0;
}
//串口收到消息,由于本系统中由模块主动发送的信息一般都忽略,此处一般不做处理
if(rx_data_pending)
{
rx_data_pending=0;
temp_var=0;
while(rx_rear{
rx_rear++;
}
}
//显示当前温湿度,温湿度信息已在在采集事件触发后填入lcdbuf和lcdbuf2中,此处仅显示即可
if(timer_int_status&&(disp_type==0))//温湿度信息读数
{
timer_int_status=0;
clear_lcd();
display_string(0,0,lcdbuf);
display_string(0,1,lcdbuf2);
}
if(timer_int_status&&(disp_type==1))//显示新短信内容和手机号码
{
timer_int_status=0;
if(new_sms==0)
{
clear_lcd();
display_string(0,0,"NoMessage");
display_string(0,0,"Available!
");
}
elseif(new_sms==1)
{
clear_lcd();
display_string(0,0,short_message);
display_string(0,1,phone_num);
new_sms=2;//clearflag
}
}
if(timer_int_check)
{
timer_int_check=0;
//检查有无新短信
get_new_sms();
}
if(timer_int_2s)
{
timer_int_2s=0;
read_dht11();//读取温湿度信息
//将读到的温湿度值转换为字符串存入缓冲区中用于显示
sprintf(lcdbuf,"Temp:
%d",(unsignedint)dht11data[2]);
sprintf(lcdbuf2,"Humi:
%d",(unsignedint)dht11data[0]);
}
}
}
4.2主要子程序的设计
4.2.1采集程序的设计
图4-2采