基于GSM的车辆防盗报警系统_第1页
基于GSM的车辆防盗报警系统_第2页
基于GSM的车辆防盗报警系统_第3页
基于GSM的车辆防盗报警系统_第4页
基于GSM的车辆防盗报警系统_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、 目目 录录 1 引言.1 1.1 课题的背景及意义.1 1.2 课题的应用前景.1 1.3 未来发展展望.2 2 方案论证.2 2.1 总体方案选择.2 2.2 gsm 终端硬件设计方案论证 .3 2.2.1 硬件设计方案.3 2.2.2 无线数据传输模块.3 3 硬件总体设计.4 3.1 mcu 中央控制部分.4 3.2 指示电路部分.5 3.3 报警信号输入接口电路.5 3.4 gsm 通信模块接口部分 .6 3.5 报警输出控制部分.7 3.6 系统供电部分.7 4 系统软件设计.8 4.1 gsm 常用 at 指令.8 4.2 下位机软件组成.9 4.3 各模块软件设计.11 4.3

2、.1 初始化模块.11 4.3.2 gsm 初始化模块 .11 4.3.3 身份授权及验证模块.12 4.3.4 数据传输模块.12 4.4 上位机管理中心系统软件设计.12 4.5 调试软件的使用.12 4.5.1 初期阶段的调试.12 4.5.2 程序设计阶段的调试.14 5 系统设计中出现的问题及解决办法.14 5.1 排除仿真终端上出现乱码的方法.14 5.2 排除调试阶段出现无法监视的方法.14 5.3 区别接收返回值与传输数据的方法.14 6 结束语.14 致谢.15 参考文献.15 附录 1 英文 at 指令错误提示代码详解 .16 附录 2 整体电路图.17 附录 3 程序清单

3、.18 1 引言引言 1.1 课题的背景及意义课题的背景及意义 随着科学技术的迅猛进步、经济的飞速发展,社会生活、结构等各方面都 发生了巨大变化,人们的思想观念、行为方式也发生了很大的变化;社会财富 的日益丰富,既满足了人民群众提高物质生活水平的需要,同时也刺激了犯罪 分子非法摄取钱财的恶欲。目前,我国汽车的拥有量越来越多,交通行业高速 发展,城市车辆、交通流量大幅度增长。在此形势下,单位所属车辆需要实行 有效的调度监控,以节约开支,提高效率;另一方面,交通事故剧增,而更为 突出的是盗抢机动车犯罪的发案总数也呈上升之势。在这种情况下,汽车的安 全、防盗问题就越来越重要。应用高科技技术实现对车辆

4、的监控,可以有效的 加强对车辆的调度管理及防盗防劫。 从目前国际交通监控系统来看,技术已经非常成熟。像美国的zepco公司、 挪威的tds公司等都具备多年的技术开发和项目实施能力。而在我国可以远程 监控客车的系统很少,并且存在一些不足之处。有的系统只是普通的车外监控 形式,不能很好对车内的实时信息进行监控,且客车无法与主机进行通信对话, 实用性不强。因此交通监控系统还是一项发展未成熟的技术,所以还需要不断 的改进、完善1。 gsm(global system for mobile communication,全球移动通讯系统)是基 于时分多址技术的移动通讯系统,是目前发展比较成熟、完善、应用最

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

6、基于gsm的车辆防盗报警系统将现代通讯技术与车辆防盗技术结合起来, 充分利用发达的无线通讯网络,是3g(gsm、gps、gis)技术在its(智能交 通系统)中应用的一个重要组成。该系统具有较强的扩展性,可以扩展应用实 现无线数据传输、车载电话等功能。配合gsm接收器,就可以实现车辆定位以 及远程监控。此外,报警系统只有在报警时才会发短信,平时不会发生任何费 用。所使用的网络是公共无线通讯网络,与使用手机完全相同,不需额外注册。 1.3 未来发展展望未来发展展望 系统的容量只和gsm系统的容量有关,所以它的容量是非常大的,可以达 到几十万辆车。现在gsm的覆盖范围是非常广,已扩展到县城一级。随

7、着短消 息业务在全国各地的开通,装有gps定位设备的车辆,将可以在全国漫游。随 着福建、上海等地的gps车辆调度监控系统的建立,华东六省一市监控系统的 漫游、联网监控不久将会实现。而且随着公安监控系统的建立,系统将实现车 辆的全国联网监控。随着“全球星”卫星移动通信系统的建立,它在中国的双模 式终端极可能是全球星加数字蜂窝gsm模式,从而实现广域漫游和边远地区通 信,车辆监控系统的覆盖区域将会更加广阔4。 2 方案论证方案论证 2.1 总体方案选择总体方案选择 目前的无线通道的数据传输方案主要分为两种,一种是通过专用网进行数 据传输,如rf(radio frequency,射频)数传电台和无线

