当前位置:文档之家› 张天祺-基于GSM的门控及SMS报警系统设计—软件设计

张天祺-基于GSM的门控及SMS报警系统设计—软件设计

河南科技学院

2009届本科毕业论文(设计)

论文题目:基于GSM的门控及SMS报警系统设计

----软件设计

学生姓名:张天琪

所在院系:机电学院

所学专业:应用电子技术教育

导师姓名:徐君鹏

完成时间:2009 年 5 月20 日

摘要

本文详细地叙述了基于西门子公司的TC35i型GSM手机模块的门控及SMS 报警系统的软件设计过程。给出了采用TC35i模块和单片机构成的门控控制及SMS报警系统的设计方案,并详细介绍了该系统的软件的工作流程。文章重点阐述了单片机和TC35i模块的通信过程、A T指令的应用、短信PDU编解码在单片机上的实现,程序模块的构成等。该系统单片机通过标准串口经电平变换与TC35i模块相连,完成对TC35i模块的初始化和短消息的数据收发功能,完成单片机与TC35i模块的信息传递,根据传递的信息,去驱动执行机构做出相应的动作。

关键词:TC35i 模块,SMS报警,AT指令,PDU编解码

Gated based on the GSM and SMS alarm system design

Abstract

This paper describes the software design process of alarm system based on the Siemens TC35i module type GSM mobile phone and SMS gate in detail. The paper gives the gated single-chip control and SMS alarm system design and details of the system software workflow bying use of TC35i modules . The paper focuses on describing the correspond process betweet single-chip interface and TC35i modules, TC35i features and main functions, A T command application, the realization of SMS PDU in the single-chip codec , such as program modules. The single-chip of system associated with the TC35i module through a standard serial port to complete the TC35i module initialization and the function of sending and receiving short message,to complete the impression of information betweet single-chip and TC35i module, according to the message, the system drive the implementation to do the corresponding action.

Key words:TC35i module, SMS alarm, A T commands, PDU codec

目录

1 引言 (1)

1.1课题的背景及意义 (1)

1.2课题的应用前景 (2)

1.3未来发展方向展望 (2)

2 方案论证 (2)

2.1总体方案选择 (2)

2.2 无线数据传输模块 (3)

2.3 GSM Modem的选择 (3)

3 系统总体设计要求 (5)

4 系统总体设计框图 (5)

5 端口分配 (5)

6 软件总体设计 (6)

6.1GSM常用A T指令 (6)

6.2下位机软件组成 (7)

6.3各模块软件设计 (8)

6.3.1 初始化模块 (8)

6.4单片机发送AT指令的程序设计 (9)

6.5中文短信息的收发 (10)

6.5.1 PDU模式及中文短信息的编码 (10)

6.5.2 短信报警程序设计 (11)

6.5.3 GSM模块的接打电话程序设计 (11)

6.5.4 数据传输模块 (11)

6.6系统调试软件使用 (12)

6.6.1 初期阶段的调试 (12)

6.6.2 程序设计阶段的调试 (12)

7 系统设计中出现的问题及解决办法 (13)

7.1排除调试阶段出现无法监视的方法 (13)

7.2排除仿真器总端上出现乱码的方法 (13)

8 小结 (14)

致谢 (14)

参考文献 (15)

附录1 系统程序 (16)

1 引言

1.1 课题的背景及意义

随着人们生活水平的提高和安全防范意识的增强,人们开始关心自己的生活和工作环境,不但要求周边环境的舒适化和人性化,对居住工作环境的安全化和智能化也提出了更高的要求。同时,人们的思想观念、行为方式也发生了很大的变化,家用电器也逐渐从单纯的电器化向自动化转变,现在家用的门锁已经从传统的机械锁向电磁锁转变,随着家用电子设备的普及,传统的机械锁将由电磁锁慢慢代替,目前,市场上已出现了非接触式IC卡控制的门控系统,并且已经得到了广泛应用,基于单片机控制的GSM门控及SMS报警的出现与机械锁相比,使用特别方便,提高了系统的安全性,且易于增设报警系统,实现了各种门控和报警信息可视化。

