李刚丽
摘要:以AT89C52单片机为微控制器,采用SHT11单片温湿度传感器对环境温湿度数据进行采集、处理和LCD显示器现场显示,同时设置超限报警和通过GSM移动通信模块以短信息的形式将温度数据和湿度数据发送到上位机,实现环境温湿度信息的实时检测及远传的智能温湿度检测系统。
关键词:温湿度检测 AT89C52 GSM移动通信模块
0 引言
GSM(Global system for Mobile Communication)全球移动通信系统是当前发展最成熟、国内覆盖最广、系统可靠性最高、话机持有量最大的数字移动通信系统。本设计研究目的在于提高当前环境因素的控制水平、控制精度以及控制稳定性、实时性。主要研究环境中的温度、湿度的数据采集与分析、监测与控制、数据处理、网络通讯、报警等,并通过人机对话接口实现参数显示和在线参数修改;探讨研究先进控制方法来提高环境因素的控制水平,实现集人-机一体的“人机智能系统”。
1 系统硬件设计方案
下位机中的温湿度检测部分由微控制器模块、温湿度检测模块、通信模块、人机接口模块组成,主要完成环境温湿度数据的采集与处理、通过GSM移动通信网络进行数据传递、现场显示以及超限报警。温室温湿度智能检测系统整体结构如图1所示。
图2为智能温湿度检测系统硬件设计总体结构。以单片机AT89C52作为整个系统的核心,利用单片机现有的接口组织外围硬件模块。为了减小系统面积,降低系统功耗,选择SHT11单片温湿度传感器实现温湿度的测量、低功耗LCD显示模块、采用GSM移动通信模块作为通信接口。
1.1 温湿度检测模块 SHT ll与微处理器的连接相对简单,只需用微处理器的2条通用I/O口线P3.2、P3.3分别作为数据线DATA和时钟线SCK,并在DATA端接入1只4.7k的上拉电阻,同时在VDD及GND端接入1只100pf的去耦电容,通过相应的软件设计,即可完成数据的采集与传输。温湿度检测模块硬件电路原理图如图3所示。
1.2 GSM通信模块 本设计中GSM模块与微处理器的连接采用RS-232串行通信接口方式,硬件原理图如图4所示。RS-232是设计来处理两台设备之间的通信的,在一个连接中不能有超过2台以上的设备。指定的最大数据传输速率是每秒20000位。但是,很多接口芯片可以超过这个数值,尤其是在短程连接上,很长的连接需要一个不同的接口。双向RS-232通信的3个基本信号如下:
TD:将数据从DCE传输到DCE,也被称作TX和TXD。
RD:将数据从DCE传输到DTE,也被称作RX和RXD。
SG:信号地,也被称作GND和SGND。
1.3 微控制器模块 AT89C52单片机芯片内部设有一个反相放大器所构成的振荡器,XTAL1和XTAL2分别为振荡电路的输入端和输出端,时钟可由内部或外部产生。在本设计中,使用了单片机的内部时钟,由石英晶体和电容组成的并联谐振回路,如图5所示。晶振频率选用11.0592MHz,电容为30pf的瓷片电容。单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个初始状态开始工作。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都需要复位。单片机复位的条件是,必须使RST /V pd或RST引脚加上持续两个机器周期的高电平。单片机的复位电路如图6所示。
1.4 人机接口模块 LCD显示模块:LCD模块的硬件原理图如图7所示。LCD工作电压为5V,由VDD供给。
矩阵键盘模块:本设计使用16个按键,排成4*4的阵列,键盘原理图如图8所示。每行和每列各有一根信号线相连,当按下按键时,相应的行和列导通。行线和列线的一端通过上拉电阻接到+5V电源,另一端分别接到微处理器的P1口上,系统通过按键按下后8根信号线的高低电平,再由键盘扫描算法,得到各键的对应键值。
报警模块:蜂鸣器主要用于按键提示和数据超限报警,由软件编程控制,硬件原理图如图9所示。蜂鸣器使用PNP三极管进行驱动控制,当P3.7控制输出低电平时,三极管导通,蜂鸣器发声;当P3.7控制输出高电平时三极管截止,蜂鸣器停止发声。
1.5 电源模块 图10为电源电路原理,220V的交流电从插头经保险管送到变压器的初级线圈,并从次级线圈感应出经约9V的交流电压送到由4个二极管构成的整流桥。C1、C2起到滤波作用,经C1滤波后的直流电送到三端稳压集成电路LM317T的Vin端(3脚)。LM317T由Vin端给它提供工作电压以后,它便可以保持其+Vout端(2脚)比其ADJ端(1脚)的电压高1.25V。D5的作用是当有意外情况使得LM317T的3脚电压比2脚电压还低的时候防止从C3上有电流倒灌入LM317T引起其损坏。
2 系统软件设计方案
系统的软件主要采用模块化结构,温湿度的整个监测过程及远程监控由主程序、短消息收发子程序、温湿度测量子程序、串行中断程序、定时中断程序、显示子程序、键盘扫描子程序等完成。各功能模块只有一个入口和出口,各模块之间相对独立,避免某功能模块出现异常而导致整个系统瘫痪的故障发生。
2.1 主程序流程 根据设计功能要求,首先需要进行系统的初始化,包括内存空间的初始化、GSM模块初始化、SHT11初始化、LCD初始化等,同时系统开启定时中断和串行中断;在各个设备的初始化完成且正常运行后,单片机通过串口控制GSM模块的联机通信;接下来进行温湿度的检测、处理、显示、分析等工作;若出现温湿度超限,还要进行报警及调用发送报警信息的程序,完成报警和等待中断处理。设计系统软件流程图如图11所示。
2.2 SHT11工作程序流程图 SHT11温湿度传感器的工作过程与大多具有I2C总线的器件一样,工作程序流程图如图12所示。首先需要进行初始化,用一组“启动传输”时序,来完成数据传输的初始化。初始化后才能启动SHT11,接下来就是进行温湿度测量请求,发布一组测量命令(‘00000101表示相对湿度RH,‘00000011表示温度T)后,控制器要等待测量结束。最后将测量到的数据计算后等待微控制器读取温湿度的值。
3 结束语
本设计借助GSM移动网络,以最直观的中文短信息形式,直接把环境温湿度信息反映到指定的手机上。当受监控环境出现温度或者湿度超限时,温湿度传感器马上就能检测到,并且会立即把信号传送到控制中心,经过一系列信号转化后,转换后的信号通过GSM网络传送到相应的手机上,即是先把信息送到SMS服务平台,而后通过基站传送出去。整个传送过程只需几秒钟的时间,能够准确地通知工作人员所检测环境出现异常,并且工作人员可以进行远程操作。
参考文献:
[1]白延敏.51单片机典型系统开发实例精讲[M].北京:电子工业出版社,2009.
[2]岂兴明,唐杰,赵沛等.51单片机编程基础与开发实例详解[M].北京:人民邮电出版社,2008.
[3]蔡振江,马跃进.单片机原理及应用[M].北京:电子工业出版社,2011年.
[4]张艳敏,杨仁弟.数字温湿度传感器SHT11及其应用[J].工矿自动化,2007(3).
[5]王宝芹,范长胜,郭艳玲.基于单片机的温室温湿度控制系统设计[J].林业机械与木工设备,2008(3).