8、局域网(wlan) ;一 种是通过公共无线通信网络,如gsm/gprs网络的成熟度较高、覆盖面较广, 因而gsm/gprs网络被选为该无线通道总体方案的通信基础4。而基于 gsm/gprs网络的数据传输通常有四种方式,一种是基于短消息的数据传输。 第二种是基于data方式(注:一种以电路交换为基础的传输方式)的数据传 输;第三种是通过语音方式进行数据传输;最后就是通过ip(internet protocol,因特网协议)方式的数据传输。下面对四种基于gsm/gprs网络 的无线数据传输方式的各自特点作简单的介绍。基于短消息的数据传输是通过 短消息作为数据传输的载体,利用at指令对通信模块控制,

9、然后将数据按照短 消息的格式发送给目标机。目标机接收到短消息后,利用at指令将短消息读出 并将信息还原,这样就完成一次数据通信。基于短消息的数据传输方式的特点 是资费较低,组网/使用方面,但数据容量较低(140字节) 。短消息数据传输 方式特别适合于小数据量且中低采集频率的无线监控系统使用2。 基于data方式的数据传输是利用gsm的data(与传真同)传输方式, 通过at指令来进行数据拨号,等待数据连接建立后,只需将ascii码数据送入 通信模块即可。通信模块会按照设定好的通信协议(默认为v.32bis)将数传出, 目标机接到数据呼叫后,送出应答信号,然后便可按照相同的协议接收ascii 码

10、信息。基于data的数据传输方式数据传输安全、实时性好、数据传输量大, 但产要是成本较高,适合于要求可靠性很高且海量数据传输的系统中。 通过语音方式进行数据传输,主要是利用话音通道将数据调制到话音频率 传输出去,目标机将数据解调出来。该方案还可以通过语音通道传输。 dtmf(double time multiple frequency,双音多频)编码进行数据传输,通信 方式与语音方式一样4。该方案主要的优点是可以用来传输音频模拟数据,实 时性很好(电路交换方式) ,但由于gsm系统的语音编码方式的局限,对数据 的压缩/还原会造成数据的失真。该方案基本不被采用,但可以作为备选方案用 于无线安防系

11、统中。 基于ip的数据传输方式是gprs系统独有的,因为gprs是在gsm网络基础 之上新增两个节点sgsn和ggsn而形成的移动分组数据网络。由于gprs数 据传输的基础是tcp/ip协议的转换。实时性较好,缺点就是gprs终端开发成本 高,使用复杂度较高(因为涉及到复杂的组网方案) 。 根据目前大部分系统的需求并综合以上方案的优缺点,我选择基于gsm网 络的短消息的数据传输方式作为我的本科设计课题基于gsm的车载无线监控 系统。 2.2 gsm 终端硬件设计方案论证终端硬件设计方案论证 2.2.1 硬件设计方案硬件设计方案 (1)采用数字信号处理芯片(dsp) dsp的突出优点是指令执行速

12、度快,完全可以取代单片机完成数据的处理 和传输。但应用dsp也有很多局限:开发工具价格昂贵,使用不便。dsp 芯片指令复杂,对应用者水平要求较高,芯片成本也比较昂贵。综上所述,除 非系统指标要求很高,非用dsp芯片不可,应尽量避免使用dsp。 (2)采用单片机数据采集系统 单片机具有资源丰富、速度快、编程容易等优点。利用单片机内部的随机 存储器(ram)和只读存储器(rom)及其引脚资源,外接外部存储器扩展和 红外接受发送装置等实现数据的处理传输.基本上能实现设计指标。 通过综合考虑,我本次设计是采用单片机系统来完成。因为所设计的交通 监控系统只需要系统能准确完成功能即可,不需要太高的处理速度

13、和非常大的 系统容量,使用单片机系统就能完成。单片机系统较常见,容易利用,价格也 较适中。dsp系统和嵌入式系统价格都比较昂贵。大家都知道,交通监控系统 是一个民用品,如果价格过高,不利于推广。 2.2.2 无线数据传输模块无线数据传输模块 实现数据无线传输方案主要有以下四种: (1)采用高频无线技术实现无线数据传输 采用高频技术有传输距离远,不受方向性约束的优点,但抗干扰性能差, 易受各干扰源的影响。而且从实用性和普及性的角度看,高频技术还有所欠缺。 (2)采用激光技术实现无线数据传输 采用激光技术有传输距离远,速度快,抗干扰能力强等优点。但由于激光 的强方向性,使其在推广上面受到影响。一般

14、在现阶段,激光技术多用于军事 领域,对于本次设计的预期目标有点偏离。 (3)采用蓝牙技术实现无线数据传输 蓝牙(bluetooth)技术是一种开放性的无线数据通信协议,它用于近距离 无线连接。蓝牙的载频选用2.45ghz,为固定与移动设备通信建立一个短程的 连接,使通信和计算机进一步结合,便于不同厂家生产的设备在无线情况下通 用、互操作。但其技术较难,很难在短时间内把它学通,故不采用。 (4)采用gsmsms模块实现无线数据传输 gsm模块在车载终端中主要用来传输数据,与监控调度中心进行通讯。所 谓的gsm模块实际上就是我们常说的手机模块,只不过这种模块是在原来的 gsm技术上添加了cpu控制