传统的机械式(防盗网、防盗窗)安防系统在实际使用中暴露了很多隐患,基于单片机控制的GSM门控及SMS报警系统,性能优良,可以使家庭门控防盗报警变得更加及时、使用更加方便,更加的安全可靠。它不再依赖有线电话执行报警,而是借助最可靠、最成熟的GSM移动网络,,非常适合家庭及其他场所使用。同时,本系统不仅能实现自动开门,还具备远程的门控和报警提示功能,而有些特殊场合又必须对这些信息进行记录,目前市场上常见的防盗报警系统的通信方式有固定电话拨号、以太网、集群系统等等。但它们有各自的缺点:固定电话拨号容易被盗贼在入室抢劫前切断电话线或恶意占线,使其在关键时刻失灵。以太网同样面临着线路被切断的隐患,且不易普及。集群系统功耗很大,网络架设和维护费用很高,而且需要购买固定的频点。针对以上通信方式的优、缺点,我们设计了基于单片机控制的GSM门控及SMS报警系统。此系统可解决这些隐患,让家庭门控和防盗防盗更及时、使用更方便。它不再依赖有线电话执行报警,而是借助最可靠、最成熟的GSM移动网络,以最直观的中文短消息或电话形式,直接把报警地点的情况反映到您的手机屏幕上。本系统正是考虑到这方面的要求而设计的。

目前,人们设计的各类DTE设备基础上以微处理器为核心,带有RS232/RS485等通信接口,在物理层上很容易实现与GSM设置(如手机等)的连接。但对SMS协议的研究文献却较少,特别是用单片机控制手机的门控及SMS (Short Message Service)报警系统收发的研究更少,正是在此基础上对怎样用单片机控制手机收发短信息和门控系统进行了研究。

GSM(Global System for Mobile Communication,全球移动通讯系统)是基于时分多址技术的移动通讯系统,是目前发展比较成熟、完善、应用最为广泛的通

讯系统。目前已建成的覆盖全国的GSM数字蜂窝移动讯网(主要包括中国移动和中国联通两家大型运营商),是我国公众移动通讯网的主要方式,它主要提供话音、短信息、数据等多种业务。其中基于GSM--SMS(Short Message System,短消息或短信)功能可以开发出传输各种检测、监控数据信号和控制命令的数据通讯系统。由于GSM网络在全球范围内实现了联网和漫游,不需组建专用通讯网络,就可以完成远程数据通讯,而且具有较好的实时性,所以GSM网络的应用越来越广泛。本系统就是利用AT89S52单片机对报警信息进行采集,再以SMS 和打报警电话的方式实现远程自动报警以及开门功能。

1.2 课题的应用前景

基于单片机控制的GSM门控及SMS报警系统设计将有广泛的应用前景。它将现代通讯技术与家庭用户门控报警防盗技术结合起来,充分利用发达的无线通讯网络,是3G(GSM、GPS、GIS)技术在发短信和打电话中应用的一个重要组成。该系统具有较强的扩展性,可以扩展应用实现无线数据传输、接打电话等功能。配合GSM接收器,就可以实现对门控的远程监测和控制。此外,报警系统只有在报警时才会发短信,平时不会发生任何费用,所使用的网络是公共无线通讯网络,与使用手机完全相同,不需额外注册。

1.3 未来发展方向展望

系统的容量只和GSM系统的容量有关,所以它的容量是非常大的。现在GSM 的覆盖范围是非常广,随着短消息业务在全国各地的开通,装有GSM通讯的设备的系统,将可以在全国任何地方实现对门控的远程监测和控制,该系统应用将更广泛,功能上会更完善。

2 方案论证

2.1 总体方案选择

方案一:基于ARM的嵌入式系统。这种方案中我们可以使用现有的操作系统(μCOS-II),在系统的基础上进行应用程序的开发。由于ARM处理器的功能强大,资源丰富,因此使用这种方案可以使系统功能近乎完美,并且由于使用了操作系统,应用程序的设计会变得简单可靠。但是这种方案成本较高,同时使用的嵌入式操作系统也会占用一部分额外的硬件资源,这样会大大的提高开支。目前情况下我们不考虑这种方案。

方案二:SoC型单片机与GSM模块构成的系统。目前SoC型单片机已非常普遍,基于51内核的SoC型芯片也有众多供应厂商。例如,国内宏晶科技的STC 系列,Cyganl公司的C8051系列。这些单片机都有丰富的片上资源,一般都不

