学位论文—基于gsm短信模块的防盗报警监控系统终端软件设计.doc
毕业设计(论文)专用纸基于GSM短信模块的防盗报警监控系统终端软件设计学 校:昆明理工大学津桥学院 系 部:计算机与电子电气工程系专 业:电子信息科学与技术 年 级: 学生姓名: 学 号: 指导教师: Anti-theft Alarm Monitor system based on GSMSoftware Design of TerminalUniversity: Oxbridge Kunming University of Science and Technology Department: The Department of computer & EEE Specialty: Electronic information science and technology Class: Students Name: Student ID : Faculty Adviser: 目录摘要IAbstractII前言1第一章 绪论21.1 研究背景21.2 研究的目的及其意义31.3 本设计的研究内容3第二章 系统总体设计52.1 STC12C5A60S2单片机的概述52.1.1 STC12C5A60S2单片机主要特点52.1.2 STC12C5A60S2单片机功能特性描述62.1.3 STC12C5A60S2管脚排列62.2 各主要功能模块原理及其概述92.2.1 TC35 GSM模块的概述及内部结构和通信特性92.2.3 GSM模块的内部构造102.2.4 TC35接口电路说明112.2.5 IIC键盘显示122.2.6 LCD液晶显示132.3 系统工作原理及结构框图14第三章 终端软件总体设计163.1 主程序功能163.2 主程序流程163.3 系统状态分析173.4 系统状态表18第四章 各模块驱动程序设计214.1 系统初始化程序214.2 号码及按键设置程序234.3 短消息报警程序设计284.3.1 短信报警及检测程序284.3.2 GSM常用AT指令304.4 IIC键盘驱动程序35第五章 系统测试375.1 TC35的测试及短信收发初步测试375.2 系统总体测试42结论44总结与体会45谢辞47参考文献48附录1(外文文献)49附录2(中文翻译)55附录3(源程序代码)60毕业设计(论文)专用纸基于GSM短信模块的防盗报警监控系统终端软件设计摘要本设计将目前世界上应用广泛的全球移动通讯系统即GSM(Global System for Mobile Communications)应用到安防系统中,一改传统的有线方式,使整个安防系统更加完善、智能化。在分析系统功能的基础上对其进行了整体设计规划。本设计主要由STC12C5A60S2单片机、GSM 模块、IIC键盘、断线报警器、LCD液晶显示器等模块组成,借助可靠、成熟的GSM移动网络,以直观的短消息形式,直接把报警地点的情况反映到用户的手机屏幕上。设计中介绍了单片机、GSM模块的基础知识,同时设计出了相关的各部分电路原理图以及软件流程,软、硬件相结合,详细介绍了整个系统。论文重点论述了防盗报警监控系统终端软件设计的搭建,系统状态分析和各模块驱动程序的设计及其报警系统功能的实现,最终完成了安防系统的设计。本系统通过断线报警监测入侵者,由单片机与GSM串口通信,来实现报警,能很好的解决当今现阶段房屋安防问题。关键词:GSM模块(TC35),STC12C5A60S2单片机,IIC键盘,LCD液晶,断线报警;Anti-theft Alarm Monitor system based on GSMSoftware Design of TerminalAbstractThis design will apply GSM(Global System for Mobile Communications)to the security system,which is widely used in the world,and change the traditional wired, so that the whole security system is more sophisticated and intelligent. On the basis of its analysis system functions,to carry out overall design and planning.The design is constituted by the SCM(Single chip microcomputer) STC12C5A60S2, GSM module, the IIC keyboard, break alarm,LCD liquid crystal display module, with a reliable, mature GSM mobile network, and intuitive form of short message directly to the alarm location reflected in the user's phone screen.SCM(Single chip microcomputer)and the basics of GSM are introduced in this design,and devise the various parts of the circuit schematic and software processes, software and hardware combination, described in detail the entire system. The paper focuses on the burglar alarm monitoring system - Terminal software design structures, analysis of the system status and function of each module driver design and its alarm system, the final completion of the design of security systems. The system monitors intruder by break alarm,by the microcontroller and GSM serial communication, to achieve the alarm, which can be a good solution to solve housing security problem today.Key words: GSM module (of TC35), STC12C5A60S2 SCM, IIC keyboard, LCD, break alarm;61第 页前言目前传统的安防系统在实际使用中暴露了很多隐患。房屋防盗问题成为了现代生活中人们的一个热门话题,设计合理的室内防盗装置无疑有巨大的市场经济价值。随着电子技术的飞速发展,报警系统已从原来的简单化、局部化向智能化、集成化发展。而各种防盗报警系统之间的主要区别是在于如何让分机与主机、分机与用户之间进行通讯。目前市场上常见的防盗报警系统的通信方式有固定电话拨号、以太网、集群系统等等。但它们有各自的缺点:(1)固定电话拨号容易被盗贼在入室抢劫前切断电话线或恶意占线,使其在关键时刻失灵。(2)以太网同样面临着线路被切断的隐患,且不易普及。(3)集群系统功耗很大,网络架设和维护费用很高,而且需要购买固定的频点。针对以上通信方式的优、缺点,本次设计了基于GSM短信模块的防盗报警监控系统。此系统可解决这些隐患,让家庭防盗更及时、使用更方便。它不再依赖有线电话执行报警,而是借助可靠、成熟的GSM移动网络,以短消息或电话形式,直接把报警地点的情况反映到用户手机上。第一章 绪论1.1 研究背景防盗报警系统是用物理方法或电子技术,自动探测发生在布防监测区域内的侵入行为,产生报警信号,并提示值班人员发生报警区域的部位,显示可能采取对策的系统。防盗报警系统是预防抢劫、盗窃等意外事件的重要设施。一旦发生突发事件,就能通过声光报警信号在安保控制中心准确显示出事地点,使之迅速采取应急措施。防盗报警系统与出入口控制系统、闭路电视监控系统、访客对讲系统和电子巡更系统等一起构成了安全防范系统。 防盗报警系统通常由探测器(又称防盗报警器)、传输通道和报警控制器三部分构成。传统的防盗报警系统包括:(1)机械式防盗系统,此类防盗器大多数是加锁的防盗门、防盗窗。但是缺点是锁芯他的锁芯若是圆形锁孔、十字形、一字形或者其他普通锁芯,则防盗不安全。因为这些普通的锁芯用专用的开锁工具数秒内便可强力扭开,很不安全;(2)蜂鸣器防盗系统,此类防盗器大部分是连接触碰式传感器,当有人触摸到门窗时鸣叫。但缺点是报警范围小,易拆除。报警效果非常差,通常只起到了吓唬人的作用。而且行人无意碰到的可能性也比较大,误报率高;(3)监控器式防盗系统,这类防盗比较流行于大超市,近期也被引用到私人房屋内。但此类防盗缺点是浪费电力资源,毕竟家庭失窃概率是比较小的,因此装此类防盗系统成本比较高,普通家庭使用不够经济实惠。现在的报警系统种类主要有:红外线报警系统、火灾报警系统、烟雾报警系统、地震报警系统、无线报警系统等,通过软硬件、电子器件实现的安防设备。目前市场上的防盗报警系统普遍存在着误报率高、报警范围受地域限制、无法及时有效地通知户主和易拆除等缺陷。这些缺点往往是致命的,无法实现报警功能,更是对资源的浪费。而往往盗窃发生后,警察的破案率极低,盗窃案大多都是现场抓获才能破案的。所以一套有价值的防盗系统必须要解决以上问题。GSM网络是基于时分多址技术和频分多址技术的通信网络体系,主要提供语音、短信息、数据等多种业务,具有传输快、费用低等优点,因此在远程控制中得到了广泛的应用。GSM网络具有覆盖面广、成本低费用便宜、无噪声污染、不受地区和线路限制等优点,因此用GSM和单片机的串口通信来更快、更真实的实行对房屋安全的监控。通过GSM防盗系统对房屋提供保护可以使户主很好的、实时的了解到房屋的情况,对盗窃犯罪行为实施打击。如果将GSM与安防系统相结合,设计一种可靠的、实时的、适用于大众的远程安防系统,既能改进传统的安防系统,又能解决没有安防系统的用户的燃眉之急。1.2 研究的目的及其意义随着人们生活水平的提高,人们的安防意识也有了相应的提升。传统的防盗系统已经跟不上快速发展的社会步伐,社会需要新的、更为可靠的、适用于大众的防盗系统。本课题开发一种基于STC12C5A60S2单片机和GSM短信模块的断线报警器,借助可靠、成熟的GSM移动网络,以短消息形式,直接把报警地点的情况反映到用户的手机屏幕上。本课题在查阅大量的文献和资料的基础上,对比各种防盗装置,发现现在市场上的报警系统普遍存在着误报率高、报警范围受地域限制和无法及时有效地通知户主等缺陷。针对上述问题,下文结合断线报警器和无线通信网络的优点,从而很好的解决上述问题。1.3 本设计的研究内容本次设计中介绍了单片机、GSM模块、LCD液晶、IIC键盘的基础知识,同时设计出了相关的各部分电路原理图以及软件流程,软、硬件相结合,详细介绍了整个系统。构建报警终端程序框架,设计功能模块之间的程序框架使GSM、液晶、IIC键盘等模块能协同工作,完成基本功能。探寻在报警终端上方便灵活的设置报警手机号码的解决方法。通过程序设计实现终端接收手机监控短信、检测断线状态、发送断线状态短信。在本设计中,将GSM模块加入到安防系统,制作一种采用单片机为控制核心,采用GSM模块实现远程防盗报警的监控系统,本系统报警信号传输采用无线方式、机器受干扰少,系统使用更加方便灵活;通过GSM模块短信上报上位机,从而实现远程监控。把GSM应用到防盗系统中,使该防盗系统功能更加完善,数据传输更加实时,出现报警状况及时将信息发送到用户的手机上,及时准确的提醒用户出现问题的具体位置及信息。整个系统优点:(1)功能强大的STC单片机能及时地对GSM模块收到的信息采取相应的处理,保证了系统的抗干扰性;(2)用户可直接对系统进行控制,如设防、撤防、修改手机号码等;(3)系统具有远程性,不受距离的影响;第二章 系统总体设计2.1 STC12C5A60S2单片机的概述2.1.1 STC12C5A60S2单片机主要特点STC12C5A60S2单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051单片机。但 速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S,即25万次/秒),针对电机控制,强干扰场合。其接口简单,使用方便,且功能强大,因此本系统采用STC12C5A60S2单片机作为主控制芯片。其主要特点如下所示:l 与8051单片机完全兼容;l 工作电压:3.3V-5.5V(5V单片机);l 工作频率范围:0-35MHz,相当于普通8051的0-420MHz;l 工作温度范围:0-75(商业级)/ -40-85(工业级);l 用户应用程序空间60K字节;l 片上集成1280字节RAM;l 100,000次擦写周期;l 通用I/O口36个;l ISP(在系统可编程),无需专用编程器,无需专用仿真器,可通过串口(P3.0和P3.1)直接下载用户程序,数秒既可完成一片;l 有EEPROM功能,看门狗;l A/D转换,10位精度ACD,共8路,转换速度可达250K/S(每秒钟25万次);l 内部集成MAX810专用复位电路和外部掉电检测电路;l 共4个16位定时/计数器;l 3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟;l 外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒,INT0 /P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3,CCP1/P1.4;l 两个通用全双工异步串行口(UART),RxD2/P1.2与TxD2/P1.3;2.1.2 STC12C5A60S2单片机功能特性描述STC12C5A60S2是一种低功耗、高性能CMOS八位微控制器,具有8K系统在线可编程Flash 存储器。使用宏晶科技高密度非易失性存储器技术制造,与工业8051 产品指令和引脚完全兼容,使得它被众多控制系统所选用。STC12C5A60S2具有以下标准功能:8K字节Flash,1280字节RAM,32 位I/O 口线,看门狗定时器(缺省为关闭,启动后无法关闭),2 个数据指针,三个16 位定时器/计数器,一个8向量4级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC12C5A60S2 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。STC12C5A60S2还有一个重要特点在于它可以在线编程,无需专用编程器,无需专用仿真器,可通过串口(P3.0和P3.1)直接下载用户程序,在编程调试过程中尤为方便。2.1.3 STC12C5A60S2管脚排列STC12C5A60S2管脚(如图2-1)所示。图2-1 STC单片机管脚图管脚P0.0P0.7(管脚编号39-32)P0:P0口既可作为输入/输出口,也可作为地址/数据复用总线使用。当P0口作为输入/输出口时,P0 是一个8位准双向口,内部有弱上拉电阻,无需外接上拉电阻。当P0作为地址/数据复用总线使用时,是低8位地址线A0A7,数据线的D0D7。管脚P1.0/ T(管脚编号 1)P1.0:标准I/O口,PORT10。管脚P1.1/ T(管脚编号 2)P1.1:标准I/O口,PORT11。管脚P1.2P1.7(管脚编号3-8)P1.2P1.7:标准I/O口,PORT13PORT17。管脚P2.0P2.7(管脚编号21-28)Port2: P2口内部有上拉电阻,既可作为输入/输出口,也可作为高8位地址总线使用(A8A15)。当P2口作为输入/输出口时,P2是一个8位准双向口。管脚P3.0/RXD(管脚编号 10)P3.0:标准I/O口,PORT30。RXD:串口1数据接收端。管脚P3.1/TXD(管脚编号 11)P3.1:标准I/O口, PORT31。TXD:串口1数据发送端。管脚P3.2/INT0(管脚编号 12)P3.2:标准I/O口,PORT32。INT0:外部中断0,下降沿中断或低电平中断。管脚P3.3/INT1(管脚编号 13)P3.3:标准I/O口,PORT33。INT1:外部中断1,下降沿中断或低电平中断。管脚P3.4/T0(管脚编号 14)P3.4:标准I/O口,PORT34。T0:定时器/计数器0的外部输入。管脚P3.5/T1(管脚编号 15)P3.5:标准I/O口,PORT35。T1:定时器/计数器1的外部输入。管脚P3.6/WR(管脚编号 16)P3.6:标准I/O口,PORT36。WR:外部数据存储器写脉冲。管脚P3.7/RD(管脚编号 17)P3.7:标准I/O口,PORT37。RD:外部数据存储器读脉冲。管脚PSEN(管脚编号 29)此脚的输出是外部程序存储器的读选通信号。管脚ALE/PROG(管脚编号 30)ALE:地址锁存允许。PORG:编程脉冲的输入端,在进行程序下载时使用。管脚EA/VPP(管脚编号 31)访问内部或外部程序存储器选择信号和提供编程电压。管脚RST/VPD(管脚编号 9)RST:复位脚。VPD:备用电源。管脚XTAL1(管脚编号19)内部时钟电路反相放大器输入端,接外部晶振的一个引脚。当直接使用外部时钟源时,此引脚是外部时钟源的输入端。管脚XTAL2(管脚编号18)内部时钟电路反相放大器的输出端,接外部晶振的另一端。当直接使用外部时钟源时,此引脚可浮空,此时XTAL2实际将XTAL1输入的时钟进行输出。2.2 各主要功能模块原理及其概述2.2.1 TC35 GSM模块的概述及内部结构和通信特性TC35由供电模块(ASIC)、闪存、ZIF连接器、天线接口等6部分组成。作为TC35的核心基带处理器主要处理GSM终端内的语音和数据信号,并涵盖了蜂窝射频设备中的所有模拟和数字功能。模块的供电电压如果低于3.3V会自动关机。同时模块在在发射时,电流峰值可高达2.5A。同时在此电流峰值时,电源电压(送入模块的电压)下降值不能超过0.4V。所以该模块对电源的要求较高,电源的内阻+FFC联接线的电阻必需小于200m。单片机通过两根I/O口控制TC35的开关机、复位等,通过串口与TC35进行数据通信,通信速率为9600Kbps,采用8位异步通讯方式,1位起始位,8位数据位,1位停止位。 TC35i模块输入输出的TTL正电平逻辑不是+5V,而是+2.9V,因此必要时加端口保护。GSM模块作为用户手机和控制器之间数据交换的桥梁,在本系统中起着至关重要的作用,本系统使用TC35 GSM模块。蜂窝通信引擎TC35是Siemens推出的一种无线通信模块,并且已经有国内的无线电设备入网。它设计小巧、功耗低,可以为很多通信应用提供经济高效的解决方案,适用的范围包括便携式电脑的低功耗通信设备、遥测遥感、远程信息处理和通信等工业领域(外观如图2-2所示)。具有基本通讯功能接打电话和收发短信,并支持GPRS功能。本设计正好需要无线传输数据短信收发,因此采用这种模块是比较合适的。图2-2 TC35 GSM模块TC35版西门子工业GSM模块是一个支持中文短信息的工业级GSM模块,主要功能是提供无线语音和数据传输,与外界的传输媒介为GSM(全球移动通讯系统)网络。模块配有与GSM网络的通信接口(接收器、发送器和外置天线),同时配有与数据终端的通信接口(可通过单排40引脚的ZIP连接),其ZIP接口可提供控制、数据接口,语音及电源供给线。TC35 GSM 模块的特性:l 支持EGS900和GSM1800双频段;l 支持数据信号、传输语音、短消息和传真,功耗在EGSM900(4类)和GSM1800(1类)分别为2W和1W,通过接口连接器和天线连接器分别连接SIM卡读卡器和天线;l SIM 应用工具包,SIM电压为3V/1.8V;l AT 命令集控制;l SMS:Text/PDU模式;l 支持电压范围:3.3 4.8V;l 电流消耗: 3.5 mA(睡眠) 25.0 mA(闲置),发射状态为300mA(平均),2.5A峰值;l 数据特征:CSD 最大达到14.4 kbps、 USSD、 不透明模式;l 译码方式: CS 1,2,3,4;l 标准RS232 双向接口;l 模拟语音接口;l 50 欧姆天线连接器;l 尺寸: 54.5 x 36 x 6.75 mm;l 环境温度: 20°C +55°C (GSM 11.10标准);2.2.3 GSM模块的内部构造GSM模块可分为GSM基带处理器(Basedband Processor)、无线收发模块(Radio)、电源供给模块(Power Supplay ASIC)和FLASH闪存几部分,其结构如图2-3所示。天线插口GSM射频部分FLASH ROMGSM基带处理器电源40管脚ZIP连接图2-3 GSM内部结构框图GSM基带处理器是GSM模块的核心,它集成了C166MCU处理器内核及DSP内核,MCU及DSP程序和数据存储器,可编程的系统时间发生器PLL,MCU及DSP定时器,脉冲载波调制输出,串行RF控制接口,兼容SIM卡接口,数字和模拟语音滤波器和AD-DA转换器,电池电压测量电路,电池环境温度检测电路,C51及C52密码单元,GMSK调节器,静、动态电源管理器等模块。无线收发模块是建立在无线收发芯片SMARTI基础上,收发器由差分接收电路、非转移调制环路传送器、RF/PLL/IF合成器、外置收发天线组成。电源供给模块为系统供电。GSM引擎TC35所需直流电压为3.3-4.4V,最大电流为2.5A(待机时电流很小,一般为3.5mA,但在发送语音、数据机短信时要很大的电流驱动,因此必须外加电源,额定电流至少2A)。FLASH存储器存储各种操作指令、数据及控制信息,掉电数据不丢失。2.2.4 TC35接口电路说明TC35接口电路如图2-4所示,只需利用单片机的RXD和TXD管脚对TC35进行控制,就可完成短消息方式的数据传输。TC35默认的串行通信方式是8位数据位,1位停止位,无校验位,波特率在1.2KBit/s到115Kbit/s之间自动可调。值得注意的是TC35管脚定义是针对外部连线,对于TC35来说,TXD是信号输入脚,连接单片机的TXD;RXD是信号输出脚,连接单片机的RXD。此外,在设计电路的时候,需要进行电平转换,实现方法是加上拉电阻。TC35GSM模块电源模块SIM卡插座STC单片机触发电路网络指示电路图2-4 TC35接口电路结构图2.2.5 IIC键盘显示为了实现系统发生警情时能够向指定的号码发送短信息的功能,则必须有键盘和LCD显示,来对防盗报警系统进行电话号码的预设,本设计选用CH452作为键盘显示驱动。键盘电路图如图2-5所示。该芯片内置时钟振荡电路,可以动态驱动 8位数码管或者64位LED,具有BCD译码、闪烁、移位、段位寻址、光柱译码等功能;同时还可以进行64键的键盘扫描;CH452通过可以级联的4线串行接口或者2线串行接口与单片机等交换数据;并且可以对单片机提供上电复位信号。 键盘控制:l 内置 64 键键盘控制器,基于 8×8 矩阵键盘扫描;l 内置按键状态输入的下拉电阻,内置去抖动电路;l 键盘中断,可以选择低电平有效输出或者低电平脉冲输出;l 提供按键释放标志位,可供查询按键按下与释放;l 支持按键唤醒,处于低功耗节电状态中的 CH452 可以被部分按键唤醒;图2-5 IIC键盘电路图2.2.6 LCD液晶显示本设计所用到的MzLH03-12864为一块128X64点阵的LCD显示模组,模组自带两种字号的一、二级汉字库,并且自带基本绘图 GUI 功能,包括画点、画直线、矩形、圆形等;此外还自带有两种字号的 ASCII 码西文字库。模组上为串行 SPI 接口,除电源线之外通讯仅需要连接一根片选线(CS)、一根时钟线(SCK)、一根数据线(SDA)以及一根 BUSY 线即可;接口简单、操作方便;与各种MCU均可进行方便简单的接口操作。MzLH03-12864最有特色的是其自带的基本绘图GUI功能,用户只需要写入一些简单的命令,就可以绘出直线、矩形或者是圆形等,用户代码中无需进行繁琐的计算和操作。LCD液晶电路接口图如图2-6所示。l 128 x 64 点阵 FSTN;l 串行接口方式;l 自带 12X12 点二级汉字库和 16X16 点二级汉字库;l 自带 6X10、8X16 点 ASCII 码西文字库;l 自带基本绘图 GUI 功能(绘点、直线、矩形、矩形框、实心圆形、圆形框);l 自带整型数显示功能,直接输入整型数显示,而无需作变换;l 模块自带由指令控制的白色 LCD 背光,美观大方;图2-6 LCD液晶电路接口图2.3 系统工作原理及结构框图本系统工作原理是:当有人进入房间触发断线报警装置时,断线报警器异常情况传到STC单片机,通过STC单片机分析、处理,生成报警信息;同时单片机系统控制GSM模块向指定手机发出报警短信。根据系统的目标任务,整个系统框图如图2-7所示。系统主要有STC单片机(带键盘)作为主控机、GSM模块、LCD液晶模块、手机模块、断线报警装置及电源构成。各个部分功能有:(1)主控机核心为STC12C5A60S2单片机,主要负责接收断线报警器的报警信号后,通过分析、处理控制GSM模块向设定的手机发送短信以及接收到GSM模块的检测信号后,通过分析、处理控制GSM模块向设定手机发送检测信息。STC单片机和GSM模块之间通过RS232串口进行双向通信,GSM只接收STC单片机的控制信息。(2)GSM模块,主要负责向STC单片机传送控制信息、向单片机指定的电话号码发送报警信息。(3)LCD液晶显示,主要用于显示信息及更设置用户想要指定的手机号码。(4)断线报警装置,主要用于检测是否有人入侵,便于单片机检测连接线是否断线。STC单片机(IIC键盘)GSM模块LCD液晶显示屏断线报警装置用户手机电源图2-7 系统框图第三章 终端软件总体设计3.1 主程序功能装置上电后首先必须对单片机、系统变量等进行初始化,然后通过拉低IGT启动TC35,并通过发送AT命令进行模块的初始化设置。单片机的初始化包括设置波特率、设置外部中断和串口中断等,本次设计外部中断触发方式为下降沿触发。TC35的初始化包括设置短信到达时提醒方式、接收短信的存储位置、电话寻址位置等,初始化过程中用到的相关AT命令详见下文(图4-3)。3.2 主程序流程系统软件采用模块化程序设计思想,主要有主程序、串口程序、短消息程序设计、按键驱动程序等几个模块。装置的远程报警和开启功能通过软件控制实现,在使用装置前需准备好一张已开通的GSM网SIM卡,并设置好报警的目的手机号码,此号码也是用户进行远程开启时的唯一有效号码;设置好欲发送的报警短信内容。将SIM卡装入装置并上电后,装置即可按程序设计的流程运行。主程序流程图如图3-1所示。初始化等待接收标志有外部中断0开始有报警信息报警信息处理并发送Y成功?Y手机收到信息N图3-1 主程序流程图3.3 系统状态分析当系统初始化完成后禁止外部中断1中断,若没有存储过号码则进入system_cast=1输入号码状态,在此状态可以输入短信电话号码。若存储过号码则进入system_cast=0号码存储成功进入待机状态同时也进入监测状态。也可以按下key=0x4A键进入号码设置,在system_cast=1状态下设置号码,号码设置完成后允许外部中断1中断。若在system_cast=1状态下电话号码读取失败,则可以重新输入号码直到存储成功进入system_cast=0状态。按下key=0x4B键单片机进入system_cast=3检测状态,允许外部中断0中断,若接收到断线标志,则检测并发送信息到用户手机(如图3-2)。本设计中管脚P3.2/INT0(管脚编号 12)为外部中断0,下降沿触发,连接断线报警器如图3-3。管脚P3.3/INT1(管脚编号 13)为外部中断1,下降沿触发,连接IIC键盘如图3-4。3.4 系统状态表设置号码状态系统初始化,串口设置完毕,检测按键模块,LCD显示录入界面信息,GSM模块处于工作状态。重置号码进入重置号码界面重新设置所需号码。LCD显示监测状态监测状态GSM模块工作状态把监测报警结果用短信方式发送到用户手机上。若无存储过号码存储号码状态进入重置号码界面重新设置所需号码并且存储号码,点击监测按键系统可进入监测状态。若存储过号码重置成功存储成功按下监测按键如果断线发送失败返回监测再次发送成功报警,断线重连初始化返回设置号码状态。图3-2 系统状态图图3-3 断线报警器管脚连接图图3-4 IIC键盘管脚连接图第四章 各模块驱动程序设计4.1 系统初始化程序串口初始化程序主要包括初始化和中断服务程序两个部分。下面为具体程序。在本课题中串口设置方式:8位数据位,1位停止位,定时器选用的工作方式即8位自动重装定时器、波特率设置为9600bit(晶振频率为11.0592Mhz)、GSM模块模式要设置为 MCUGSM。串口初始化:void main()int i=0;EX0=0;/禁止外部中断0中断 IT0=1;/下降沿触发EX1=1;/允许外部中断1中断ES=1;/允许串行口中断 REN=1;/允许接受串口数据 EA=1; /开放所有中断,各中断源的允许和禁止可通过相应的中断允许位单独加以控制UART1_Init(RELOAD, doubleBaud, timeMod);OpenUART1(); /打开串口1/OpenUART2(); /使用CloseUART1()和CloseUART2()关闭CH452_WriteInt(88); /按键显示88 LCD_Init();/初始化液晶 SetBackLight(120);/设置背光的亮度等级为0ClrScreen();/清屏 FontSet(1,1); /英文字体FontSet_cn(1,1); /中文字体read_number(phone_number); /读取手机号码if(phone_number0='8'&&phone_number1='0'&&phone_number13='2'&&phone_number14='3')system_cast=0; /号码存储状态PutString_cn(15,11,"电话号码读取成功!");PutString_cn(15,25,"电话号码为:");for(i=2;i<13;i+)PutChar(15+(i-2)*6,39,phone_numberi);PutString_cn(2,50,"重置号码");PutString_cn(76,50,"进入监测");elsesystem_cast=1; /输入号码状态PutString_cn(10,0,"电话号码读取失败");PutString_cn(10,15,"一请输入电话号码:");while(1)if(system_cast=1&&l=11) write_number(phone_number); system_cast=0; PutString_cn(35,40,"存储成功"); PutString_cn(76,50,"进入待机");if(system_cast=3) /监测报警状态EX0=1; /允许外部中断0中断system_cast=0;串口进行数据的发送和接收处理时,采用中断服务程序来实现,在中断服务程序中主要完成:当有信号使单片机进入外部中断后首先保存有必要保存的程序现场信息。之后,程序判断系统是否在布防状态,如果系统既在布防状态又有报警信号输入则输出报警信号,单片机控制GSM模块启动发送报警短信,关闭报警。若没