15、传输功能。通信模块它只是用来传送网络协议格式 化的数据包,所以在车辆监控等远程监控系统中我们必须通过cpu把相关数据 打包以后发送给通信模块,继而传送到上位机,进行监控。由于gsm网络在全 球范围内实现了联网和漫游,不需组建专用通讯网络,就可以完成远程数据通 讯,而且具有较好的实时性。并且摆脱报警有效距离的限制,无线通讯网络能 覆盖到的地方均为有效报警区域。此外,系统采用短信互动方式,可以实现超 距离遥控功能。所以采用gsm-sms模块来完成监控数据的传输。 3 硬件总体设计硬件总体设计 硬件整体设计主要由六部分组成:mcu单元,指示电路,报警信号输入接 口电路,gsm通信模块接口部分,报警输

16、出控制部分,电源部分。硬件设计原 理框图见图1。 3.1 mcu 中央控制部分中央控制部分 (1)mcu的选用 at89s52是一个低电压,高性能cmos 8位单片机,片内含8k bytes的可反 复擦写的只读程序存储器(flashrom)和256 bytes的随机存取数据存储器 (ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标 准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,内置功能强 大的微型计算机的at89s52提供了高性价比的解决方案。 图1 硬件设计原理框图 (2)控制系统的主要功能 1)处理传感器采集到的报警信息,对各种报警信号进行综合

17、判断,确定警 情,从而做出正确的判断。 2)与gsm模块建立通讯,完成对gsm模块的初始化以及报警系统的个性 化设置。 3)完成单片机系统与gsm模块之间的数据协议转换,包括将报警信息转 换成符合sms协议的数据格式并传递给gsm模块进行发送,以及将gsm模块收 到的短信控制命令转换成相应的控制信号。 4)驱动现场报警装置(高音报警器) ,发出现场报警。 5)驱动执行机构,完成在报警情况下得到用户许可(远程遥控指令实现) 后对车辆电路、油路的控制。 3.2 指示电路部分指示电路部分 采用三个led发光管来指示整个系统的工作状态,其中一个指示gsm的上 线及信号强度状态,一个指示设防与解防的状态

18、,一个为系统的电源指示。 3.3 报警信号输入接口电路报警信号输入接口电路 报警信号即对车辆的一些监控内容,包括:车辆电源是否异常的检测,车 辆行李箱的检测,车体是否受振动的检测,车门的检测,乘车人数的检测等信 息的检测与输入。 (1)人数信号 人数信号的监测使用了一对光电传感器,并行的装在车门的合适位置,当 人先接触到传感器a再接触到传感器b,则为上车,当人先接触到传感器b再接 触到传感器a,则为下车。通过在单片机中进行计算可以得到最后车上的总人 mcu 报警信号输入 电源部分报警输出控制 指示电路 gsm 通信模块接口 数,具体可见总体电路图。 (2)车速信号 车速信号通过车速传感器采集,

19、车速传感器是一个车辆内部的装置,它这 一装置是在车辆运行时通过对车轮转速的测量来完成对车辆速度的测量。然后 通过光电耦合器除去传输信号中产生的干扰。最后将信号输入单片机的int1口。 车速度传感器也是交通监控系统的重要组成部件,它安装在汽车变速器输出轴 末端(原车的里程表软轴接口处) ,直接传感传动轴的转速变化,以获得车速信 号。 (3)其它报警信号的采集 通过人体接近传感器,门磁传感器、振动传感器组成,实际应用中还可以 根据需要进行扩展。人体接近传感器是一种红外传感器,对一定距离内人体发 射的红外波异常敏感,但对其他物体(包括动物)发射的红外波却不敏感。将 该传感器安装在车内,一旦窃贼进入,

20、它会立即发出脉冲信号。 门磁传感器采用廉价的干簧管门磁,它可以被安装在车辆的任何活动部位, 如车门、行李厢、发动机罩等。当任何一个安装了门磁传感器的部位被非法移 动时,都会发出相应的报警信号。 振动传感器采用固态振动传感器,其灵敏度可以手动调整(主要是为了适 应不同的车型) 。考虑到振动信号的传递性,振动传感器直接安装在系统板附近, 当车辆被移动、撞击或有人进入时,传感器马上向主控系统发出相应的报警信 号。 3.4 gsm 通信模块接口部分通信模块接口部分 虽然整个系统设计主要按照3.3v接口进行设计,然而像rs485电路的输入、 输出需要5v电平,同时gsm终端需要向用户提供ttl电平的串口