需要外扩其他器件就可以构成一个完整的系统。片上系统的优点在于减小了布线的麻烦,提高了系统的整体性能。因此我们选用这种方案[13]。

2.2 无线数据传输模块

实现数据无线传输方案主要有以下四种:

(1)采用高频无线技术实现无线数据传输

采用高频技术有传输距离远,不受方向性约束的优点,但抗干扰性能差,易受各干扰源的影响。而且从实用性和普及性的角度看,高频技术还有所欠缺。

(2)采用激光技术实现无线数据传输

采用激光技术有传输距离远,速度快,抗干扰能力强等优点。但由于激光的强方向性,使其在推广上面受到影响。一般在现阶段,激光技术多用于军事领域,对于本次设计的预期目标有点偏离。

(3)采用蓝牙技术实现无线数据传输

蓝牙(Bluetooth)技术是一种开放性的无线数据通信协议,它用于近距离无线连接。蓝牙的载频选用2.45GHz,为固定与移动设备通信建立一个短程的连接,使通信和计算机进一步结合,便于不同厂家生产的设备在无线情况下通用、互操作。但其技术较难,很难在短时间内把它学通,故不采用。

(4)采用GSM—SMS模块实现无线数据传输

GSM模块在用户终端中主要用来传输数据,所谓的GSM模块实际上就是我们常说的手机模块,只不过这种模块是在原来的GSM技术上添加了CPU控制传输功能。通信模块它只是用来传送网络协议格式化的数据包,由于GSM网络在全球范围内实现了联网和漫游,不需组建专用通讯网络,就可以完成远程数据通讯,而且具有较好的实时性。并且摆脱报警有效距离的限制,无线通讯网络能覆盖到的地方均为有效报警区域。此外,系统采用短信互动方式,可以实现超距离遥控功能。所以采用GSM-SMS模块来完成无线门控和报警数据的传输。

2.3 GSM Modem的选择

本设计中GSM Modem是该系统中的核心部分,正确选择合适GSM Modem 将关系到整个项目设计的成败。目前,国内已经开始使用的GSM模块有Falcom 的A2D系列、Wavecome的WMO2系列、西门子的TC35系列、爱立信的DM10/DM20系列、中兴的ZXGM18系列等,而且这些模块的功能、用法差别不大。GSM Modem有众多供应商提供,我们将对几种常用的GSM模块进行评估,以便选择合适的方案。

(1)MZ28模块

MZ28模块是中兴通讯推出的GSM无线双频调制解调器,主要为语音传输、

短信发送和数据业务提供无线接口。MZ28集成了完整的射频电路和GSM的基带处理器,特别适合于迅速开发基于GSM无线网络的无线应用产品。带有人机接口(MMI)界面的应用产品内部与MZ28的通讯可通过标准的串行接口(RS232)进行。MZ28使用简单的20-PIN ZIP插座与用户自己的应用系统相连,此ZIP连接方式提供开发所需的数据通信、音频和电源等接口信号。MZ28可以作为无线引擎,嵌入到用户自己的产品当中,用户可以用单片机或其他CPU的UART口,使用相应的AT命令,对模块进行控制,达到使其产品可以轻松进入GSM网络的目的[2]。

(2)Q2406B GSM模块

Q2406B 是W AVECOM公司双频GSM/GPRS模块内嵌ICP/IP协议,支持点对点的MT&MO,短消息区域广播等。Q2406B(支持class10),下载53.6.8kbits/s,上传26.8kbits/s。数据线路异步传输和同步可达14,400 bits/s。提供RS232数据接口,通过A T指令进行操作,波特率从300到115,200 bits/s,自动速率从2,400到19,200 bits/s。单一天线接口,3V/5VSIM卡接口,使用3.6V供电。

(3)TC35i模块

西门子的TC35系列模块性价比很高,TC35i是Siemens公司推出的新-代无线通信GSM模块,并且已经有国内的无线电设备入网证。所以本设计选用的是西门子TC35系列的TC35i。这是西门子推出的最新的无线模块,功能上与TC35兼容,设计紧凑,大大缩小了用户产品的体积。TC35i与GSM2/2+兼容、双频(GSM900/GSMl800)、RS232数据口、符合ETSI标准GSM0707和GSM0705,且易于升级为GPRS模块。该模块集射频电路和基带于一体,向用户提供标准的AT命令接口,为数据、语音、短消息和传真提供快速、可靠、安全的传输,方便用户的应用开发及设计。

