1、摘 要本文详细地叙述了基于西门子公司的TC35i型GSM手机模块的无线库房报警系统的设计过程。文中探讨了利用GSM短消息作为数据传输媒介实现远程监视和控制库房的可行性,给出了采用TC35i模块和AT89S52单片机构成的能够远程监视和控制库房的无线报警系统的设计方案,给出了系统的硬件组成并着重介绍了软件的工作流程。文章重点阐述了AT89S52单片机和TC35i模块的接口、TC35i的特点和主要功能、AT指令的应用、短信PDU编解码在单片机上的实现,无线热释电红外探测器和无线门磁的工作原理等。关键词:GSM模块;RS232串口;单片机;AT命令;无线探测器Based on GSM securit
2、y alarm system for the design of the Treasury- Software DesignAbstractThis article describes in detail based on the Siemens TC35i module type GSM mobile phone wireless warehouse alarm system design process. The article discusses the use of GSM short message as a data transmission medium to achieve r
3、emote monitoring and control of the feasibility of the Treasury, TC35i given the use of single-chip modules and AT89S52 posed to remotely monitor and control the treasury of the wireless alarm system design, Given the composition of the systems hardware and software focused on workflow. AT89S52 arti
4、cle focuses on single-chip interface and TC35i modules, TC35i features and main functions, AT command application, SMS PDU codec on the realization of the single-chip, wireless pyroelectric infrared detectors and the wireless door-magnetism such as the working principle.Key words:GSM module;RS232 se
5、rial port;Single-chip;AT command;Wireless detectors目 录1 绪论12 方案论证12.1 控制器部分设计方案12.2 GSM 模块的选择23 系统结构框图33.1 MCU中央控制部分33.2 LED指示电路部分43.3无线报警信号接收及解码电路43.4 GSM模块接口部分43.5 报警输出控制部分43.6 系统供电部分44 系统软件设计54.1 GSM常用AT指令54.2主程序设计64.3 外部中断软件设计74.4 各模块软件设计84.4.1 初始化模块84.4.2 GSM初始化模块94.4.3 身份验证及授权模块94.5 调试软件的使用104
6、.5.1 初期阶段的调试104.5.2 程序设计阶段的调试115 系统设计中出现的问题及解决办法115.1 排除仿真终端上出现乱码的方法115.2 排除调试阶段出现无法监视的方法116 本设计的技术亮点127 结论12谢辞12参考文献13附录 程序清单141 绪论随着科学技术的迅猛进步、经济的飞速发展,社会生活、结构等各方面都发生了巨大变化,人们的思想观念、行为方式也发生了很大的变化;社会财富的日益丰富,既满足了人民群众提高物质生活水平的需要,同时也刺激了犯罪分子非法摄取钱财的恶欲。近些年,我国中小型企业发展迅速,数量有大幅度上升,为我国经济的快速发展贡献了巨大力量。库房作为企业的原材料基地和
7、成品存放区也可以说是企业的大部分固定资金的存放区,往往引起不法分子的注意。对于一般小型企业,很多不会考虑安装价格比较昂贵的摄像监控系统,希望有价格合适又能随时监控库房的系统,本设计就是在此思想的指导下确立的。全球移动通讯系统(Global System for Mobile Communication),简称GSM是目前基于时分多地址技术和频分多址技术的通信网络体系,它是移动通信体制中最成熟、用户最多、应用最广的一种系统,属于第二代通信技术。该技术成熟,覆盖范围广,抗干扰性较强,具有很好的实事性。SMS(Short Message Service)短信息服务是GSM(Global System
8、 for Mobile Communication)系统中提供的一种GSM终端(手机)之间,通过服务中心(Service Center)进行文本信息收发的应用服务,其中服务中心完成信息的存储和转发功能。GSM短信息服务作为GSM网络的基本业务,已得到越来越多的系统运营商和开发商的重视,将GSM技术应用于库房报警系统中,能够通过与我们形影不离的通信工具来实现对库房的远程监控和控制,使通信工具更好地服务于生活,对这一领域进行开发和研究有着重要的实际意义和广阔的市场前景。目前,在客户需要和市场动力的推动下,国内外许多广告公司开始将目光投向这一领域,将GSM技术应用于库房安全报警系统方面,也是一个新的
9、起点。2 方案论证2.1 控制器部分设计方案在选择微控制器的时候,主要要考虑:处理器的速度,要实现的功能,ROM和RAM的大小,I/O端口类型和数量,编程语言以及功耗等。方案一:基于ARM的嵌入式系统。这种方案中我们可以使用现有的操作系统(COS-II),在系统的基础上进行应用程序的开发。由于ARM处理器的功能强大,资源丰富,因此使用这种方案可以使系统功能近乎完美,并且由于使用了操作系统,应用程序的设计会变得简单可靠。但是这种方案成本较高,同时使用的嵌入式操作系统也会占用一部分额外的硬件资源,这样会大大的提高开支。目前情况下我们不考虑这种方案。方案二:SoC型单片机与GSM模块构成的系统。目前
10、SoC型单片机已非常普遍,基于51内核的SoC型芯片也有众多供应厂商。例如,国内宏晶科技的STC系列,Cyganl公司的C8051系列。这些单片机都有丰富的片上资源,一般都不需要外扩其他器件就可以构成一个完整的系统。片上系统的优点在于减小了布线的麻烦,提高了系统的整体性能。方案三:采用常用的AT89S52单片机作为核心控制器,此单片机内部的数据存储器(RAM)和程序存储器(ROM)及其引脚资源,基本上能实现设计指标,并且价格便宜,学习资料多。由于对AT89S52单片机比较熟悉,采用AT89S52单片机作为控制器也基本能够满足要求,因此综合考虑选用方案三。2.2 GSM 模块的选择本设计中GSM
11、 模块是该系统中的核心部分,正确选择合适GSM 模块确定着整个项目设计的成败。目前GSM 模块有众多供应商提供,我们有以下几种常用的GSM模块进行选择,以便选择合适的方案。方案(1):采用MZ28模块。MZ28模块是中兴通讯推出的GSM无线双频调制解调器,主要为语音传输、短信发送和数据业务提供无线接口。MZ28集成了完整的射频电路和GSM的基带处理器,特别适合于迅速开发基于GSM无线网络的无线应用产品。带有人机接口(MMI)界面的应用产品内部与MZ28的通讯可通过标准的串行接口(RS232)进行。MZ28使用简单的20-PIN ZIP插座与用户自己的应用系统相连,此ZIP连接方式提供开发所需的
12、数据通信、音频和电源等接口信号。MZ28可以作为无线引擎,嵌入到用户自己的产品当中,用户可以用单片机或其他CPU的UART口,使用相应的AT命令,对模块进行控制,达到使其产品可以轻松进入GSM网络的目的2。方案(2)采用 Q2406B GSM模块Q2406B 是WAVECOM公司双频GSM/GPRS模块内嵌ICP/IP协议,支持点对点的MT&MO,短消息区域广播等。Q2406B(支持class10),下载53.6.8kbits/s,上传26.8kbits/s。数据线路异步传输和同步可达14,400 bits/s。提供RS232数据接口,通过AT指令进行操作,波特率从300到115,200 bi
13、ts/s,自动速率从2,400到19,200 bits/s。单一天线接口,3V/5VSIM卡接口。使用3.6V供电。方案(3):采用TC35i模块。TC35i是西门子公司推出的新代无线通信GSM模块。自带MAX232通讯接口,可以方便地与PC机、单片机连机通讯。可以快速、安全、可靠地实现系统方案中的数据、语音传输、短消息服务(Short Message Service)和传真。TC35i模块的工作电压为3.35.5V,可以工作在900MHz和1800MHz两个频段,所在频段功耗分别为2W(900M)和1W(1800M)。模块有AT命令集接口,支持文本和PDU模式的短消息、第三组的二类传真、以及
14、2.4k,4.8k,9.6k的非透明模式。此外,该模块还具有电话簿功能、多方通话,漫游检测功能,常用工作模式有省电模式、IDLE、TALK等模式。通过独特的40引脚的ZIF连接器,实现电源连接、指令、数据、语音信号、及控制信号的双向传输。通过ZIF连接器及50天线连接器,可分别连接SIM卡支架和天线。TC35i模块主要由GSM基带处理器、GSM射频模块、供电模块(ASIC)、闪存、ZIF连接器、天线接口六部分组成。作为TC35i的核心,基带处理器主要处理GSM终端内的语音、数据信号,并涵盖了蜂窝射频设备中的所有的模拟和数字功能。在不需要额外硬件电路的前提下,可支持FR、HR和EFR语音信道编码
15、。其它功能介绍可参见相关资料3。有以上几个方案我们进行比较,我们发现TC35i有众多的用户,资料介绍比较全面详细。网络上也有很多电子爱好者、工程师对TC35i比较感兴趣,讨论的话题比较多,更有很多调试笔记等可以参考。而且采用TC35i作为信息传输、控制的系统越来越成熟,因此我们考虑选用该模块,这样风险较小,成功率较高,遇到问题方便解决。3 系统结构框图根据设计要求及方案论证,系统整体电路包括MCU单元,LED指示电路,无线报警信号接收及解码电路,GSM通信模块接口部分,现场报警输出控制部分和电源部分。系统整体框图见图1。电源电路GSM模块LED指示电路无线报警接收电路解码电路MCU图1 系统整
16、体硬件电路方框图3.1 MCU中央控制部分 MCUAT89S52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(FLASHROM)和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大。 控制系统的主要功能接收遥控器或者按键信息,实现紧急报警、撤防布防、和消音控制。处理传感器采集到的报警信息,对各种报警信号进行综合判断,确定警情,从而做出正确的判断。驱动LED显示电路。完成单片机系统与GSM模块之间的数据协议转
17、换,包括将报警信息转换成符合SMS协议的数据格式并传递给GSM模块进行发送,以及将GSM模块收到的短信控制命令转换成相应的控制信号。驱动现场报警装置(高音报警器),发出现场报警。3.2 LED指示电路部分采用LED发光管二极管来指示整个系统的工作状态,其中一个指示GSM的上线及信号强度状态,一个指示设防与解防的状态,一个指示当前是否为消音状态,其余八个指示报警路数。3.3无线报警信号接收及解码电路接收无线门磁和无线热释电传感器发来的无线报警信息,经过解码电路后转换为单片机容易识别的信息,以达到对目标区域的监控。3.4 GSM模块接口部分GSM模块的通讯接口为标准的串行通信接口,而AT89S52
18、单片机只能提供TTL电平的串口,需要设计一个TTL转标准串口电平电路,连接到MCU的UART口,另一端直接连接到GSM模块串口,我们选用MAX232电平转换电路实现了电平的相互转换。3.5 报警输出控制部分完成在报警情况下驱动现场报警装置(高音报警器),发出现场报警。3.6 系统供电部分为了保证系统运行的安全性,系统供电由车辆的蓄电池和系统备用电池共同完成。正常情况下由车辆蓄电池供电,蓄电池故障、长期存放电压不足或者车辆电源被人为破坏时,自动转入备用电池供电(这种情况发生时,用户会收到相关报警信息)从而使得系统在各种情况下都保持正常工作。4 系统软件设计根据以上的介绍,需要完成以下程序设计:
19、主程序设计; 单片机控制TC35i模块程序设计; 遥控器和无线探头的无线信号的识别和处理程序设计;4.1 GSM常用AT指令系统软件的核心部分是单片机与GSM无线摸块的通信,只有在了解了AT命令的设置和使用后才能容易开展整体程序的设计。AT命令是调制解调器的控制指令,无线信道的建立、数据传输等操作都是通过它来完成的。在大多数基于GSM/GPRS的数传应用中,是将MCU与无线模块相连,二者依托串口通信(需电平转换),程控MCU以一定的协议对模块发送AT指令、接收模块执行指令后的返回值,并执行相应校验。MCU串口实质上是以位为单位完成收发,由协议预定义的起始位、校验位、停止位决定数据帧的封装格式。
20、字符格式的AT指令需按照ASCII编码转化为二进制数后才可存储在MCU的ROM中,进而通过串口收发,但AT指令及其返回字符串中混有不可打印字符,如AT指令通常的控制字符、短信发送的指令符,所有的AT指令返回值并非以可打印字符起始,它们如何在指令中表示?在返回字符的何处出现?为实现某一功能,需发送多条有连贯意义的AT指令时,能否连发,之间的间隔又该多大?上述问题是用MCU控制无线模块的关键,透彻解决它们的第一步是准确掌握AT指令的格式。在系统设计过程中可利用超级终端,串口检测软件对串口进行检测,确定AT指令的具体格式。本系统设计借助PortSpyV11串口调试软件对AT指令格式进行探究,以发送A
21、T返回OK为例。调试界面如图2所示。发送:AT返回值:0D 0A 4F 4B 0D 0A分析上述串口侦听过程可知,AT指令实质是以字节发送,回车符代表指令的结束,模块接收到回车符后开始执行指令,指令发送过程中,字节间允许有任意间隔。模块接收到指令字节后,会立即答复以相应的握手信号。模块执行指令后的一切返回值(无论指令执行后的OK还是报错信息)都是以不可打印字符“0D0A”开始和结束。为了保证通信的可靠性,默认情况下模块回复收到字符的握手信号又称为回显(Echo),握手机制能确保指令收发的可靠性,但在实际的设计中,通过MCU实现对模块的控制,需接收执行AT指令的返回值,并需进行必须的字符校验,每
22、发送一字节指令后模块所返回的握手信号须程控滤除,频繁的开关串口中断,降低了程序的可靠性。为简化这一过程,需屏蔽模块回显。以下AT指令可取消回显:ATE0OKATE1/开启回显OK在指令后加“;&W”,可保存设置,如:ATE0;&W/模块掉电时能保存屏蔽回显的设置。图2 调试界面通过前面对AT指令内容及格式的研究,为我们用单片机的串口来发送AT指令做基础。4.2主程序设计程序初始化后一直循环查询是否有按键按下、GSM模块是否收到短信或者电话,当有按键按下则执行相对应的功能指令;当GSM接收到短信或者电话首先经过身份验证,只有身份通过之后才执行相应的命令。对于最重要的报警信号,通过外部中断来检测,
23、它的优先级最高,一有信号立即处理,信号报警程序在后边再具体介绍。Y布防/撤防操作NYNNYY紧急报警键是否按下?开 始程序初始化GSM模块初始化GSM模块是否连接?Y消除声音报警启动现场报警启动GSM报警N是否有来电或短信?相应处理N布防撤防键是否按下?消音键是否按下?系统软件主要分为程序初始化模块、按键扫描模块、身份授权及验证模块、报警控制输出模块等组成。主程序流程图如图3所示。图3 主程序流程图4.3 外部中断软件设计判断操作类型相应操作保护现场启动现场报警读取解码信息启动GSM干扰报警是否为报警信号?指示出报警地点是否为干扰信号?启动现场报警启动GSM报警恢复现场中断返回NYNY响应外部
24、中断外部中断主要用来检测遥控器和无线探头发来的无线信息,并判断是否是人为恶意干扰信号,如果为报警信号则启动相应路数的LED指示、现场高音报警器和GSM报警,如果为遥控器发来的控制信息,则执行相应的命令,可以完成遥控布防撤防、遥控消音和遥控紧急报警。外部中断的程序流程图如图4所示。图4 中断程序流程图4.4 各模块软件设计4.4.1 初始化模块单片机初始化部分将AT89S52串口设置为工作方式1即8位数据位和一位停止位;定时器选用定时器1的工作方式2即8位自动重装定时器、波特率设为19200bit(晶振频率为11.0592MHZ),且TMOD=#20H,SMOD=1,所以定时器1初值分别为TH1
25、=#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.4.2 GSM初始化模块LCALL YUSJ;开机清除接收短消息手机号码CLR KGJ;打开手机MOV
26、 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;
27、蜂鸣器提示LCALL MJCSCLR SX;模块上线4.4.3 身份验证及授权模块这部分包括以下几个功能:授权用户和密码,更改用户和密码,和系统的设防与解防状态的切换与查询等功能。主要由以下几个部分组成:(1)检测到有电话或短信;(2)进行身份的认证与判断;(3)信息的回显等几部分。这一部分在调试过程中是最容易出错的地方,因为关系到安全级别的高低。本设计从两个方面来增加安全性,一是通过对电话号码的认证,二是通过四位ACSLL码(16位的UINCODE码)认证。身份验证及授权程序流程图如图5所示。详细程序见附录。号码否是是授权电话 密码是否正确?读取短信命令执行相应命令修改密码?修改授权号码返回
28、返回存储新密码YNYN接收到短信NY图5 身份验证及授权程序流程图4.5 调试软件的使用4.5.1 初期阶段的调试主要是采用AT指令调试精灵来调试GSM模块。主要先熟悉AT指令的使用, AT指令调试精灵是方寸自主研发的一款用于调试各个厂家AT指令集的实用工具,该软件功能强大,运行稳定,支持市场上大部分GSM/GPRS猫,通过它不仅可以测试GSM猫上所支持的AT指令,而且可以收发短信,发短信时可以看到需要运行的相关AT指令和PDU编码,当有新短消息到时,系统会自动收短信并显示在屏幕上,该安装包包含Nokia、Siemens等AT指令集以供用户调试和熟悉AT指令,开放部分源代码,可以在此平台上开发
29、出高性能的短信应用程序。其界面如图6所示。图6 AT指令调试精灵界面4.5.2 程序设计阶段的调试在熟悉了AT指令的基础上开始构建自己的设计思路、设计方法、实现方法等一系列的问题需要去解决,这时候我主要采用串口调试助手和超级终端来把AT指令一步一步地转化为16进制的数据去代替,是最终用单片机来完成这些AT指令操作的不可缺少的阶段。其中超级终端与串口调试助手相比存在一些不足。5 系统设计中出现的问题及解决办法5.1 排除仿真终端上出现乱码的方法设计初期需在超级终端等串口调试软件中进行AT指令的调试,但经常会遇到不能与GSM MODEM进行正常通信或总是在仿真终端上出现乱码,此时检查串口是否保证正
30、常连接,计算机的串口引线与GSM MODEM的串口引线应是一一对应的。GPRS MODEM与仿真终端应设置相同的通信速率。当初次使用GPRS MODEM时,在仿真终端上设置为通信速率19200bps、8位数据位、无较验位、1位停止位。5.2 排除调试阶段出现无法监视的方法在调试过程中,很希望可以看到程序执行到何处了,数据是结果如何?因为由于GSM模块要求的波特率非常的严格,一般是不可以使用仿真器进行仿真调试的。这时可以用电脑的串口调试助手并接在GSM上,就可以方便地监视到所发的数据和所收到的数据了。也大大的增加也调试的效率。6 本设计的技术亮点 本设计所具有的技术亮点有: 各种传感器与报警主机
31、使用无线通信,使用更加方便; 有恶意无线干扰时能够自动检测并报警,具有更高的安全性; 可配接更多种无线传感器,系统可扩展性强。7 结论在信息化社会中,远程信息传递扮演着重要的角色,GSM模块以其准确、低廉、实时的特点为人们获得某种信息提供便利,同时覆盖广泛的GSM移动通讯公网提供的短消息业务传输更新数据,无需自行组网,系统运行费用低廉,数据传输可靠、迅速,是比较理想的通讯方式。随着我国国内生产总值稳定而快速的增长,人们的生活水平有了很大的提高,但与此同时,社会人口的流动性大大增加了,社会结构和社会治安都日趋复杂,抢窃、偷盗等诸多社会问题的频繁发生,库房财产的安全受到严重的威胁。因此库房防范的现
32、代化、智能化,已成为每个库房必需解决的问题。采用的模块市场上容易获得,且能满足系统的需求。本系统比不仅具有传统报警系统的功能,还添加了无线远距离报警的功能,这样大大提高了库房的安全系数。这些充分显示了我们设计的系统的实用性和广泛性。谢辞这次毕业设计是由我们小组二人在指导老师的精心指导和耐心鼓励下完成的。从课题选定到方案确定,从理论指导到实际操作徐老师为我作出了认真的分析和耐心的讲解,给我们提供了极大的帮助。让我们在学习知识和解决问题时感到无比的轻松和愉快,才使我的毕业设计能够顺利的进行下去。至此论文定稿之际,向徐老师表示感谢。经过我们小组两人团结合作、共同探讨、坚持不懈才能取得现在的结果,所以
33、在这里我还要感谢孙瑞海同学的鼎力帮助,他给我的软件设计提出了不少建议,使程序设计更实用和合理。最后,再次向各位领导、各位老师致以崇高的敬意和最衷心的感谢! 参考文献1中兴通讯GSM无线模块MZ28用户手册EB/OL2SIEMENS. TC35i Terminal. EB/OL3李朝青.单片机原理及接口技术M .北京:北京航空航天大学出版社,20054袁小兵.基于GSM的数据采集与控制系统J .工程物理研究院科技年报,2003(1) : 4034045侯建华.基于短消息业务的智能温室监控系统M . 上海电子技术,2007,34(9) : 63646冯伟,郭旭.煤矿地面监控系统中基于GSM-SMS
34、的数据传输J .江苏:煤炭科学技术,2007: 35(10) : 55587邬春明.基于TC35i的小区远程报警系统J .上海: 2007:33(11) : 1291328章九华 基于短信的安防系统的设计与实现J.青岛:精密制造与自动化 2006.19李智慧 基于GSMSMS的车辆防盗报警系统J. 济南:汽车电器 2005.210王学华 利用GSM短信技术传输报警信号J. 辽宁:警察技术 2002.111吴清广 基于GSM网络的工程机械防盗系统J. 杭州:设备管理与维修技术 2005.5 12杨建秋 基于短消息的温度报警系统的研究J.长春:微计算机信息 2002.7 13 M.Luczak,刘
35、庚权,吴雅丽.列车远程监控J.国外内燃机车,2004(6)14 张玉东,孙仁科.嵌入式工程车辆监控系统的设计与实现J.凉山大学学报,2004(6)15 张勋勇,谢 辉,鲍振武.车辆远程监控系统J.电子测量技术,2005(4)16 吴金戌,沈庆阳,郭庭洁.单片机实践与应用M.北京:清华大学出版,200317 何立民.单片机应用技术选编M. 北京:北京航空航天大学出版社,200018 陈杰,黄鸿.传感器与检测技术M.高等教育出版社,2004(4)19 杨日杰,何友,崔旭涛.基于SMS的远程数据传输系统设计J .电子工程师,2004 (2)21 马潮.嵌入式GSM 短信息接口的软硬件设计J.单片机与
36、嵌入式系统应用,2003 (7)22 曹尉青,韩冰.利用 GSM 短消息实现远程监控J.产品设计与应用,2002 (10)23 李鸿.用单片机控制手机收发短信息J .电子技术应用,2003 (1)17附录 程序清单;*端口定义KEY1 BIT P1.0 ;紧急报警按键KEY2 BIT P1.2 ;布防、撤防切换按键KEY3 BIT 1.1 ;消音按键JDQ BIT P1.3 ;继电器VT BIT P3.2 ; 无线模块VT端D0 BIT P3.4 ;D1 BIT P3.5 ;D2 BIT P3.6 ;D3 BIT P3.7 ;L1 BIT P2.2;P2.0为第1路指示L2 BIT P2.0;
37、P2.0为第2路指示L3 BIT P2.7;P2.2为第3路指示L4 BIT P2.3;P2.3为第4路指示L5 BIT P2.4;P2.4为第5路指示L6 BIT P2.5;P2.5为第6路指示L7 BIT P2.6;P2.6为第7路指示L8 BIT P2.1;P2.7为第8路指示BFBZ BIT 09H ;布防/撤防标志位BFBZ_LED BIT P0.7 ;布防标志LEDXY_LED BIT P0.6 ;消音LEDGSM_LED BIT P0.5 ;GSM在线LED ;定时器2的有关定义T2CON DATA 0C8HRCAP2L DATA 0CAHRCAP2H DATA 0CBHTL2
38、DATA 0CCHTH2 DATA 0CDHRCLK BIT 0CDHTCLK BIT 0CCHEXEN2 BIT 0CBHTR2 BIT 0CAHT2MOD DATA 0C9H;*%主程序% ORG 0000H AJMP MAIN ORG 000BH LJMP T0_SERVE ORG 0013H LJMP INT1_SERVE ORG 001BH LJMP T1_SERVE ;ORG 0023H ;LJMP GOTO_SUB ORG 0030HMAIN: MOV 7FH,#00;定时器0中断次数累计存储单元 MOV 7EH,#00 MOV 7DH,#00 CLR BFBZ ; CLR BF
39、BZ_LED;布防状态指示 CLR XY_LED SETB IT1;设置外部中断1为边沿触发方式。 SETB EX1; SETB ET0; SETB ET1 SETB EA; MOV TMOD ,#11h;设置定时器0,1都为工作模式1 MOV TL0,#00H MOV TH0,#4CH ;设置定时器0的中断时间为50MS MOV TL1,#00H MOV TH1,#4CH ;#;设定定时器2 MOV TH2,#0FFH;预置初值(按照波特率9600BPS预置初值)MOV TL2,#0DCH;预置初值(按照波特率9600BPS预置初值) MOV RCAP2H,#0FFH;预置初值(按照波特率9
40、600BPS预置初值)MOV RCAP2L,#0DCH;预置初值(按照波特率9600BPS预置初值) SETB RCLK SETB TCLK SETB TR2;*按键扫描程序*START: JB KEY1,K2 ACALL T10MS JB KEY1,K2 LCALL JJBJ;调用紧急报警子程序 K2: JB KEY2,K3 LCALL T10MS JB KEY2,K3 CPL BFBZ;将布防/撤防标志位取反 MOV C,BFBZ MOV BFBZ_LED,C JNB KEY2,$; K3: JB KEY3,K4 LCALL T10MS JB KEY3,K4 JB JDQ,K4;判断目前是
41、否是报警状态 SETB JDQ;停止报警 SETB XY_LED ;SETB BFBZ;设定为撤防状态 ;SETB BFBZ_LED MOV 7EH,#00 MOV 7DH,#00 SETB TR1 ;启动定时器1 K4: JNB BFBZ,START;是布防状态时候不做处理, JB VT,START ;撤防状态时候再判断是否是有警情 MOV P2,#0FFH LJMP START;*外部中断1程序*INT1_SERVE: JB VT ,GOTO1 SETB TR0 RETIGOTO1: MOV A,P3 ANL A,#0F0H ;读取报警或遥控器信息 SWAP A MOV R5,A; #;#
42、 2272的四位数据位使用情况如下 #;# 0000无定义 #;# 0001-1000(1-8)定义位八位报警位 #;# 1001、1010,1011(9、10、11)无定义 #;# 1100-1111分别为消音、布防、撤防、紧急#;# # CJNE R5,#00,NEXT1 ;当报警信息是0000时不做反应 RETINEXT1: CJNE R5,#01,NEXT2 CLR L1 JB BFBZ,NEXT2 LCALL JJBJ;调用紧急报警子程序 CLR XY_LED RETINEXT2: CJNE R5,#02,NEXT3 CLR L2 JB BFBZ,NEXT3 LCALL JJBJ;调用紧急报警子程序 CLR XY_LED RETINEXT3: CJNE R5,#03,NEXT4 CLR L3 JB BFBZ,NEXT4 LCALL JJBJ;调用紧急报警子程序 CLR XY_LED RETINEXT4: CJNE R5,#04,NEXT5 CLR L4 JB BFBZ,NEXT5 LCALL JJBJ;调用紧急报警子程序 CLR XY_LED RETINEXT5: CJNE R5,#05,NEXT6 CLR L5 JB B