21、输出。因此需 要进行5v3.3v或者3.3v5v的电平转换。我们选用max232电平转换电路实 现了电平的相互转换,电路如图2所示。 图2 电平转换电路 rs-232是由美国电子工业协会(eia)正式公布的、在异步串行通讯中应 用最广的标准总线。它包括了按位串行传输率和机械方面的规定。适合短距离 或带调制解调器的通讯场合。它不仅已经被内置于每台pc,而且已被内置于从 微控制器到主机的多种类型的电脑和与它们连接的设备。你也可以将rs-232用 在任何类型得计算机之间的简单连接中,它是一个被广泛使用的接口之一。 目前,国内已经开始使用的gsm模块有falcom的a2d系列、wavecome的 wm

22、o2系列、西门子的tc35系列、爱立信的dm10/dm20系列、中兴的 zxgm18系列等,而且这些模块的功能、用法差别不大。其中西门子的tc35系 列模块性价比很高,并且已经有国内的无线电设备入网证。所以本设计选用的 是西门子tc35系列的tc35i。这是西门子推出的最新的无线模块,功能上与 tc35兼容,设计紧凑,大大缩小了用户产品的体积。tc35i与gsm2/2+兼容、 双频(gsm900/gsml800)、rs232数据口、符合etsi标准gsm0707和 gsm0705,且易于升级为gprs模块。该模块集射频电路和基带于一体,向用 户提供标准的at命令接口,为数据、语音、短消息和传真

23、提供快速、可靠、安 全的传输,方便用户的应用开发及设计。 tc35i有40个引脚,通过一个zif(zero insertion force,零阻力插座)连接器 引出。这40个引脚可以划分为5类,即电源、数据输入/输出、sim卡、音频接口 和控制。第114脚为电源部分:15为电源电压输入端vbatt+,610为电源 地gnd,11、12为充电引脚,13为对外输出电压(共外电路使用),14为accu- temp接负温度系数的热敏电阻。2429为sim卡引脚,分别为 ccin、ccrst、ccio、ccclk、ccvcc和ccgnd。3340为语音接口,用 来接电话手柄。15、30、31和32脚为控

24、制部分:15为点火线igt(ignition),当 tc35i通电后必须给igt一个大于100ms低电平,模块才启动;30为rtc backup,31为power down,32为sync。16-23为数据输入/输出,分别为 dsr0、ring0、rxd0、txd0、cts0、rts0、dtr0和dcd0。 3.5 报警输出控制部分报警输出控制部分 完成在报警情况下得到用户许可(远程遥控指令实现)后对车辆电路、油 路的控制、驱动现场报警装置(高音报警器),发出现场报警。 3.6 系统供电部分系统供电部分 为了保证系统运行的安全性,系统供电由车辆的蓄电池和系统备用电池共 同完成。正常情况下由车辆

25、蓄电池供电,蓄电池故障、长期存放电压不足或者 车辆电源被人为破坏时,自动转入备用电池供电(这种情况发生时,用户会收 到相关报警信息)从而使得系统在各种情况下都保持正常工作。 4 系统软件设计系统软件设计 系统软件包括单片机下位机和上位机两部分组成。 4.1 gsm 常用常用 at 指令指令 系统软件的核心部分是单片机与gsm无线摸块的通信,技术难点是at命令 的设置和使用。at命令是调制解调器的控制指令,无线信道的建立、数据传输 等操作都是通过它来完成的。 在大多数基于gsm/gprs的数传应用中,是将mcu与无线模块相连,二者 依托串口通信(需电平转换),程控mcu以一定的协议对模块发送at

26、指令、 接收模块执行指令后的返回值,并执行相应校验。mcu串口实质上是以位为单 位完成收发,由协议预定义的起始位、校验位、停止位决定数据帧的封装格式。 字符格式的at指令需按照ascii编码转化为二进制数后才可存储在mcu的rom 中,进而通过串口收发,但at指令及其返回字符串中混有不可打印字符,如 at指令通常的控制字符、短信发送的指令符,所有的at指令返 回值并非以可打印字符起始,它们如何在指令中表示?在返回字符的何处出现? 为实现某一功能,需发送多条有连贯意义的at指令时,能否连发,之间的间隔 又该多大? 上述问题是用mcu控制无线模块的关键,透彻解决它们的第一步是准确掌 握at指令的格

27、式。在系统设计过程中可利用超级终端,串口检测软件对串口进 行检测,确定at指令的具体格式。 本系统设计借助portspyv11串口调试软件对at指令格式进行探究,以发送 at返回ok为例。调试界面如图3所示。 发送:at 返回值:0d 0a 4f 4b 0d 0a 分析上述串口侦听过程可知,at指令实质是以字节发送,回车符代表指令 的结束,模块接收到回车符后开始执行指令,指令发送过程中,字节间允许有 任意间隔。模块接收到指令字节后,会立即答复以相应的握手信号。模块执行 指令后的一切返回值(无论指令执行后的ok还是报错信息)都是以不可打印字 符“0d0a”开始和结束。为了保证通信的可靠性,默认情

