




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录1 引言 .31.1 课题的背景及意义 .31.2 课题的应用前景 .31.3 未来发展展望 .42 方案论证 .52.1 总体方案选择 .52.2 GSM 终端硬件设计方案论证 .62.2.1 硬件 设计 方案 .62.2.2 无 线 数据 传输 模 块 .63 硬件总体设计 .83.1 MCU 中央控制部分 .83.2 指示电路部分 .83.3 报警信号输入接口电路 .93.4 GSM 通信模块接口部分 .93.5 报警输出控制部分 .113.6 系统供电部分 .114 系统软件设计 .124.1 GSM 常用 AT 指令 .124.2 下位机软件组成 .134.3 各模块软件设计 .154.3.1 初始化模 块 .154.3.2 GSM 初始化模 块 .154.3.3 身份授 权 及 验证 模 块 .164.3.4 数据 传输 模 块 .164.4 上位机管理中心系统软件设计 .164.5 调试软件的使用 .164.5.1 初期 阶 段的 调试 .164.5.2 程序 设计阶 段的 调试 .185 系统设计中出现的问题及解决办法 .195.1 排除仿真终端上出现乱码的方法 .195.2 排除调试阶段出现无法监视的方法 .195.3 区别接收返回值与传输数据的方法 .196 结束语 .20致谢 .21参考文献 .22附录 1 英文 AT 指令错误提示代码详解 .23附录 2 整体电路图 .24附录 3 程序清单 .251 引言1.1 课题的背景及意义随着科学技术的迅猛进步、经济的飞速发展,社会生活、 结构等各方面都发生了巨大变化,人们的思想 观念、行 为方式也发生了很大的变化;社会财富的日益丰富,既满足了人民群众提高物质生活水平的需要,同时也刺激了犯罪分子非法摄取钱财的恶欲。目前,我国汽车的拥有量越来越多,交通行业高速发展,城市车辆、交通流量大幅度增 长。在此形 势下,单位所属 车辆需要实行有效的调度监控,以 节约开支,提高效率;另一方面,交通事故剧增,而更为突出的是盗抢机动车犯罪的发案总数也呈上升之势。在这种情况下,汽车的安全、防盗 问题就越来越重要。应用高科技技术实现对车辆的监控,可以有效的加强对车辆的调度管理及防盗防劫。从目前国际交通监控系统来看,技术已经非常成熟。像美国的ZEPCO公司、挪威的TDS公司等都具备多年的技术开发和项目实 施能力。而在我国可以远程监控客车的系统很少,并且存在一些不足之处。有的系统只是普通的车外监控形式,不能很好对车内的实时信息进行监控,且客车无法与主机进行通信对话,实用性不强。因此交通监控系统还 是一项发展未成熟的技术,所以还需要不断的改进、完善 1。GSM(Global System for Mobile Communication,全球移动通讯系统)是基于时分多址技术的移动通讯系统,是目前发展比较成熟、完善、 应用最为广泛的通讯系统。 目前已建成的覆盖全国的GSM 数字蜂窝移动通讯网(主要包括中国移动和中国联通两家大型运营商),是我国公众移动通讯网的主要方式,它主要提供话音、短信息、数据等多种业务。其中基于 GSM-SMS(Short Message System,短消息或短信)功能可以开发出传输各种检测、监控数据信号和控制命令的数据通讯系统。由于GSM 网络在全球范围内实现了联网和漫游,不需组建专用通讯网络,就可以完成远程数据通讯,而且具有较好的实时性,所以GSM网络的应用越来越广泛。本系统就是利用单片机对报警信息进行采集,再以SMS方式实现远程自动报警。1.2 课题的应用前景基于GSM 的车辆 防盗报警系 统将现代通讯技术与车辆防盗技术结合起来,充分利用发达的无线通讯网络,是3G(GSM 、GPS、GIS)技术在ITS(智能交通系统)中应用的一个重要组成。 该系统具有较强的扩展性,可以扩展应用实现无线数据传输、 车载电话等功能。配合GSM接收器,就可以实现车辆定位以及远程监控。此外,报警系统只有在报警时才会发短信,平 时 不会发生任何费用。所使用的网络是公共无线通讯网络,与使用手机完全相同,不需额外注册。1.3 未来发展展望系统的容量只和GSM系统 的容量有关,所以它的容量是非常大的,可以达到几十万辆车。现在GSM 的覆盖范围是非常广,已扩展到县城一级。随着短消息业务在全国各地的开通,装有 GPS定位设备的车辆,将可以在全国漫游。随着福建、上海等地的GPS车辆调度 监控系统的建立,华东六省一市监控系统的漫游、联网监控不久将会实现。而且随着公安监控系统的建立,系统将实现车辆的全国联网监控。随着“ 全球星”卫星移动通信系统的建立,它在中国的双模式终端极可能是全球星加数字蜂窝GSM模式,从而实现广域漫游和边远地区通信,车辆监控系统的覆盖区域将会更加广阔 4。2 方案论证2.1 总体方案选择目前的无线通道的数据传输方案主要分为两种,一种是通过专用网进行数据传输,如 RF(Radio Frequency,射频)数传电台和无 线局域网(WLAN );一种是通过公共无线通信网络,如 GSM/GPRS网络的成熟度 较高、覆盖面 较广,因而GSM/GPRS网络被选为该 无线通道总体方案的通信基础 4。而基于GSM/GPRS 网络的数据传输通常有四种方式,一种是基于短消息的数据传输。第二种是基于DATA方式(注:一种以电路交换为基础的传输方式)的数据传输;第三种是通过语音方式进行数据传输;最后就是通过IP(INTERNET PROTOCOL,因特网协议)方式的数据传输。下面对四种基于GSM/GPRS 网络 的无线数据传输方式的各自特点作简单的介绍。基于短消息的数据传输是通过短消息作为数据传输的载体,利用AT 指令对 通信模块控制,然后将数据按照短消息的格式发送给目标机。目标机接收到短消息后,利用 AT指令将短消息读出并将信息还原,这样就完成一次数据通信。基于短消息的数据传输方式的特点是资费较低,组网/使用方面,但数据容量较低(、短信发 送的指令符 ,所有的AT指令返回值并非以可打印字符起始,它们如何在指令中表示?在返回字符的何处出现?为实现某一功能,需发送多条有连贯意 义的AT指令时,能否 连发 ,之 间的间隔又该多大?上述问题是用MCU控制无线模块的关键,透 彻解决它 们的第一步是准确掌握AT指令的格式。 在系统设计过程中可利用超级终端,串口检测软件对串口进行检测,确定AT 指令的具体格式。本系统设计借助PortSpyV11串口调试软件对AT指令格式进行探究,以发送AT返回 OK为 例。 调试界面如图3所示。发送:AT返回值:0D 0A 4F 4B 0D 0A分析上述串口侦听过程可知,AT指令实质是以字节发送,回车符代表指令的结束, 模块接收到回车符后开始执行指令,指令 发 送过程中,字 节间允许有任意间隔。模 块接收到指令字 节后,会立即答复以相 应 的握手信号。模 块执行指令后的一切返回值(无论指令执行后的OK还是报错信息)都是以不可打印字符“0D0A”开始和结束。为了保证通信的可靠性,默认情况下模块回复收到字符的握手信号又称为回显(Echo ),握手机制能确保指令收发的可靠性,但在实际的设计中,通 过MCU 实现对模 块的控制,需接收 执行AT 指令的返回值,并需 进行必须的字符校验,每发送一字节指令后模块所返回的握手信号须程控滤除,频繁的开关串口中断,降低了程序的可靠性。 为简化 这一过程,需屏蔽模 块回显。以下AT 指令可取消回显:ATE0图3 调试界面OKATE1/开启回显OK在指令后加“ ;&W”,可保存设置,如:ATE0;&W/模块掉电时能保存屏蔽回 显的设置。通过前面对AT指令内容及格式的研究发现,通过以下简要AT指令即可实现终端系统的数据传输,如表 1所示。表1 常用的AT指令表4.2 下位机软件组成程序主流程图如图4所示。图4中的个人参数设置主要用来设定用户用作报警的电话、个性化报警短信文字等,既可以用计算机通 过串口进行设置,也可以AT 指令 功 能AT+CMGC Send an SMS commend(发出一条短信息命令)AT+CMGD Delete SMS message (删除 SIM 卡内存的信息)AT+CMGF Select SMS message format(选择短消息信息格式:0-PDU ;1-文本)AT+CMGL List SMS message from preferred store(列出 SIM 卡中的短消息格式 PDU/TEXT:0“REC UNREAD”为未读, 1“REC READ”为已读,2“STOU NSENT”为待发,3“STOSENT”为已发,4“ALL”为全部AT+CMGR Read SMS message (读短消息)AT+CMGS Send SMS message (发短消息)AT+CNMI New SMS message storage(显示新收到的短消息)AT+CSCA SMS service center address(短消息中心地址)通过手机短信的方式设置。参数中有个人密码项,一旦设定,整个系 统只受密码持有者控制。软件的一项重要工作是协议转换,GSM 模块以及手机支持的是GSM协议,要想使得单片机能够控制GSM模块的短信收发,必 须将相应的控制指令、报警状态等数据转换为相关格式,例如,手机短信支持的PDU或Unicode码格式。终端系统设计的核心部分是单片机与GSM无线模块的通信,串口通信与AT命令的设置和使用是程序设计的难点。系统软件设计采用模块化设计思想,主要分为单片机系统初始化模块、通信模块初始化模块、身份授权 及验证模块、数据 传输模 块、数据采集模 块、报警控制输出模块等组成。图4 程序流程图4.3 各模块软件设计开始单片机初始化成功?GSM 模 块初始化打开串口与 GSM 通信建立接收标志为1?接收数据并做出处理发送反馈信息成功?有报警信息?报警信息处理并发送成功?3 秒?3 秒?YNYY YYYNNNNNNY4.3.1 初始化模块单片机初始化部分将AT89S52串口设置为工作方式 1即8位数据位和一位停止位;定时器选用定时器1的工作方式2即8位自动重装定时器、波特率设为19200bit(晶振频率为11.0592MHZ),且TMOD=#20H,SMOD=1,所以定 时器1初值分别为TH1=#0FDH,TL1=#0FDH。程序如下:;以下为主程序进行CPU初始化 设置SETB IT0 ;设定INT0的触发方式为脉冲负边沿触发MOV SCON,#50H ;设置成串口1方式MOV TMOD,#20H ;波特率发生器T1工作在模式2上MOV TH1,#0FDH ;预置初值(按照波特率 9600BPS预置初值)MOV TL1,#0FDH ;预置初值(按照波特率 9600BPS预置初值)SETB TR1 ;启动定时器T1MOV PCON,#10000000B ;设定SMOD为1,波特率翻倍!4.3.2 GSM 初始化模块LCALL YUSJ ;开机清除接收短消息手机号 码CLR KGJ ;打开手机MOV DPTR,#1000 ;延时1秒LCALL DELAYXMS ;开机延时SETB KGJ ;复位手机控制MOV DPTR,#10000 ;延时10秒LCALL DelayXmS ;开机延时LCALL ATEOK ;开机发送ATE指令!LCALL CNMI ;发送(AT+CNMI=1,1, 0,0,1),短信到达TELCALL SCQBDX ;调用删除SIM卡中所有短信的子程序;完成和手机通信握手,和 SIM卡删除所有短消息初始化START:LCALL XRDXZX ;调用询问手机SIM卡中短信中心号码子程序LCALL XRSJ ;读出授权电话号码 及密码,写入内存中MOV 7FH, #46HLCALL MJCS ;蜂鸣器提示LCALL MJCSCLR SX ;模块上线4.3.3 身份授权及验证模块这部分包括以下几个功能:授权用户和密码,更改用户和密码,和系统的设防与解防状态的切换与查询等功能。主要由以下几个部分组成:(1)检测到有电话或短信;(2)进行身份的认证与判断;(3)信息的回显等几部分。这一部分在调试过程中是最容易出错的地方,因为关系到安全级别的高低。本设计从两个方面来增加安全性,一是通过对电话号码的认证,二是通过四位ACSLL码(16位的UINCODE码 )认证。 详细程序见附录。4.3.4 数据传输模块根据不同的要求,串口数据的发送是可以知道时间的,所以采用查询方式,而接受是不确定的,所以接收采用中断的方式。在与模块握手连接成功后, 通过字符串发送函数就可将数据缓存区中欲发送的数据发送。发送数据的原理与建立连接时的基本相同,但数据的接收是通过串口中断接收函数完成的,同时将接收到的数据必须先放入接收缓存区以便显示。需要指出的是串口中断程序既要接收指令返回值又要接收模块传来的数据,这两种接收信息的处理方式不同,所以在中断函数中应通过设置两个不同的标志来解决这一问题。这样也更合理一些。4.4 上位机管理中心系统软件设计综合管理系统(上位机软件)是用Visual C+结合数据 库来做,Visual C+提供了一个可视化编程的集成开发环境:Visual Studio(又名Developer Studio)。Developer Studio是通用的应用程序集成开发环境,它不仅支持Visual C+,还支持Visual Basic,Visual J+,Visual InterDev等Microsoft系列开发工具。Developer Studio包含了文本 编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工具,以及一套联机文档。使用 Developer Studio,可以完成创建、调试 、修改应用程序等的各种操作。 其综合管理系 统界面如图5所示。4.5 调试软件的使用4.5.1 初期阶段的调试主要是采用AT指令调试精灵来调试GSM模块。主要先熟悉AT指令的使用,AT指令 调试精灵是方寸自主研发的一款用于调试各个厂家AT指令集的实用工具,该软 件功能强大,运行稳定,支持市 场上大部分 GSM/GPRS猫,通过它不仅可以测试GSM 猫上所支持的AT指令,而且可以收发短信,发短信时可以看到需要运行的相关AT指令和PDU编码,当有新短消息到 时 ,系统会自动收短信并显示在屏幕上,该安装包包含Nokia、 Siemens等AT指令集以供用户调试和熟悉AT指令,开放部分源代码,可以在此平台上开发出高性能的短信应用程序。其界面如图6所示。图5 综合管理系统界面图6 AT指令调试精灵界面4.5.2 程序设计阶段的调试在熟悉了AT 指令的基础上开始构建自己的设计思路、设计方法、实现方法等一系列的问题需要去解决, 这时候我主要采用串口调试助手和超级终端来把AT指令一步一步地转化为16进制的数据去代替,是最终用单片机来完成这些AT指令操作的不可缺少的阶段。其中超级终端与串口调试助手相比存在一些不足。5 系统设计中出现的问题及解决办法5.1 排除仿真终端上出现乱码的方法设计初期需在超级终端等串口调试软件中进行AT指令的调试,但经常会遇到不能与GSM MODEM进行正常通信或总是在仿真终端上出现乱码,此时检查串口是否保证正常连接, 计算机的串口引线与GSM MODEM的串口引线应是一一对应的。GPRS MODEM与仿真终端应设置相同的通信速率。当初次使用GPRS MODEM时,在仿真终端上设置为通信速率 19200bps、8位数据位、无较验位、1位停止位。5.2 排除调试阶段出现无法监视的方法在调试过程中,很希望可以看到程序执行到何处了,数据是结果如何?因为由于GSM 模块 要求的波特率非常的 严格,一般是不可以使用仿真器进行仿真调试的。这时 可以用电脑的串口 调试助手并接在GSM 上,就可以方便地监视到所发的数据和所收到的数据了。也大大的增加也调试的效率。5.3 区别接收返回值与传输数据的方法在终端软件设计时,通常采用串口中断函数接收模块返回值与传输数据,但接收到的模块返回值与接收到的传输数据对应不同的处理过程,所以在程序设计时应通过在中断接收函数中设置两个不同的标志来解决这一问题。6 结束语随着无线通信技术的不断提高,利用移动运营商提供的无线网络实现远程监控和数据传输已被广泛应用于各个领域。特别是基于单片机的GSM数据传输方案在GSM 车载终 端、自动抄表系统等远程遥测遥控系统中的应用更是倍受关注。为单 片机实现GSM 的无 线监控提供了一种通用的解决方案。本设计主要完成了:(1)数据监控终端的硬件电路的设计与制作。(2)数据监控终端的(下位机)软件的设计与调试。(3)车辆管理中心系统(上位机)软件的设计(4)整个系统的整体调试工作。由于时间的原因,此系统设计还存在很多不足之处,今后将近一步拓展系统功能,增强系统的实用性。致谢本论文是在李老师的悉心指导下完成的,李老师渊博的科学知识、远见卓识的科学创新和严谨的治学态度都给了我深远的影响。在设计阶段李老师在资料搜集、程序调试、论文写作等方面都给予我严格的要求和关键性的指导,在此衷心感谢三个月来李老师对我的关心和指导。参考文献1 黄 涛.单 片机在汽车控制系统中的应用J.电子世界, 2001(5)2 王树祥.NLX230模糊单 片机在汽车控制中的应用J. 机电一体化,2001(7)3 宋 长舟,韩建礼,毛新 乐.车辆远程监控通信软 件中信息接收的解决方案J.测控自动化,2004(9)4 熊幸明.基于 PC远程监控的行车控制系统设计J.电工技术杂志,2002(5)5 M.Luczak,刘庚权,吴雅丽.列车远程监控J.国外内燃机 车,2004(6)6 张 玉东 ,孙仁科.嵌入式工程车辆监控系统的 设计与实现J.凉山大学学报,2004(6)7 张勋勇,谢 辉,鲍振武.车辆远程监控系统J.电 子测量技术,2005(4)8 赵晶.电路 设计与制板M.北京:人民邮电出版社, 20019 吴金戌,沈庆阳,郭庭洁.单片机实践与应用M. 北京:清华大学出版,200310 何立民. 单片机应用技术选编M. 北京:北京航空航天大学出版社,200011 陈杰,黄鸿.传感器与检测技术M.高等教育出版社,2004(4)12 杨日杰,何友,崔旭涛.基于SMS的远程数据传输系统设计J .电子工程师,2004 (2)13 马潮.嵌入式GSM 短信息接口的 软硬件设计J.单片机与嵌入式系统应用,2003 (7)14 曹尉青,韩冰.利用 GSM 短消息实现远程 监控J.产品设计与应用,2002 (10)15 李鸿.用 单片机控制手机收发短信息J .电子技术应用,2003 (1)附录1 英文AT指令错误提示代码详解附录2 整体电路图EA/VP31X119 X218RESET9RD17 WR16INT012 INT113T014 T115P101 P112P123 P134P145 P156P167 P178P00 39P01 38P02 37P03 36P04 35P05 34P06 33P07 32P20 21P21 22P22 23P23 24P24 25P25 26P26 27P27 28PSEN 29ALE/P30TXD 11RXD 10U?89S511 23 45 67 89 1011 1213 1415 1617 1819 20HEADER 10X2GNDVCCS?SW-PBS?SW-PB?SW-PB?SW-PB?SW-PB?SW-PB?SW-PB?SW-PBY?CRYSTALC?CAPC?CAPGND12345678 910111213141516JP?HEADER 8X2GNDC?ELECTRO1C?ELECTRO1C?ELECTRO1C?ELECTRO1C?CAPGND 162738495DB9GNDC?DB9 R?RES2S?SW-PBVCCGNDXX1XX2XX3XX4XX5XX6XX7XX8XX1XX2XX3XX4XX5XX6XX7XX8XX1XX2XX3XX4XX5XX6XX7XX8GNDRITXTXRIGNDVCCT1T2T312J?CON212J?CON212J?CON2VCC VCC VCCGND GND GNDOUT1 OUT2 OUT3 OUT1OUT2OUT3LED1LED2LED3LED4LED5LED6D?LEDD?LEDD?LEDD?LEDD?LEDD?LEDR?RES2R?RES2R?RES2R?RES2R?RES2R?RES2VCCLED1LED2LED3LED4LED5LED6附录3 程序清单;采用 AT89S52 单片机,晶振 11.0592MHZ,通 讯速率 19200,采用 TTL 串口通讯;手机号码缓存在 28H-33H 的内存中;短信内容缓存在 48H-57H 的内存中;发送的字数在 44H-46H 内存中;短信中心的号码存放在 58H-63H 的内存中;密码车辆报警 存放在 64H-73H 的内存中;手机号码存放在 74H-7F 的内存中;P1.0 为手机开关机控制端;P1.1 为串口接收模块数据 OK;P1.2 为解防/设 防控制端ORG 0000HAJMP MAIN;转入主程序ORG 0003H ;外部中断 P3.2 脚 INT0 入口地址LJMP EXTJIAORG 000BH;中断陷阱LJMP T0INTORG 0013H;中断陷阱LJMP EXTJDAFOK EQU P3.7;定义为串口接收模块数据 OKKGJ EQU P0.1;定义手机开关机控制端SX EQU P0.7;定义手机模块上线状态JSF EQU P0.6;定义解防/设防控制端(解防 0 设防 1)TC EQU P1.4;定义ZK EQU P1.5;定义中控控制端;EQU P1.6;定义KK EQU P1.7;定义BJ EQU P3.2;定义报警触发控制端DY EQU P3.3;定义电源断线控制端CM EQU P3.4;定义车门控制端XL EQU P3.5;定义行李 厢JJ EQU P3.6;定义紧急;DD EQU P3.7;定义低电压报告MAIN:;以下为主程序进行 CPU 中断方式设置SETB IT0 ;设定 INT0 的触发方式为脉冲负边沿触发MOV SCON,#50H;设置成串口 1 方式MOV TMOD,#20H;波特率 发生器 T1 工作在模式 2 上MOV TH1,#0FDH;预置初值( 按照波特率 9600BPS 预置初值)MOV TL1,#0FDH;预置初值(按照波特率 9600BPS 预置初值)SETB TR1;启动定时器 T1MOV PCON,#10000000B;设定 SMOD 为 1,波特率翻倍!;以上完成串口 19200 通讯初始化 设置LCALL YUSJ;开机清除接收短消息手机号码;CLR KGJ;打开手机MOV DPTR,#1000;延时 1 秒LCALL DELAYXMS;开机延时SETB KGJ;复位手机控制;MOV DPTR,#10000;延时 10 秒;LCALL DelayXmS;开机延时LCALL ATEOK;开机发送 ATE 指令!LCALL CNMI ;发送(AT+CNMI=1, 1,0,0,1),短信到达 TELCALL SCQBDX;调用删除 SIM 卡中所有短信的子程序;完成和手机通信握手,和 SIM 卡删除所有短消息初始化START:LCALL XRDXZX;调用询问手机 SIM 卡中短信中心号 码子程序LCALL XRSJ;读出授权电话号码及密码,写入内存中MOV 7FH, #46HLCALL MJCSLCALL MJCSCLR SX;模块上线;*KKS:JB RI,UARTI;检测到 RI 变 1 就退出JNB BJ,BAOJINJB RI,UARTI;检测到 RI 变 1 就退出JNB DY,DYBJJB RI,UARTI;检测到 RI 变 1 就退出JNB CM,CMBJJB RI,UARTI;检测到 RI 变 1 就退出JNB XL,XLBJJB RI,UARTI;检测到 RI 变 1 就退出JNB JJ,JJBJAJMP KKS;*DYBJ:LCALL FDYBJAJMP KKSCMBJ:LCALL FCMBJAJMP KKSXLBJ:LCALL FXLBJAJMP KKSJJBJ:LCALL FJJBJAJMP KKS;报警程序BAOJIN:LCALL CPAS;调用模块状态报告子程序MOV A,25HCJNE A,#34H,BAOJIN1;判断串口数据AJMP BAOJIN3;如果模块正在呼出或通话,就退出BAOJIN1:LCALL CPASMOV A,25HCJNE A,#34H,BAOJIN2AJMP BAOJIN3BAOJIN2:LCALL ATH;调用串口发送 ATH 挂机子程序LCALL PDOK;判断手机是否回答 OK?JZ BAOJIN2;如果没有检测到 OK,重复 发LCALL FBJDXMOV DPTR,#5000;延时 5 秒LCALL DelayXmSLCALL ATD;调用串口发送子程序BAOJIN3:AJMP KKS;*;*;进入串口中断方式接收UARTI:CLR RI;清楚串口中断标志LCALL PDDA;调用串口接收 0D/0A 数据子程序LCALL PDRI;等待下一个串口数据MOV A,SBUF;将串口寄存器中接收到的数据给 ACJNE A,#2BH,PDRD;判断串口数据+PDRCLR RI;软件清除串口中断标记LCALL PDRI;等待下一个串口数据MOV A,SBUF;将串口寄存器中接收到的数据给 ACJNE A,#43H,EXITT1;判断串口数据 CCLR RI;软件清除串口中断标记LCALL PDRI;等待下一个串口数据;+CMTI: SM,7 短信到达存放位置MOV A,SBUF;将串口寄存器中接收到的数据给 ACJNE A,#4DH,EXITT1;判断串口数据 MCLR RI;软件清除串口中断标记LCALL PDRI;等待下一个串口数据MOV A,SBUF;将串口寄存器中接收到的数据给 ACJNE A,#54H,EXITT1;判断串口数据 TCLR RI;软件清除串口中断标记LCALL PDRI;等待下一个串口数据MOV A,SBUF;将串口寄存器中接收到的数据给 ACJNE A,#49H,EXITT1;判断串口数据 ICLR RI;软件清除串口中断标记;检测到CMTI的 ASCII 码-;跳过 7 个内存(: SM, )MOV R3,#7;定义接收数据的 总长度LCALL TGSJ;调用接收串口数据子程序;短信位置,存放在 26H 中MOV R0,#26H;数据在内存的存放位置CLR RI;软件清除串口中断标记LCALL PDRI;等待下一个串口数据MOV A,SBUF;将串口寄存器中接收到的数据给 AMOV R0,AINC R0;内存单元地址 0;跳过 8 个内存MOV R3,#8;定义接收数据的 总长度LCALL TGSJ;调用接收串口数据子程序LCALL DXNR;解析短信内容EXITT1: LJMP EXITTPDRD: LCALL RING;电话呼入提示EXITT:CLR RI;软件清除串口中断标记,退出串口中断AJMP KKS;*RING:;电话呼入提示CLR RI;清楚串口中断标志MOV A,SBUF;将串口寄存器中接收到的数据给 ACJNE A,#52H,RING1;判断串口数据 RCLR RI;软件清除串口中断标记LCALL PDRI;等待下一个串口数据MOV A,SBUF;将串口寄存器中接收到的数据给 ACJNE A,#49H,RING1;判断串口数据 ICLR RI;软件清除串口中断标记LCALL PDRI;等待下一个串口数据MOV A,SBUF;将串口寄存器中接收到的数据给 ACJNE A,#4EH,RING1;判断串口数据 NCLR RI;软件清除串口中断标记LCALL PDRI;等待下一个串口数据MOV A,SBUF;将串口寄存器中接收到的数据给 ACJNE A,#47H,RING1;判断串口数据 G CLR RI;软件清除串口中断标记LCALL PDDA;调用串口接收 0D/0A 数据子程序MOV DPTR,#100;延时 0.1 秒LCALL DelayXmS;发送 AT+CLCCLCALL CLCC;调用来电显示指令子程序;跳过 20 个内存(: 1,1,4,0,0, )MOV R3,#20;定义 接收数据的总长度LCALL TGSJ;调用接收串口数据子程序LCALL DHHM;判断来电号码JZ GJ;跳过 13 个内存MOV R3,#13;定义 接收数据的总长度LCALL TGSJ;调用接收串口数据子程序MOV DPTR,#100;延时 0.1 秒LCALL DelayXmS;检查是否继续呼入;等待第二次 RING 电话呼入提示CLR RI;软件清除串口中断标记LCALL PDDXRI;5 秒内检测串口是否有数据返回?JNC RING1;如果 5 秒内没检查到铃音,就退出;震铃 2 次后关机,解防/设防;震铃 5 次后进入通话状态;跳过 8 个内存MOV R3,#8;定义接收数据的 总长度LCALL TGSJ;调用接收串口数据子程序;*PDLYT:;发送 AT+CPAS,模块状态报告MOV R2,#30ZLYKK1:MOV DPTR,#500;延时 0.5 秒LCALL DelayXmSLCALL CPAS;调用模块状态报告子程序 MOV A,25HCJNE A,#30H,ZL1AJMP ZLYK;如果没有检测到呼入,就进入振铃遥控ZL1:DJNZ R2,ZLYKK1MOV R2,#15ZLYKK2:MOV DPTR,#500;延时 0.5 秒LCALL DelayXmSLCALL CPAS;调用模块状态报告子程序MOV A,25HCJNE A,#30H,ZL2AJMP RING2;如果没有 检测到呼入,就退出ZL2:DJNZ R2,ZLYKK2;*LCALL ATA;应答RING1: AJMP RING2GJ:MOV DPTR,#500;延时 1 秒LCALL DelayXmSLCALL ATH;调用串口发送 ATH 挂机子程序AJMP RING2ZLYK:MOV DPTR,#500;延时 0.5 秒LCALL DelayXmSLCALL CPAS;调用模块状态报告子程序MOV A,25HCJNE A,#30H,ZLYKK1;如果没有检测到呼入,就退出JB JSF,ZLYK1SETB JSF;设防AJMP RING2ZLYK1: CLR JSF;解防RING2:RET;*;*DXNR: ;信息内容检测MOV DPTR,#2000LCALL DELAYXMSLCALL CMGR;调用读短信子程序MOV R3,#42;跳过 40 个数据LCALL TGSJ;调用跳过串口数据子程序LCALL DXJCD;检测电话 号码JZ DPDSQ;如果电话号码是默认值,就检测信息内容;跳过 20 个内存(含 0 4)MOV R3,#20;定义接收数据的 总长度LCALL TGSJ;调用接收串口数据子程序;*PDCX: ;查询信息CLR P0.4CLR RI;软件清除串口中断标记LCALL PDRI;等待下一个串口数据MOV A,SBUF;将串口寄存器中接收到的数据给 ACJNE A,#36H,PDJF;判断串口数据 6CLR RI;软件清除串口中断标记LCALL PDRI;等待下一个串口数据MOV A,SBUF;将串口寄存器中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CCIA 0025-2024建窑建盏
- 高中原子原理课件
- 跨界经营上海二手房买卖合同范本与市场拓展
- 离婚时夫妻共同债务执行异议及撤销执行协议范本
- 成人自考咨询服务合同
- 天然气价格调节预案
- 农村公共服务规划
- 小区安全出入口的安全防护措施及应急预案
- 嵌入式软件架构设计规则
- 股权结构与企业绩效的关系研究-以家电行业上市公司为例
- 民谣酒馆项目融资计划书
- 新概念张云生讲解的笔记
- 大班数学《年妈妈的故事》课件
- 知情同意书模板(新闻采访)
- 混凝土防渗墙单元工程施工质量验收评定表
- 恶性肿瘤中医诊疗指南
- 蓝色弥散简约国家资助政策宣传PPT模板
- 初中数学:《一元二次方程》大单元教学设计
- 大连理工大电力系统继电保护实验实验报告
- 健康社会决定因素课件
- 水法知识竞赛考试题库(120题)
评论
0/150
提交评论