TC35i自带RS232通讯接口,可以方便地与PC机、单片机连机通讯。可以快速、安全、可靠地实现系统方案中的数据、语音传输、短消息服务(Short Message Service)和传真。TC35模块的工作电压为3.3—5.5V,可以工作在900MHz和1800MHz两个频段,所在频段功耗分别为2w(900M)和1w(1800M)。模块有A T 命令集接口,支持文本和PDU模式的短消息、第三组的二类传真、以及2.4k,4.8k,9.6k的非透明模式。此外,该模块还具有电话簿功能、多方通话,漫游检测功能,常用工作模式有省电模式、IDLE、TALK等模式。通过独特的40引脚的ZIF连接器,实现电源连接、指令、数据、语音信号、及控制信号的双向传输。通过ZIF连接器及50Ω天线连接器,可分别连接SIM卡支架和天线。TC35i模块主要由GSM基带处理器、GSM射频模块、供电模块(ASIC)、闪存、ZIF连接器、天线接口六部分组成。作为TC35i的核心,基带处理器主要处理GSM终端

内的语音、数据信号,并涵盖了蜂窝射频设备中的所有的模拟和数字功能。在不需要额外硬件电路的前提下,可支持FR、HR和EFR语音信道编码。

通过对比以及资料的查找,我们发现TC35i有众多的用户,资料介绍比较全面详细。网络上也有很多电子爱好者、工程师对TC35i比较感兴趣,讨论的话题比较多,更有很多调试笔记等可以参考。因此我们考虑选用该模块,这样风险较小,成功率较高,遇到问题方便解决。

3 系统总体设计要求

1.门控电路的设计。

2.报警电路的设计。

3.按键控制电路的设计。

4.GSM串口通信电路的设计。

5.电源与备用电源的设计。

6.数据存储电路设计。

7.单片机主控电路的设计。

4 系统总体设计框图

硬件系统设计原理框图见图1。

5 端口分配

单片机与GSM模块的通信采用串口通信,单片机的端口分配情况图2所示:

图1 硬件设计原理框图

端口P3.0和P3.1为串口通信端;端口P.1为MCU与GSM模块握手成功及GSM 网络注册完毕指示灯输出端;端口P1.2为报警信号输入指示及报警短信群发成功指示输出端;端口P1.3为有电话呼入信号检测指示输出端;端口P1.4为电话呼入信号检测认证成功指示输出端;端口P2.1为报警蜂鸣器输出端;端口P2.2为电话呼入信号检测认证成功及开门信号指示输出端;端口P2.3为报警信号输出指示输

AT返回OK为例。

发送:AT

返回值:0D 0A 4F 4B 0D 0A

分析上述串口侦听过程可知,AT指令实质是以字节发送,回车符代表指令的结束,模块接收到回车符后开始执行指令,指令发送过程中,字节间允许有任意间隔。模块接收到指令字节后,会立即答复以相应的握手信号。模块执行指令后的一切返回值(无论指令执行后的OK还是报错信息)都是以不可打印字符

“0D0A”开始和结束。为了保证通信的可靠性,默认情况下模块回复收到字符的

表1 常用的A T指令表

握手信号又称为回显(Echo),握手机制能确保指令收发的可靠性,但在实际的设计中,通过MCU实现对模块的控制,需接收执行AT指令的返回值,并需进行必须的字符校验。通过前面对AT指令内容及格式的研究发现,通过以下简要AT 指令即可实现终端系统的数据传输,如表1所示。

6.2 下位机软件组成

程序主流程图如图2所示。系统上电后,先将单片机和GSM模块初始化,接着打开串口,完成单片机和GSM模块的通信,然后查询是否有警情和电话呼入,根据判断结果,进入短信报警子程序或电话判断子程序分别执行。个人参数设置主要用来设定用户用作报警的电话号码、个性化报警短信文字等。软件的一项重要工作是协议转换,GSM模块以及手机支持的是GSM协议,要想使得单片机能够控制GSM模块的短信收发,必须将相应的控制指令、报警状态等数据转换为相关格式,例如,手机短信支持的PDU或Unicode码格式。用户终端系统设计的核心部分是单片机与GSM无线模块的通信,串口通信与AT命令的设置和使用是程序设计的难点。