28、况下模块回复收到字符 的握手信号又称为回显(echo),握手机制能确保指令收发的可靠性,但在实 际的设计中,通过mcu实现对模块的控制,需接收执行at指令的返回值,并 需进行 必须的字符校验,每发送一字节指令后模块所返回的握手信号须程控滤除, 频繁的开关串口中断,降低了程序的可靠性。为简化这一过程,需屏蔽模块回 显。以下at指令可取消回显: ate0 图3 调试界面 ok ate1/开启回显 ok 在指令后加“;以下为主程序进行cpu初始化设置 开始 单片机初始化 成功? gsm 模块初始化 打开串口 与 gsm 通信建立 接收标志为 1? 接收数据并做出处理 发送反馈信息 成功? 有报警信息

29、? 报警信息处理并发送 成功? 3 秒? 3 秒? y n y yy yy n n n n n n y setb it0 ;设定int0的触发方式为脉冲负边沿触发 mov scon,#50h ;设置成串口1方式 mov tmod,#20h ;波特率发生器t1工作在模式2上 mov th1,#0fdh ;预置初值(按照波特率9600bps预置初值) mov tl1,#0fdh ;预置初值(按照波特率9600bps预置初值) setb tr1 ;启动定时器t1 mov pcon,#10000000b;设定smod为1,波特率翻倍! 4.3.2 gsm 初始化模块初始化模块 lcall yusj;开

30、机清除接收短消息手机号码 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),短信到达 te lcall scqbdx;调用删除sim卡中所有短信的子程序 ;完成和手机通信握手,和sim卡删除所有短消息初始化 start: lcall xrdxzx;调用询问手机sim卡中短信中心号码子程序 lcall xrsj;读

31、出授权电话号码及密码,写入内存中 mov 7fh, #46h lcall mjcs;蜂鸣器提示 lcall mjcs clr sx;模块上线 4.3.3 身份授权及验证模块身份授权及验证模块 这部分包括以下几个功能:授权用户和密码,更改用户和密码,和系统的 设防与解防状态的切换与查询等功能。主要由以下几个部分组成:(1)检测到 有电话或短信;(2)进行身份的认证与判断;(3)信息的回显等几部分。这 一部分在调试过程中是最容易出错的地方,因为关系到安全级别的高低。本设 计从两个方面来增加安全性,一是通过对电话号码的认证,二是通过四位 acsll码(16位的uincode码)认证。详细程序见附录。

32、 4.3.4 数据传输模块数据传输模块 根据不同的要求,串口数据的发送是可以知道时间的,所以采用查询方式, 而接受是不确定的,所以接收采用中断的方式。在与模块握手连接成功后,通 过字符串发送函数就可将数据缓存区中欲发送的数据发送。发送数据的原理与 建立连接时的基本相同,但数据的接收是通过串口中断接收函数完成的,同时 将接收到的数据必须先放入接收缓存区以便显示。需要指出的是串口中断程序 既要接收指令返回值又要接收模块传来的数据,这两种接收信息的处理方式不 同,所以在中断函数中应通过设置两个不同的标志来解决这一问题。这样也更 合理一些。 4.4 上位机管理中心系统软件设计上位机管理中心系统软件设计

33、 综合管理系统(上位机软件)是用visual c+结合数据库来做,visual c+ 提供了一个可视化编程的集成开发环境:visual studio(又名developer studio)。 developer studio是通用的应用程序集成开发环境,它不仅支持visual c+,还 支持visual basic,visual j+,visual interdev等microsoft系列开发工具。 developer studio包含了文本编辑器、资源编辑器、工程编译工具、一个增量连 接器、源代码浏览器、集成调试工具,以及一套联机文档。使用developer studio,可以完成创建、调试

34、、修改应用程序等的各种操作。其综合管理系统 界面如图5所示。 4.5 调试软件的使用调试软件的使用 4.5.1 初期阶段的调试初期阶段的调试 主要是采用at指令调试精灵来调试gsm模块。主要先熟悉at指令的使用, at指令调试精灵是方寸自主研发的一款用于调试各个厂家at指令集的实用工 具,该软件功能强大,运行稳定,支持市场上大部分gsm/gprs猫,通过它不 仅可以测试gsm猫上所支持的at指令,而且可以收发短信,发短信时可以看到 需要运行的相关at指令和pdu编码,当有新短消息到时,系统会自动收短信并 显示在屏幕上,该安装包包含nokia、siemens等at指令集以供用户调试和熟悉 at指

35、令,开放部分源代码,可以在此平台上开发出高性能的短信应用程序。其 界面如图6所示。 图5 综合管理系统界面 图6 at指令调试精灵界面 4.5.2 程序设计阶段的调试程序设计阶段的调试 在熟悉了at指令的基础上开始构建自己的设计思路、设计方法、实现方法 等一系列的问题需要去解决,这时候我主要采用串口调试助手和超级终端来把 at指令一步一步地转化为16进制的数据去代替,是最终用单片机来完成这些 at指令操作的不可缺少的阶段。其中超级终端与串口调试助手相比存在一些不 足。 5 系统设计中出现的问题及解决办法系统设计中出现的问题及解决办法 5.1 排除仿真终端上出现乱码的方法排除仿真终端上出现乱码的

