基于GSM短消息的远程门禁系统设计与实现毕业设计论文.doc_第1页
基于GSM短消息的远程门禁系统设计与实现毕业设计论文.doc_第2页
基于GSM短消息的远程门禁系统设计与实现毕业设计论文.doc_第3页
基于GSM短消息的远程门禁系统设计与实现毕业设计论文.doc_第4页
基于GSM短消息的远程门禁系统设计与实现毕业设计论文.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于GSM短消息的远程门禁系统设计与实现基于GSM短消息的远程门禁系统设计与实现摘要:在经济飞速发展和生活水平不断提高的今天,人们对住宅的要求也越来越高。不仅希望拥有舒适和温馨的住所,而且对安全性、智能化等方面也提出了更高的要求。本文介绍的基于GSM短消息的远程门禁系统主要是利用单片机STC89C52RC的串行接口向TC35i输入控制命令编码,以实现对TC35i的控制,在门禁系统收到错误密码输入时,TC35i能够通过GSM网络实现短信息的发送,达到远程及时报警的功能。关键字:GSM;TC35i;单片机;短消息;远程门禁The Design and Implementation of Remote Access System Based on GSM Short MessageAbstract: Rapid economic development and rising living standards of today, people demand more and more residential. Not only want to have comfortable and warm shelter, but also for security, intelligence, it is also put forward higher requirements. This article describes the GSM SMS-based remote access system is mainly a serial interface using SCM STC89C52RC TC35i input control command to the code, in order to achieve control of TC35i, the wrong password in the access control system receives input, TC35i GSM networks through Short message sent to a remote time alarm function.Key words: GSM;TC35i; MCU;SMS; Remote Access1 绪论1.1 课题背景及意义随着人们生活水平的提高,人们对安全的要求越来越高,门禁系统的诞生为人们提供了更安全的门锁要求。传统的门禁系统一般都只能是被动防御,不能将门禁信息及时的发送给用户,不能将安全性提高到最大值。现在人们迫切需要有一种智能型的家庭安全防范门禁系统,能可靠的进行日常安全防范工作,及时发现各种险情并尽早通知在外忙碌的户主,以便将险情消灭在萌芽状态。基于GSM短消息的远程门禁系统首先可以降低线路架设带来的时间、人力、经济上的耗费,大大节约建立门禁系统所需要的费用,为本门禁系统的广泛使用和普及提供了可行性。其次,GSM短消息远程门禁系统能够实时检测报警,远程并且及时告知用户,能够极大程度的避免用户的财产不受到非法的侵害,因此基于GSM的远程控制门禁系统是具有很大的研究意义。1.2 基于GSM的研究现状随着GSM(Global System for Mobile Communication,全球移动通讯系统)网络技术的日益成熟与飞速发展,它能为人们提供的服务也远远超越了个人通信的范围。由于它具有连接简单、覆盖范围广、实现方便和相对低廉的收费等优点,GSM方式成为现代远程监控、遥测系统,野外信息实时采集系统首选的传输方式。基于GSM的短消息业务不需建立拨号连接,只需把待发消息内容加上目的地址发送至短消息中心,再由短消息中心转发到最终目标。由于这些优点,GSM网络得到了广泛的应用,同时也为远程监控、遥测系统、野外信息实时采集提供了一种新的技术手段。采用基于GSM的远程控制既可以解决有线通信带来的布线、维护等的诸多不便,也能解决无线网络通信受限于通信距离的困扰,并且采用GSM网络通信还有及时通信的效果,在某些关键重要的时刻能起到及时通告的作用,所以基于上述优点GSM远程控制门禁系统应该会有很好的研究价值和发展前景。1.3 GSM短消息远程门禁系统优点基于GSM短消息远程门禁系统具有以下优点:(1) 实时监控:通过GSM短消息的远程通讯功能可以对门禁系统的控制系统进行实时控制,这样就可以避免由于时间、地理等因素而造成不能准确监控带来的诸多后果,提升了监控的安全性和有效性。(2) 远程操控:由于GSM已经建立了全球的通信网络,利用单片机收发GSM的短消息功能就可以实现远距离的控制操作,能够解决无线网络受通信距离限制的弊端,以及解决有线通信带来的人力、经济、时间的浪费。(3) 系统简洁:基于GSM短消息的远程门禁系统因为采用了TC35i集成模块与单片机相结合进行控制,这样就避免了传统有线远程控制中布线,维护线路的繁琐工序,使得设备系统的架设变得非常的简洁并且易于维护,同时也降低了运行成本。(4) 管理简单:采用GSM短消息远程控制不需要进行拨号连接和语音通话操作,只需把待发消息内容加上目的地址发送至短消息中心,再由短消息中心转发到最终目标就可以实现远程连接,这就简化了管理过程。1.4 设计主要内容本文主要研究的是基于GSM网络的远程门禁系统。由于现今大部分门禁系统只能起到被动防御的作用,并且不能做到及时远距离报警,所以基于GSM网络的远程门禁系统更能适合社会的需求。本设计主要采用单片机STC89C52RC对GSM模块TC35i进行控制,通过与单片机相连的矩阵键盘向单片机输入密码,并在LED1602液晶显示器上进行显示,密码以及目的电话号码存放在AT24C02EEPROM片外存储器当中。若输入密码与所设置的密码一致,则电子密码锁自动打开,允许用户开启门;若输入密码与所设置的密码不一致,则单片机通过串行口向TC35i发送控制信息和AT指令,驱动TC35i向指定号码发送报警信息。用户同时也可以使用PC机串口工具向单片机输入控制指令,用于更改单片机设置。此外,通过手机终端也可以向TC35i发送短消息,并再通过串行口将信息传送给单片机,以达到对单片机的远程控制,系统模块图如图1.单片机手机终端TC35i GSM模块液晶显示矩阵键盘电子锁AT24C02PC机终端GSM网络图1 系统模块图2 系统原理2.1发送短消息的GSM07系列协议简介短信息服务(SMS)协议是在20世纪80年代提出的,但直到20世纪90年代才开始市场化运行。目前SMS协议的最新版本是GSM07系列协议,它规定了短消息传送的信道分配、编码规则、标准AT指令集等内容。短消息业务与话音传输及传真一样同为GSM数字蜂窝移动通信网络提供的主要电信业务,在GSM07协议中规定它通过无线控制信道进行传输,经短消息业务中心完成存储和前转功能,每个短消息的信息量限制为140个八位组(7比特编码,160个字符)。传送短消息业务的控制信道为专用控制信道(DCCH)。DCCH为点对点双向控制信道,包括独立专用控制信道(SDCCH)、快速随路控制信道(FACCH)和慢速随路控制信道(SACCH)。短消息业务的传送在独立专用控制信道(SOCCH)或慢速随路控制信道(SACCH)进行,具体是在SOCCH还是SACCH上传,这取决于业务信道(TCH)的使用。(1)当TCH未分配时,短消息在SDCCH上传;(2)如果短消息在SDCCH上处理时分配了TCH,短消息传递将停止并继续在TCH随路的SACCH上进行;(3)如果当短消息到达时,TCH已分配,则短消息在随路SACCH上传递;(4)当采用TCH的实体结束其处理时,无线资源管理(RR)子层可选择在SACCH继续进行短消息传递或将它转至SDCCH。通过以上SMS原理可以看出,SMS作为GSM网络的一种主要电信业务,它的传递是可靠的,为基于它的各类新业务的开发打下了坚实的基础。2.2 AT指令AT指令一般应用于终端设备与PC应用之间的连接与通信。每条AT命令行中只能包含一条AT指令。在本设计中,AT指令是被TC35i执行的。2.2.1常用于短信息开发的AT指令集本设计中所使用到的AT指令集如表1:表1 AT指令集表AT指令功能AT+CMGC发出一条短消息命令AT+CMGD删除SIM卡内存中的短消息AT+CMGF选择短消息信息格式:0-PDU;1-文本AT+CMGL列出SIM卡中的短消息信息格式AT+CMGR读取短消息AT+CMGS发送短消息AT+CMGW向SIM卡中写入待发的短消息AT+CMSS向SIM内存卡中发送短消息AT+CNMI显示新收到的短消息AT+CPMS选择短消息内存AT+CSCA短消息中心地址AT+CSMP设置短消息文本模式2.2.2 AT指令操作原理一般来讲,每条AT指令都有3种调用形式,即设置、读取和查询。下面以CMGF为例说明这3种调用形式:参数+CMGF=+CMGF? 返回:+CMGF : +CMGF=? 返回:+CMGF : (列出所有支持的模式)设置调用形式一般为:AT+命令名+参数,如:AT+CMGF=l用来设置当前短消息为Text模式。读取调用形式一般为:AT + 命令名?,如: AT + CMGF ? 如果当前短消息格式为Text, 返回+CMGF 1,如果是PDU模式,则返回+CMGF 0 。查询调用形式一般为:AT+命令名= ?,如:AT+CMGF = ?返回+CMGF(0,1),表示当前模块以及网络支持PDU和Text两种模式。2.2.3 设计使用的非标准AT指令ATE0V0:ATE0和ATV0的缩写,用于初始化TC35i;ATE0V0+CMGF=1+CNMI=2:读取SIM卡的卡号;ATE0V0SSMSS=1+CNMI=2:选择短消息优先存储在SIM卡;2.3短信息PDU(Protocol Data Unit,协议数据单元)编码2.3.1 PDU编码格式PDU数据模式是发送或接收手机短消息的一种方法。发送短消息常用Text和PDU协议数据单元模式。使用Text模式收发短信,所使用的代码简单,所以实现起来十分容易,但最大的缺点是不能收发中文信息内容;PDU模式不仅支持中文信息内容,也能发送英文短信内容。所以,大多选择用PDU协议数据单元模式发送短消息。7-Bit、8-Bit和UCS2编码是PDU模式收发短信所使用的3种编码。7-Bit编码多用于发送普通的ASCII字符;8-Bit编码多用于发送数据内容的消息;UCS2编码多用于发送Unicode字符。一般来说PDU编码由A B C D E F G H I J K L M十三项组成。选择发送短消息,PDU的格式为:SMSCPDU类型MRDAPIDDCSVPUDLUD(0140octed)选择接收短消息,PDU的格式为:SMSCPDU类型OAPIDDCSSCTSUDLUD(0140octed)格式中各控制块含义如下:SMSC-短消息业务中心地址;MR-指明是发出信息;DA/OA-源/目的地址;PID-协议识别;DCS-数据编码;VP-有效时间;UDL-用户数据长度;UD-用户数据;SCTS-指明短消息到达业务中心的时间。2.3.2 接收/发送号码与短信中心号码编码规则若电话号码位数是奇数位,则在号码末尾加“F”,然后从左到右只需将奇偶位对调即可。如下例:接收方原始电话号码经PDU编码后的电话号码应为:5189536050F3。2.3.3 短信内容的三种编码方式(1)7-Bit编码7-Bit编码时,针对的是原始短消息的字符个数,而不是字节数。7-Bit编码用于发送普通的ASCII字符,它将一串7-Bit的字符(最高位为0)编码成8-bit的数据,每8个字符可“压缩”成7个,在使用7-Bit编码时发送的短消息的最大字符数为160。(2)UCS2编码UCS2编码是用两个字节编码,UCS2编码是字节数,用于发送Unicode字符。按照 ISO/IECl0646的相关规定,UCS2编码以1-2个字节为一个字符,将每个字符转变为16位的Unicode宽字符。用单片机控制手机模块收发短消息时,如果没有系统的支持,可用通过查表法解决。在Windows系统中可应用API函数实现编码和解码。使用UCS2编码发送短消息时,最多可发送70个字符。(3)8Bit编码8-Bit编码,就是字节数。8-Bit编码其实不存在具体的算法,主要是用于发送数据消息,比如图片和铃声等。使用8-Bit编码时发送短消息时,最多可发送140个字符。2.3.4 PDU编码实例采用UCS2编码方式,短信中心号码为:+8613800835500,短消息接收方号码为短信发送方号码短信内容为:非法入侵门禁系统!表2 短信发送PDU字符对照表字符串分段含义08地址信息长度91SMSC地址格式(TON/NPI)68区号31 08 80 53 05 F0短信中心地址1100发送短信的编码方式0B目的地址长度81目的地址类型51 89 53 60 50 F3接受方地址0008发送中文字符方式A0固定信息12短信内容长度975E 6CD5 5165 4FB5 95E8 7981 7CFB 7EDF FF01短信内容最终采用Unicode中文编码方式的PDU编码为:0891683108805305F011000B815189536050F30008A712975E6CD551654FB595E879817CFB7EDFFF01在单片机控制TC35i发送短消息中,应该在上述PDU编码后面再加上发送结束标志(十六进制为0x1A),表示短信码结束。3 系统硬件设计本此设计中所用的到的硬件主要有单片机STC89C52RC,GSM模块TC35i,LED1602液晶显示器,44矩阵键盘,AT24C02EEPROM片外存储器以及一些辅助器件。3.1 STC89C52RC介绍本设计使用的STC89C52RC,是具有40引脚的PQFP小型封装的8位单片机,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52RC为众多嵌入式控制应用系统提供高效灵活的解决方案。STC89C52RC具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,三个16 位定时器/计数器,一个全双工串行口,片内晶振及时钟电路。另外,STC89C52RC可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。STC89C52RC内部结构如下图2,外部封装引脚如图3。RXD定时器/计数器中断系统CPUT0T2INT0INT1并行I/O接口串行I/O接口存储器P0P3T1TXD图2 STC89C52RC内部结构图图3 STC89C52RC外部引脚图STC89C52RC单片机的并行接口都可以用来与外设之间进行普通的并行数据或指令的传送,但是P1口和P3口的部分数据位往往还有第二功能,在本次设计中就用到了P3.0(RXD),P3.1(TXD)位的第二功能,并通过P3.0,P3.1完成了单片机与GSM模块TC35i,单片机与PC机之间的信息传递。STC89C52RC各引脚对应的第二功能如下图所示:表3 STC89C52RC引脚对应第二功能引脚第二功能信号名称P3.0RXD串行数据接收P3.1TXD串行数据发送P3.2INT0外部中断0请求P3.3INT1外部中断1请求P3.4T0定时/计数器0外部输入P3.5T1定时/计数器1外部输入P1.0T2定时/计数器2外部输入3.2 单片机与GSM模块TC35i通信电路在本设计中,单片机与TC35i模块,单片机与PC终端之间的通信都是通过串口通信来完成的。单片机向TC35i发送的AT命令通过字符数组发送到SBUF中,然后再通过串口逐位发送到TC35i接收SBUF中。在使用串口通信的时候,本设计采用了中断处理的方法来进行信息传递,在中断处理函数中完成数据的传输。在进行串口传递和中断处理时,需要对单片机内部的串行口控制寄存器SCON,中断允许寄存器IE,中断优先级寄存器IP分别进行相应的初始化设置,以控制串行口正常工作。单片机STC89C52RC串行口硬件结构图如图4。A波特率发生器移位寄存器移位寄存器移位寄存器移位寄存器+发送缓冲器SBUF(99H)接收缓冲器SBUF(99H)串行口中断请求TXDRXD图4 STC89C52RC串口结构图本设计所对应的串口中断服务处理程序与定时器中断服务程序过程如图5:t中断源串口中断程序主程序串口中断定时器中断定时器中断程序图5 中断服务程序处理3.3 GSM模块TC35i介绍GSM模块作为一种主要的GSM网络接入设备,已得到越来越多系统制造商和系统开发商的重视,基于它的各种应用也蓬勃发展起来。GSM模块是继GSM手机后,又一种非常重要的GSM移动通信系统的终端设备。它是传统调制解调器与GSM无线移动通信系统相结合的一种数据终端设备,因此也叫无线调制解调器。它的出现给GSM的发展注入了新的活力,改变了传统的以话音为主的通信手段,打开了GSM网络数据通信及其应用的大门。所以在应用上,凡是使用调制解调器的地方多数都可以用GSM模块代替。由于调制解调器必须通过PSTN或者其他专用通讯网进行通信,因而受地域以及线路等因素的影响,在应用上有很大的局限性。而GSM模块则无此限制,所以基于这种模块,以GSM网络作为无线传输网络,可以开发出多种前景乐观的应用,如GPS/GSM(SMS)移动车辆监控定位系统、移动POS机、移动收费系统、移动性数据和Internet接入等。TC35i模块内部结构如图6所示,从功能上看主要由4部分组成:GSM基带处理器、GSM射频部分、电源A-SIC(Application Specific Integrated circuit)、Flash。天线插FlashGSM射频部分电源ASICGSM基带处理器40芯的ZIF连接器SIEMENS GSM模块 TC35i天线图6 GSM模块TC35i系统结构图3.4 矩阵键盘与液晶显示设计本设计采用44的矩阵键盘作为密码输入工具,使用LED1602字符液晶显示器作为显示工具。用单片机的P0口的高四位与矩阵键盘的行连接,P0口低四位与矩阵键盘的列连接,在行端口上给以高电平,列端口上给以低电平,当有按键被按下时,与某行连接的列的端口也会是低电平,那么通过交叉判断就可以确定一个键被按下,并通过公式:数值=(行数-1)4+列数-1,就可以得出被按下的键对应的数值。在设计过程中,应该注意对按键抖动处理,本设计采用的是程序延迟消抖的方法。在设计中也可以采用定时器中断消抖的方法。当确定了被按下的数值以后,通过P2口将对应的数值发送给LED1602字符液晶显示器进行相应的显示,就能够实现键盘输入液晶显示密码的效果。本设计中所使用到的LED1602字符液晶显示器只能显示简单字符,LED1602字符液晶显示器的三个控制端口分别由P10,P11,P12控制,其中P10用作指令/数据控制位,用来控制向LED1602输入的指令或者数据;P11口用作读写控制位,用来控制向LED1602读或者写数据/指令;P12口用作使能控制位,用来控制LED1602正常工作。此外,LED1602输入/输出的指令/数据是通过P2口来完成的。当需要显示相应字符时,应该先用P10,P11,P12三个端口初始化液晶显示器,LED1602的硬件结构图如图7:图7 LED1602液晶显示器硬件电路图单片机控制LED1602液晶显示器的工作流程图如图8:矩阵键盘扫描函数初始化LED1602是否有键按下?有写LED1602函数没有控制显示格式并存储按键数值图8 液晶显示工作流程图3.5 系统硬件设计本设计通过单片机对所需发送和接受的短信息内容进行编码和解码,编码后的代码和所要解码的代码都是通过单片机的串行口TXD,RXD与TC35i模块的串行口RXD、TXD进行数据传输。用于控制TC35i模块的AT指令和响应信息也是以同样的方式在单片机和TC35i模块之间传输。此外,单片机的串行口还需分时复用,以便能够接受PC机发送给单片机的命令。具体硬件连接如图9:GNDIGTSTC89C52RCRXDTXDRXDTXDTC35iRXDTXDVCCVCC液晶显示器PC机终端蜂鸣器电子锁44键盘AT24C02EEPROM图9 系统硬件连接图4 系统软件开发环境4.1软件开发环境介绍本远程门禁系统嵌入式软件部分所运用的开发集成环境是KEIL uVision3,Version 8.05,该集成环境是KEIL公司专门为嵌入式软件开发而研发的,目前主要运用于ARM系列、51系列单片机的软件开发。KEIL uVision3 将项目源代码管理器,带自动提示的编辑程序管理器,高度仿真程序调试器等集成到一个功能强大的环境中,能够准确迅速的编译C源代码和汇编源程序,连接和重定位目标文件和库文件,创建HEX文件调试目标程序。KEIL uVision3开发工具编译C源代码和汇编源程序,连接和重定位目标文件和库文件主要使用的是以下特定程序:C51美国标准优化C交叉编译器从C源代码产生可重定位的目标文件。A51宏汇编器从汇编源代码产生可重定位的目标文件。BL51连接/重定位器组合由C51和A51产生的可重定位的目标文件并生产成绝对目标文件。LIB51库管理器组合目标文件并生成可以被连接器使用的库文件。OH51目标文件到HEX格式的转换器,用于创建HEX格式的文件。4.2 Keil开发流程用Keil Software工具开发项目流程和其它软件开发项目的流程极其相似,有如以下几点:(1)创建一个项目从器件库中选择目标器件配置工具设置。(2)用C语言或汇编语言创建源程序。(3)用项目管理器生成应用文件。(4)修改源程序中的错误。(5)测试连接应用文件。4.3 Keil运行界面Keil开发环境与传统的C语言开发环境相比具有界面友好,操作简单,调试方便,功能强大等优点,其具体开发环境如图10:图10 程序编辑界面图程序调试中,可以软件仿真定时器,并行口,中断,串口等硬件设备,具体调式过程如图11:图11 程序调试界面图5系统程序设计5.1 单片机控制TC35i模块程序单片机控制TC35i的程序主要采用的是C51程序语言,在Keil uVison环境下进行程序设计。该部分程序主要分成三大模块:主程序,头文件程序,函数实现程序。程序首先实现对单片机和TC35i硬件设备的初始化,当正确输入密码以后,程序会驱动P3.5输出一高电平去启动电子密码锁和蜂鸣器短叫。如果在半个小时内连续错误输入三次密码,系统就会调用短消息发送程序,采用串口中断的形式向TC35i输入AT指令和PDU编码,然后TC35i自动向目的地址发送短消息。用户若想要修改密码或者目的电话号码,则可以根据本系统设计的命令控制字格式编写新的密码或者目的电话号码,再通过串口程序向TC35i输入,同时,单片机会将输入的内容原样发送会串口发送程序界面以供用户确认。各函数之间的调用与函数功能实现如图12。判断密码错误次数判断函数键盘接收密码函数单片机输出控制信号开启电子锁密码正确密码错误错误次数不大于3次通过串口向TC35i发送编码TC35i读取编码发送报警信息手机终端编码处理函数错误次数超过3次单片机及TC35i初始化函数AT24C02读密码及电话号码函数报警函数图12 单片机控制TC35i程序结构图5.2 短消息发送程序流程图单片机控制TC35i完成远程通讯主要使用的是基于GSM网络的AT指令和PDU编码规则,本设计中AT指令的代码主要由单片机串口终端程序发送,PDU编码由windows软件生产,再由windows串口软件发送给单片机,短消息发送的程序流程图如如13:PDU编码程序PC终端串口程序单片机端编码组织程序AT指令发送程序单片机串口程序TC35i硬件发送接收手机终端单片机设置更改程序图13 短信息发送流程函数图5.3 PC机终端修改密码及目的地址程序为了保证目的电话号码以及密码能够在系统重新启动中能被保存,本系统在设计时就将目的电话号码以及密码保存在片外AT24C02-EEPROM中,这样就能够保证在系统重新启动,断电等突发情况下,能够完好保存密码和目的电话号码,同时这也是通过PC机串口修改密码和目的电话号码的基础。为了区分通过PC串口到底修改那类系统值,本系统在设计时规定了两个字符控制字a和b,a为修改密码的字符控制字,b为修改目的电话号码的字符控制字。在通过串口修改密码时应该在密码之前加上a;若是修改目的电话号码时应该在电话号码之前加b。如新密码命令:a123456;新目的地址命令:具体程序实现流程如图14:PC机串口程序单片机串口接收程序字符控制字判别程序修改目的电话号码程序控制字a单片机向PC机回显输入情况修改密码程序控制字bAT24C02写数据函数并保存修改图14 密码及目的电话号码修改流程图5.4主要函数模块5.4.1 单片机初始化模块该段程序主要完成对单片机串口工作方式的选择(本设计选用工作方式1),设置定时器1作为串口通信传输的波特率发生器,以及对应各个中断的设置。/* 单片机的初始化程序 */void Sys_Init(void)TH0 = 0xB8;TL0 = 0x00; /20ms的时钟基准TI=0;/表示串行口现在可以进行发送 RI=0;/表示串行口现在可以进行接受 SCON=0x50; /选用方式1 0101 0000 选择串行口工作方式1,8位UART,/波特率=T1溢出率/n,REN=1,表示允许接受 TMOD=0x20;/0010 0000 TMOD = (TMOD & 0xf0) | 1;/MODE选用定时器1 TH1=0xfd; /波特率为9600TL1=0xfd;PCON=0x00; /倍频0x80IE = 0xb0; / EA XX ET2 ES ET0 EX0 ET1 EX1 1100 0000TR1=1; /enable TIMER1 启动定时器1 ES=1;/允许串口中断 TR0=1;/启动定时器0 ET0=1;/允许定时器0中断 ET1=0;/不允许定时器1中断 EA=1;timer_1S_cnt=0;receive_count=0;send_count=0xff;/表示禁止发送,可以接收5.4.2 AT指令发送模块该函数模块主要根据输入对应的命令的宏定义选择对应的AT指令字符串,再将相应的字符串复制到uart_buff 通信缓冲函数中。然后通过置TI = 1,调用串口中断函数Int_Uart(),在中断函数中循环的对AT指令发送到TC35i中,并在Int_Uart()函数中接收TC35i的响应信息。部分主要代码如下:/* * AT指令发送程序 * */uchar Send_AT_Command( uchar type) AT_Command_Type=type;send_count=0;switch(type)case RESET_TC35:/复位TC35strcpy(uart_buff,AT+CFUN=1,1);break;case CHECK_PIN:/检查当前是否要输入PIN码strcpy(uart_buff,AT+CPIN?);break; case TC35_INIT:/TC35初始化命令strcpy(uart_buff,ATE0V0);break;case SMSS_ID:strcpy(uart_buff,ATE0V0SSMSS=1+CNMI=2,1);break;case SMS_CMGF:/SMS 接收方式,strcpy(uart_buff,ATE0V0+CMGF=0);break;case SMS_CMGS:/写一个短信strcpy(uart_buff,AT+CMGS=);strcat(uart_buff,para_temp);break;5.4.3 串行中断模块当RI = 1或者TI = 1的时候,单片机根据自身中断机制自动转向中断程序Int_Uart()。在中断程序Int_Uart()内,当数据自动从单片机TXD端发送出去后会置位TI,在中断程序中设置TI = 0,以满足下一次中断的条件,循环的发送uart_buff 中的字符。由于发送中断和接收中断由同一个中断函数响应,所以中断函数Int_Uart()还能够接收对应AT指令的响应信息。串行发送中断程序如下:void Int_Uart(void) interrupt 4 using 3 /串口的中断程序if(TI)TI=0;if(send_count=MAX_TM-5) send_count=0; /send_count =0xff if(uart_buffsend_count=0) /应该检测命令结束代码,检测到时/结束通信at_send_bit=1;send_count=0xff;for(F=0;F20;F+)uart_buffF=0;/清除接收缓冲区receive_count=0;return;else if(uart_buffsend_count=0xB0) /0xff 0x0d=165temp = uart_buffsend_count+;SBUF = temp;P2 = 1;P0 = temp;if(uart_buffsend_count=0) /应该检测命令结束代码,检测到时结束通信at_send_bit=1;send_count=0xff;for(F=0;F20;F+)uart_buffF=0;/清除接收缓冲区receive_count=0; P2 = 5;P0 = temp2+; return;receive_count=0;6测试6.1测试准备(1)将SIM卡装入TC35i模块中,并将TC35i的RXD端,TXD端,IGT端分别与单片机的TXD、RXD和P1.3相连接。(2)将单片机与液晶显示器,矩阵键盘等外设相连接。(3)先给TC35i上电并等待2分钟左右,以便SIM卡成功登入到GSM网络,然后再给单片机上电。6.2测试阶段及结果(1)利用矩阵键盘输入密码:111111,此密码与系统预设密码一致,为一个正确密码,效果如图15:图15 测试结果1图测试结果为:蜂鸣器鸣叫3s后停止,连接电子锁的并口引脚输出低电平。(2)利用矩阵键盘输入密码:123456,此密码与系统预设密码不一致,为一个错误密码,效果如图16:图16 测试结果2图测试结果为:蜂鸣器长叫不停,等待35分钟后,报警信息成功发送到指定手机终端。(3)利用PC机串口软件更改系统预设密码时,首先应该根据原始密码进入到系统中,然后再打开串口软件,在输入新密码的前面应该加上密码修改控制字a,然后输入新密码:123456,效果如图17:图17 串口软件更改密码图测试结果:通过串口更改系统密码后,系统原始密码被新密码所代替,想重新进入到系统时,只有输入新密码才能够成功进入,原始密码将会被当作错误密码处理。(4)利用PC机串口软件更改系统预设目的电话号码时,首先应该根据原始密码进入到系统中,然后再打开串口软件,在输入新电话号码的前面应该加上电话号码修改控制字b,然后输入新的目的电话号码效果如图18:图18 串口软件更改目的电话号码图测试结果:通过串口更改系统目的电话号码后,系统原始目的电话号码被新电话号码所代替,重新进入到系统时,如果遇到非法入侵门禁的情况,系统会将信息发送到新的目的电话号码上。7 结论本设计充分的利用了GSM网络无线远程实时的功效

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论