系统软件设计采用模块化设计思想,主要分为单片机系统初始化模块、通信模块初始化模块、身份验证模块、数据传输模块、数据采集模块、报警控制输出模块等组成。

图2 程序流程图

6.3 各模块软件设计

6.3.1 初始化模块

单片机初始化部分将AT89S52串口设置为工作方式1即8位数据位和一位停止位;定时器选用定时器1的工作方式2即8位自动重装定时器、波特率设为9600bit (晶振频率为11.0592Mhz),且TMOD=0x20H,SMOD=1,所以定时器1初值分别为TH1=#0FDH,TL1=#0FDH。以下为主程序进行CPU初始化设置。

void Baudrate_Init(void)

{ TMOD = 0x20; // T1使用工作方式2

TH1 = 0xFD; // 设置T1初值

TL1 = 0xFD;

SCON = 0x50; // 串口通信,工作方式1,波特率9600bit/s,允许接收

TR1 = 1; // T1开始计数

ET1 =0; //定时器1中断关}

6.3.2 GSM初始化模块

void ATE_Send(void)

{ INT8U i, error_counter;

error_counter = 0;

while(1)

{ TI = 0; RI = 0;

for(i = 0; i < 6; i++)

rec[i] = 0x00;

Uart_send(Command_AtE,4);

for(i = 0; i < 6; i++)

{ while(!RI);

rec[i] = SBUF;

RI = 0; }

if(rec[2] == 'O'&&rec[3] == 'K') //返回ok说明通信成

break;

else if(error_counter++<5) //否则延时重发

Delay1ms(1000); }

RI = 0;

Delay1ms(1000);//先清零再延时。}

6.4 单片机发送AT指令的程序设计

单片机与GSM模块(TC35i)的软件接口其实就是单片机通过发送对应正确的AT指令对GSM模块进行操作的技术。如设置短信息的编码方式、读取手机的电话本、发送短信息、电话挂机、拨打手机等。执行1条指令,并非某些资料介绍的那么简单,事实上,指令的执行过程需要单片机与手机交互应答完成,每一次发送或接收的字节数都有严格的规定,二者必须依据这些规定实现数据交换,否则,就会出现通信失败。因此,做好单片机与GSM模块通信,了解A T 指令执行过程就很重要。表2列出AT指令执行过程。

需要重点说明的是,所有AT指令的指令符号、常数、PDU数据包等都是以ASCII编码形式传送的。

表2 AT指令的执行过程

6.5 中文短信息的收发

6.5.1 PDU模式及中文短信息的编码

短信收发的编码格式一共有三种:Block模式, Text模式和PDU(protocol description unit)模式。其中Block Mode已经逐渐被淘汰,下面介绍的内容,是在PDU Mode下发送和接收短消息的实现方法。

PDU串表面上是一串ASCII码,由“0”-“9”、“A”-“F”这些数字和字母组成。它们是8位的十六进制数。PDU串不仅包含可显示的消息本身,还包含很多其他信息,发送和接收的PDU串,结构是不完全相同的。用一个实际的例子说明PDU串的结构和编排方式。例1,发送一条PDU格式的中文短信息,地区的SMSC号码是(短信中心号码)+86138********,目标号码+8615939026 810,短信息内容是“你好!”,则从单片机发送到GSM模块的PDU串可以是“0 891683108301705F011000D91685139096218F0000801064F60597DFF01”,如果使

用默认的短信中心号码则PDU串可以是:“0011000D91685139096218F00008010

64F60597DFF01”。对照PDU编码的规范,各段含义如表3所示。

表3 发送PDU串分析

6.5.2 短信报警程序设计

短信报警程序是来完成报警功能的,首先判断有警情没,若有则发送报警短信,若发送成功,则退出子程序,不成功则在3S内重发报警短信,3S后退出子程序,若无警情,直接退出子程序。其流程图如图3所示:

6.5.3 GSM模块的接打电话程序设计

单片机根据呼叫的电话号码,来控制门的开关,从而来完成门控功能。当有单片机检测到有电话呼入时,就将号码存储,接着与设置的用户号码比较,若是用户号码,则挂断电话,打开大门,若不是,则退出子程序。身份验证程序流图如图4所示:

6.5.4 数据传输模块

根据不同的要求,串口数据的发送是可以知道时间的,所以采用查询方式,而接受是不确定的,所以接收采用中断的方式。在与模块握手连接成功后,通过字符串发送函数就可将数据缓存区中欲发送的数据发送。发送数据的原理与建立连接时的基本相同,但数据的接收是通过串口中断接收函数完成的,同时将接收

图3 短信报警程序流图

到的数据必须先放入接收缓存区。

6.6 系统调试软件使用

6.6.1 初期阶段的调试

初期调试主要是采用AT指令调试精灵来调试GSM模块。主要先熟悉AT指令的使用,AT指令调试精灵是方寸自主研发的一款用于调试各个厂家AT指令集的实用工具,该软件功能强大,运行稳定,支持市场上大部分GSM/GPRS猫,通过它不仅可以测试GSM猫上所支持的AT指令,而且可以收发短信,发短信时可以看到需要运行的相关AT指令和PDU编码,当有新短消息到时,系统会自动收短信并显示在屏幕上,该安装包包含Nokia、Siemens等AT指令集以供用户调试和熟悉AT指令,开放部分源代码,可以在此平台上开发出高性能的短信应用程序。

6.6.2 程序设计阶段的调试

在熟悉了AT指令的基础上开始构建自己的设计思路、设计方法、实现方法等一系列的问题需要去解决,这时候我主要采用串口调试助手和超级终端来把AT指令一步一步地转化为16进制的数据去代替,这需要要一些时间去使用端口侦探软件来调试,这是最终用单片机来完成这些AT指令操作的不可缺少的阶段。对与完成单片机与模块之间的成功通信很重要。其中端口侦探超比较好用,级终端与串口调试助手相比存在一些不足。

图4 身份验证程序流程图

7 系统设计中出现的问题及解决办法

7.1 排除调试阶段出现无法监视的方法

在调试过程中,很希望可以看到程序执行到何处了,数据是结果如何?因为由于GSM模块要求的波特率非常的严格,一般是不可以使用仿真器进行仿真调试的。这时可以用电脑的串口调试助手并接在GSM上,就可以方便地监视到所发的数据和所收到的数据了,也大大的增加也调试的效率。

7.2 排除仿真器总端上出现乱码的方法

设计初期需在超级终端等串口调试软件中进行AT指令的调试,,但经常会遇到不能与GSM MODEM进行正常通信或总是在仿真终端上出现乱码,此时检查串口是否保证正常连接,计算机的串口引线与GSM MODEM的串口引线应是一一对应的。GSM MODEM与仿真终端应设置相同的通信速率。当初次使用GSM MODEM时,在仿真终端上设置为通信速率9600bps、8位数据位、无较验

位、1位停止位。

8 小结

目前,利用移动运营商提供的无线网络实现远程监控和数据传输已被广泛应用于各个领域。尤其是基于单片机的GSM数据传输方案在GSM门控报警终端、自动抄表系统等远程遥测遥控系统中的应用更是倍受关注。

我们经过两个月的试验调试,我们设计的以AT89S52单片机作为控制核心的智能门控报警系统,达到了预期的设计要求。本系统具有实时记录出入数据、使用方便、安全可靠等优点。特别适合于家庭公司,企事业单位,小区的安防系统等场所。随着GSM网络技术的应用与发展,将GSM模块应用在门控系统中,性价比高,具有很好的应用前景,基于GSM模块的门控系统在硬件的不断完善,程序会更加的优化,性能会更好,将来会有一个不错的发展空间。当然,,此系统设计还存在很多不足之处,需要不断的升级、完善,今后将会近一步增强其功能,使其不断的完善。

致谢

本论文是在徐老师的悉心指导下完成的,徐老师渊博的科学知识、远见卓识的科学创新和严谨的治学态度都给了我深远的影响。在设计阶段徐老师在资料搜集、程序调试、论文写作等方面都给予我严格的要求和关键性的指导,在此衷心感谢两个月徐李老师对我的关心和指导。

这次的毕业设计是由我们小组二人共同完成的,正是我们的团结合作、坚持不懈才能取得现在的结果。所以在这里还要感谢胡永战同学的鼎力帮助,他给我提出了不少建议,使我思路开阔,程序也因此更加完善。同时周围的同学也给了我很多的帮助,在这里一并向他们表示感谢!最后,再次向各位领导、各位老师致以衷心的感谢!

参考文献

[1]张刚毅,彭喜元,董继成.单片机原理及应用[M]. 北京:高等教育出版社,2006.1

[2]杨将新,李华军,刘东骏.单片机程序及应用从基础到实践[M].北京:电子工业出版

社,2006.9

[3]李朝青.单片机原理及接口技术[M].北京:北京航空航天出版社,2005.10

[4]徐玮,徐富军,沈建良.C51单片机高效入门[J].北京:机械工业出版社,2007.1

[5]刘建清.从零开始学单片机C语言[J].北京:国防工业出版社,2006.8

[6]求是科技.8051系列单片机C程序设计完全手册[J].北京:人民邮电出版社,2006.4

[7]李朝青.PC机及单片机数据通信技术.北京:北京航空航天大学出版社,2000

航空航天大学出版社,2007.2

[8]窦振中.单片机外围器件实用手册(存储器分册),北京:北京航空航天大学出版社,1998

[9]范风强,兰婵丽.单片机语言C51应用实战集锦(修订版)[J].北京:电子工业出版

社,2005.5

[10]徐爱钧,彭秀华.单片机高级语言C51应用程序设计[J],北京:电子工业出版社,1998.6

[11]夏礼智,应立军.大容量串行Flash的快速编程[B].长沙:中南大学铁道校区,2003

[12]戴佳,戴卫恒.51单片机C语言应用程序设计实例精讲[M].北京:电子工业出版,2007.1 学院,2007

[13]田景文,席桂清,许秀英.基于单片机的智能家居门禁系统[J].安徽:安徽建筑工业学院学报(自然科学版),2004.4

[14]马忠梅,籍顺心,张凯,马岩.单片机C语言应用程序设计(第四版)[J]. 北京:北京

[15]于艳,顾桓.MCS-51单片机和PC机问的串口通信[A].西安:西安理工大学印刷包装工程

附录1 系统程序

#include //包含的头文件

typedef unsigned char INT8U; //无符号8位数

/********************************/ //工作指示灯****************

sbit led1=P1^1; // MCU与GSM模块握手成功及GSM网络注册完毕

sbit led2=P1^2; // 报警信号输入指示及报警短信群发成功指示

sbit led3=P1^3; // 有电话呼入信号检测指示

sbit led4=P1^4; // 电话呼入信号检测认证成功

sbit fmq=P2^1; // 报警蜂鸣器

sbit jdq2=P2^2; // 电话呼入信号检测认证成功及开门信号指示

sbit door=P2^3; // 报警信号输出指示

sbit Test=P1^0; // 报警信号检测及传感器信号输入端

/*****************************GSM指令定义***************/

INT8U code Command_AtE[4] = "ATE\r"; //Send AT

INT8U code Command_Cmgs[12]= "AT+CMGS=069\r"; //是指去掉短信中心号码,和紧接其后的00后,发送的短信字节数

INT8U Command_Cpbr[10] = "AT+CPBR=1\r"; //读电话薄号码

INT8U code GSMhead[24] = "0891683108301705F011000D"; //使用

+86138********短信中心号码

INT8U code GSM_set[6] = "000801"; //固定头文件

INT8U code GSM_sms[110] =

"3667098B6660C5FF0C8BF78FC5901F59047406300257305740FF1A6CB3535779 D162805B669662673A7535697C5BA40033003000313002"; //报警短信内容为:有警情,请迅速处理。地址:河南科技学院机电楼301室。

INT8U ATD_number[7] = "ATD>1;\r"; //打电话

INT8U code ATH[4] = "ATH\r"; //挂断电话

INT8U code ATD_clcc[8] = "AT+CLCC\r"; //来电号码显示

//****************系统调用的函数声明****************

void ATE_Send(void);

void Baudrate_Init();

void Uart_send(INT8U data_buffer[], INT8U data_len);

相关主题
文本预览
相关文档 最新文档