36、方法 设计初期需在超级终端等串口调试软件中进行at指令的调试,但经常会 遇到不能与gsm modem进行正常通信或总是在仿真终端上出现乱码,此时检 查串口是否保证正常连接,计算机的串口引线与gsm modem的串口引线应是 一一对应的。gprs modem与仿真终端应设置相同的通信速率。当初次使用 gprs modem时,在仿真终端上设置为通信速率19200bps、8位数据位、无较 验位、1位停止位。 5.2 排除调试阶段出现无法监视的方法排除调试阶段出现无法监视的方法 在调试过程中,很希望可以看到程序执行到何处了,数据是结果如何?因 为由于gsm模块要求的波特率非常的严格,一般是不可以使用仿

37、真器进行仿真 调试的。这时可以用电脑的串口调试助手并接在gsm上,就可以方便地监视到 所发的数据和所收到的数据了。也大大的增加也调试的效率。 5.3 区别接收返回值与传输数据的方法区别接收返回值与传输数据的方法 在终端软件设计时,通常采用串口中断函数接收模块返回值与传输数据, 但接收到的模块返回值与接收到的传输数据对应不同的处理过程,所以在程序 设计时应通过在中断接收函数中设置两个不同的标志来解决这一问题。 6 结束语结束语 随着无线通信技术的不断提高,利用移动运营商提供的无线网络实现远程 监控和数据传输已被广泛应用于各个领域。特别是基于单片机的gsm数据传输 方案在gsm车载终端、自动抄表系

38、统等远程遥测遥控系统中的应用更是倍受关 注。为单片机实现gsm的无线监控提供了一种通用的解决方案。 本设计主要完成了: (1)数据监控终端的硬件电路的设计与制作。 (2)数据监控终端的(下位机)软件的设计与调试。 (3)车辆管理中心系统(上位机)软件的设计 (4)整个系统的整体调试工作。 由于时间的原因,此系统设计还存在很多不足之处,今后将近一步拓展系 统功能,增强系统的实用性。 致谢致谢 本论文是在老师的悉心指导下完成的,老师渊博的科学知识、远见卓识的 科学创新和严谨的治学态度都给了我深远的影响。在设计阶段李老师在资料搜 集、程序调试、论文写作等方面都给予我严格的要求和关键性的指导,在此衷

39、心感谢三个月来老师对我的关心和指导。 参考文献参考文献 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 张勋勇,谢 辉,鲍振武.车辆远

40、程监控系统j.电子测量技术,2005(4) 8 赵晶.电路设计与制板m.北京:人民邮电出版社,2001 9 吴金戌,沈庆阳,郭庭洁.单片机实践与应用m.北京:清华大学出版, 2003 10 何立民.单片机应用技术选编m. 北京:北京航空航天大学出版社,2000 11 陈杰,黄鸿.传感器与检测技术m.高等教育出版社,2004(4) 12 杨日杰,何友,崔旭涛.基于sms的远程数据传输系统设计j .电子工程师, 2004 (2) 13 马潮.嵌入式gsm 短信息接口的软硬件设计j.单片机与嵌入式系统应用, 2003 (7) 14 曹尉青,韩冰.利用 gsm 短消息实现远程监控j.产品设计与应用,2

41、002 (10) 15 李鸿.用单片机控制手机收发短信息j .电子技术应用,2003 (1) 附录附录1 英文英文at指令错误提示代码详解指令错误提示代码详解 附录附录2 整体电路图整体电路图 ea/vp 31 x1 19 x2 18 reset 9 rd 17 wr 16 int0 12 int1 13 t0 14 t1 15 p10 1 p11 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 p20 21 p21 22 p22 23 p23 24 p2

42、4 25 p25 26 p26 27 p27 28 psen 29 ale/p 30 txd 11 rxd 10 u? 89s51 12 34 56 78 910 1112 1314 1516 1718 1920 header 10x2 gnd vcc s? sw-pb s? sw-pb s? sw-pb s? sw-pb s? sw-pb s? sw-pb s? sw-pb s? sw-pb y? crystal c? cap c? cap gnd 1 2 3 4 5 6 7 89 10 11 12 13 14 15 16 jp? header 8x2 gnd c? electro1 c?

43、electro1 c? electro1 c? electro1 c? capgnd 1 6 2 7 3 8 4 9 5 db9gnd c? db9 r? res2 s? sw-pb vcc gnd xx1 xx2 xx3 xx4 xx5 xx6 xx7 xx8 xx1 xx2 xx3 xx4 xx5 xx6 xx7 xx8 xx1 xx2 xx3 xx4 xx5 xx6 xx7 xx8 gnd ri tx tx ri gnd vcc t1 t2t3 1 2 j? con2 1 2 j? con2 1 2 j? con2 vccvccvcc gndgndgnd out1out2out3 out

44、1 out2 out3 led1 led2 led3 led4 led5 led6 d? led d? led d? led d? led d? led d? led r? res2 r? res2 r? res2 r? res2 r? res2 r? res2 vcc led1 led2 led3 led4 led5 led6 附录附录3 程序清单程序清单 ;采用 at89s52 单片机,晶振 11.0592mhz,通讯速率 19200,采用 ttl 串口通讯 ;手机号码缓存在 28h-33h 的内存中 ;短信内容缓存在 48h-57h 的内存中 ;发送的字数在 44h-46h 内存中 ;短

45、信中心的号码存放在 58h-63h 的内存中 ;密码车辆报警存放在 64h-73h 的内存中 ;手机号码存放在 74h-7f 的内存中 ;p1.0 为手机开关机控制端 ;p1.1 为串口接收模块数据 ok ;p1.2 为解防/设防控制端 org 0000h ajmp main;转入主程序 org 0003h ;外部中断 p3.2 脚 int0 入口地址 ljmp extjia org 000bh;中断陷阱 ljmp t0int org 0013h;中断陷阱 ljmp extjda fok equ p3.7;定义为串口接收模块数据 ok kgj equ p0.1;定义手机开关机控制端 sx eq

46、u 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 s

47、con,#50h;设置成串口 1 方式 mov tmod,#20h;波特率发生器 t1 工作在模式 2 上 mov th1,#0fdh;预置初值(按照波特率 9600bps 预置初值) mov tl1,#0fdh;预置初值(按照波特率 9600bps 预置初值) setb tr1;启动定时器 t1 mov pcon,#10000000b;设定 smod 为 1,波特率翻倍! ;以上完成串口 19200 通讯初始化设置 lcall yusj;开机清除接收短消息手机号码 ;clr kgj;打开手机 mov dptr,#1000;延时 1 秒 lcall delayxms;开机延时 setb kgj

48、;复位手机控制 ;mov dptr,#10000;延时 10 秒 ;lcall delayxms;开机延时 lcall ateok;开机发送 ate 指令! lcall cnmi ;发送(at+cnmi=1,1,0,0,1),短信到达 te lcall scqbdx;调用删除 sim 卡中所有短信的子程序 ;完成和手机通信握手,和 sim 卡删除所有短消息初始化 start: lcall xrdxzx;调用询问手机 sim 卡中短信中心号码子程序 lcall xrsj;读出授权电话号码及密码,写入内存中 mov 7fh, #46h lcall mjcs lcall mjcs clr sx;模块

49、上线 ;* kks: jb ri,uarti;检测到 ri 变 1 就退出 jnb bj,baojin jb ri,uarti;检测到 ri 变 1 就退出 jnb dy,dybj jb ri,uarti;检测到 ri 变 1 就退出 jnb cm,cmbj jb ri,uarti;检测到 ri 变 1 就退出 jnb xl,xlbj jb ri,uarti;检测到 ri 变 1 就退出 jnb jj,jjbj ajmp kks ;* dybj: lcall fdybj ajmp kks cmbj: lcall fcmbj ajmp kks xlbj: lcall fxlbj ajmp kks

50、 jjbj: lcall fjjbj ajmp kks ;报警程序 baojin: lcall cpas;调用模块状态报告子程序 mov a,25h cjne a,#34h,baojin1;判断串口数据 ajmp baojin3;如果模块正在呼出或通话,就退出 baojin1: lcall cpas mov a,25h cjne a,#34h,baojin2 ajmp baojin3 baojin2: lcall ath;调用串口发送 ath 挂机子程序 lcall pdok;判断手机是否回答 ok? jz baojin2;如果没有检测到 ok,重复发 lcall fbjdx mov dptr

51、,#5000;延时 5 秒 lcall delayxms lcall atd;调用串口发送子程序 baojin3: ajmp kks ;* ;* ;进入串口中断方式接收 uarti: clr ri;清楚串口中断标志 lcall pdda;调用串口接收 0d/0a 数据子程序 lcall pdri;等待下一个串口数据 mov a,sbuf;将串口寄存器中接收到的数据给 a cjne a,#2bh,pdrd;判断串口数据+pdr clr ri;软件清除串口中断标记 lcall pdri;等待下一个串口数据 mov a,sbuf;将串口寄存器中接收到的数据给 a cjne

52、a,#43h,exitt1;判断串口数据 c clr ri;软件清除串口中断标记 lcall pdri;等待下一个串口数据 ;+cmti: sm,7 短信到达存放位置 mov a,sbuf;将串口寄存器中接收到的数据给 a cjne a,#4dh,exitt1;判断串口数据 m clr ri;软件清除串口中断标记 lcall pdri;等待下一个串口数据 mov a,sbuf;将串口寄存器中接收到的数据给 a cjne a,#54h,exitt1;判断串口数据 t clr ri;软件清除串口中断标记 lcall pdri;等待下一个串口数据 mov a,sbuf;将串口寄存器中接收到的数据给

53、a cjne a,#49h,exitt1;判断串口数据 i clr ri;软件清除串口中断标记 ;检测到cmti的 ascii 码- ;跳过 7 个内存(: sm, ) mov r3,#7;定义接收数据的总长度 lcall tgsj;调用接收串口数据子程序 ;短信位置,存放在 26h 中 mov r0,#26h;数据在内存的存放位置 clr ri;软件清除串口中断标记 lcall pdri;等待下一个串口数据 mov a,sbuf;将串口寄存器中接收到的数据给 a mov r0,a inc r0;内存单元地址 0 ;跳过 8 个内存 mov r3,#8;定义接收数据的总长度 lcall tgs

54、j;调用接收串口数据子程序 lcall dxnr;解析短信内容 exitt1: ljmp exitt pdrd: lcall ring;电话呼入提示 exitt: clr ri;软件清除串口中断标记,退出串口中断 ajmp kks ;* ring:;电话呼入提示 clr ri;清楚串口中断标志 mov a,sbuf;将串口寄存器中接收到的数据给 a cjne a,#52h,ring1;判断串口数据 r clr ri;软件清除串口中断标记 lcall pdri;等待下一个串口数据 mov a,sbuf;将串口寄存器中接收到的数据给 a cjne a,#49h,ring1;判断串口数据 i clr

55、 ri;软件清除串口中断标记 lcall pdri;等待下一个串口数据 mov a,sbuf;将串口寄存器中接收到的数据给 a cjne a,#4eh,ring1;判断串口数据 n clr ri;软件清除串口中断标记 lcall pdri;等待下一个串口数据 mov a,sbuf;将串口寄存器中接收到的数据给 a cjne a,#47h,ring1;判断串口数据 g clr ri;软件清除串口中断标记 lcall pdda;调用串口接收 0d/0a 数据子程序 mov dptr,#100;延时 0.1 秒 lcall delayxms ;发送 at+clcc lcall clcc;调用来电显示

56、指令子程序 ;跳过 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 秒内没检查到铃音,就退出 ;

57、震铃 2 次后关机,解防/设防 ;震铃 5 次后进入通话状态 ;跳过 8 个内存 mov r3,#8;定义接收数据的总长度 lcall tgsj;调用接收串口数据子程序 ;* pdlyt: ;发送 at+cpas,模块状态报告 mov r2,#30 zlykk1: mov dptr,#500;延时 0.5 秒 lcall delayxms lcall cpas;调用模块状态报告子程序 mov a,25h cjne a,#30h,zl1 ajmp zlyk;如果没有检测到呼入,就进入振铃遥控 zl1: djnz r2,zlykk1 mov r2,#15 zlykk2: mov dptr,#500

58、;延时 0.5 秒 lcall delayxms lcall cpas;调用模块状态报告子程序 mov a,25h cjne a,#30h,zl2 ajmp ring2;如果没有检测到呼入,就退出 zl2: djnz r2,zlykk2 ;* lcall ata;应答 ring1: ajmp ring2 gj: mov dptr,#500;延时 1 秒 lcall delayxms lcall ath;调用串口发送 ath 挂机子程序 ajmp ring2 zlyk: mov dptr,#500;延时 0.5 秒 lcall delayxms lcall cpas;调用模块状态报告子程序 mo

59、v a,25h cjne a,#30h,zlykk1;如果没有检测到呼入,就退出 jb jsf,zlyk1 setb jsf;设防 ajmp ring2 zlyk1: clr jsf;解防 ring2: ret ;* ;* dxnr:;信息内容检测 mov dptr,#2000 lcall delayxms lcall cmgr;调用读短信子程序 mov r3,#42;跳过 40 个数据 lcall tgsj;调用跳过串口数据子程序 lcall dxjcd;检测电话号码 jz dpdsq;如果电话号码是默认值,就检测信息内容 ;跳过 20 个内存(含 0 4) mov r3,#20;定义接收数

60、据的总长度 lcall tgsj;调用接收串口数据子程序 ;* pdcx:;查询信息 clr p0.4 clr ri;软件清除串口中断标记 lcall pdri;等待下一个串口数据 mov a,sbuf;将串口寄存器中接收到的数据给 a cjne a,#36h,pdjf;判断串口数据 6 clr ri;软件清除串口中断标记 lcall pdri;等待下一个串口数据 mov a,sbuf;将串口寄存器中接收到的数据给 a cjne a,#37h,pdjf;判断串口数据 7 clr ri;软件清除串口中断标记 lcall pdri;等待下一个串口数据 mov a,sbuf;将串口寄存器中接收到的数

温馨提示

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

评论

0/150

提交评论