基于tc35的远程控制 - 图文

更新时间:2024-04-06 03:01:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

烟台工程职业技术学院

机电工程 系 应用电子 专业 2008 级

毕业设计(论文)

题 目: 基于GSM模块的远程控制系统

姓名 付建伟 学号 20080009

指导教师(签名)

二○ 年 月 日

烟台工程职业技术学院毕业设计(论文) 诚 信 承 诺 书 本人慎重承诺: 我所撰写的设计(论文)《 基于GSM模块的远程控制 》是在老师的指导下自主完成,没有剽窃或抄袭他人的论文或成果。如有剽窃、抄袭,本人愿意为由此引起的后果承担相应责任。 毕业论文(设计)的研究成果归属学校所有。 学生(签名) 年 月 日

目录

摘要????????????????????????????1 前言????????????????????????????2 一、 远程控制的介绍 ????????????????????3 (一) 远程控制的前景及发展现状??????????????3 (二) 远程控制的应用领域?????????????????4 (三) 远程控制的实现方法?????????????????4 二、GSM模块的介绍 ?????????????????????6 (一) 基于GSM模块远程控制的介绍 ?????????????6 (二) 短消息的介绍 ????????????????????6 (三)AT指令的介绍????????????????????7 (四) AT指令上位机的调试?????????????????8 三、系统的硬件设计 ?????????????????????11 (一) 系统的原理图 ????????????????????11 (二)单片机模块??????????????????????11 (三)TC35模块 ??????????????????????11 (四)电源模块???????????????????????12 (五)SIM卡模块 ??????????????????????12 四、系统的软件设计 ?????????????????????13 (一)控制方式的研究及选择 ????????????????13 (二)系统软件的整体流程图?????????????????13 (三)发短信息的控制????????????????????15 (四)接受信息的控制????????????????????17 (五)系统软件的调试????????????????????21 五、总结 ??????????????????????????24 致谢 ????????????????????????????25 参考文献 ??????????????????????????26

摘要

本文以GSM移动网络作为信息传输平台,设计了一个通过短消息进行远程控制的系统。本系统采用回馈短信的方式获取当前系统的状态,从而更加安全的实现了对远程系统的控制。

短消息控制遵循GSM的标准AT指令集,这里着重介绍了和本课题相关的AT指令,采用了TEXT编码方式实现对GSM模块的控制,同时实现TEXT方式的解码和编码,对短消息的控制。

本课题的任务是实现基于短消息的远程控制系统,用户可以通过手机发送短信对远程系统进行控制,如对远程家用电器的控制。通过对短信息的收发,实现了对远程系统的控制。

1

前言

进入20世纪90年代后期以来,计算机、信息、电子、控制、通信等技术得到了迅速的发展,

现在家庭更加注重生活品质,健康,安全,舒适,便捷成了人们的迫切需要,远程控制系统为智能家电的一个重要组成部分,为人们提供方便、安全、智能化,舒适的数字化生活提供了解决的方案。现有的远程控制方式主要有以下两种:因特网和固定电话网,两种远程监控控制方式存在不足,前者必须再能上网的前提才能实现对远程设备的控制,而后者通过固定电话远程控制必须是一种有线的控制,受到了极大的束缚,因此它们在简洁、方便、灵活、实时等方面难以满足要求。

GSM短信息数字通信平台利用GSM短消息进行远程无线控制,它具有通信成本低,不受通信线路及地区限制、保密性高、可靠性高、抗干扰能力强,使用方便、灵活,通信快捷等特点。

GSM(Global Systemfor Mobile communication)系统是目前基于时分多址技术的移动通信体制中,比较成熟完善,且应用最广泛的一种系统。目前已建成的覆盖全国的 GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式。基于 GSM的短信息服务,是一种在移动网络上传送简短信息的无线应用,是一种信息在移动网络上储存和转寄的过程。由于公众 GSM网络在全球范围内实现了联网和漫游,建立上述系统不需再组建专用通信网络,所以具有实时传输数据功能的短信应用将得到迅速普及。本论文设计基于 GSM网络的无线传输系统正是借助该网络平台,利用短信息业务实现数据的自动双向传递。从而实现远程设备的控制。

2

一、远程控制的介绍

远程控制是指通过有线或者是无线等传输方式,使用远程终端如手机、个人电脑,电话等,对连接在网络中的设备进行遥控,使远程设备接收命令进行相应的动作。比如,通过手机操控家中的电热水器、空调的启动。 (一)远程控制的前景及发展现状

进入20世纪90年代后期以来,数字化技术取得了更加迅猛的发展,随着internet网向普通家庭生活不断扩展,消费电子、计算机、通讯一体化趋势日趋明显,传统的家用电器行业也带来了新的革命,网络家电悄然进入到人们的生活中。而远程控制技术是不可缺少的一门关键性技术,起到了至关重要的作用。

国内外的远程控制技术基本上都是专用的遥控终端或者是个人电脑,而随着移动通信的快速发展,其中GSM系统是目前基于时分多址技术的移动通信体制中比较成熟、完善、应用最为广泛的一种系统。SMS短信服务时GSM系统中提供的一种GSM终端直接,通过服务中心进行文本信息收发的应用服务,它具有传输速度快,费用低,不占用语音通信通道等特点,已得到越来越多的系统运营商和系统开发商的重视,所以具有实时传输数据功能的短信息应用得到了迅速普及,以GSM网络作为数据无线传输网络,可以开发出各种前景极其乐观的各类应用,如无线数据的双向传送、无线远程控制。利用GSM短信息系统进行无线通信,性能稳定,为远程数据传送和控制的主要动向。

2003年,松下电器开始出售命名为“生活网络”的手机远程控制的家电网络制品,生活网络产品种类有空调、微波炉、洗衣机和电冰箱等。可以帮助用户通过远程控制的方式控制家中的电器。

广大的普通收入的消费者,同样有对远程控制的网络家电所带来的便捷与实用的消费需求。但就中国家庭目前的状况来看,一方面家庭里已经存在了大量传统的家电,并且数量还在持续增长;目前已建成的覆盖全国的GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式。由于GSM网络在全国范围内实现了联网和漫游,具有网络能力强的特点,用户无需另外组网,在极大提高网络覆盖范围的同时为客户节省了安规建网费用和维护费用。同时,它对用户的数量也没有限制,克服了传统的专网通信系统投资成本大,维护费用高,且网络监控的覆盖范围和用户数量有限的缺陷。比起传统的集群系统在无线网络覆盖在具有无法比拟的优势,加上GSM的SMS本身具备的数据传递功能,因此,短消息业务在远程智能控制系统中得到了广泛的应用,基于GSM短消息的远程控

3

制系统,克服了电话远程家电控制系统电话费用高,控制时间长等缺点,具有良好可扩展性和实用价值。

鉴于中国目前一般家庭的现状,中国拥有庞大的手机和家电用户。一旦家电市场和手机市场能够在远程控制技术下融合,将为运营商和家电企业带来更为巨大的利润,短信息通信时一直崭新的通信方式,它具有开发方便、费用低、免维护、可靠性高等特点,因此,针对现阶段,我们可以在传统家电的基础上,利用普及极广的手机的短信息业务并用廉价的成本开发家电远程控制系统,用以来实现一些简单、实用的远程控制功能以满足人们的日常需要。 (二)远程控制的应用领域

此类型GSM远程控制不受距离的限制,对于一些没有固定电话的地方,显得尤为重要。主要应用列举如下:

1、控制多个水泵:例如要操作远方的水泵:只要用手机发短信控制与GSM远程控制器相连接的水泵,捷便可打开水泵。之后随时都可以查询水泵是否通电了,随时都可以再次发短信关闭水泵。最大电流可以达到30A,完全满足水泵的要求。控制多个水泵,可以接多个继电器即可。

2、控制电饭煲:假如要操作家中的电饭煲:下班前给家中控制装置发短信,就可以远程打开插电饭煲的插座,之后可随时查询或关闭。

3、控制门窗:与电磁铁式门栓相给合,可以GSM远程控制,也可以钥匙打开,是智能门的一个发展方向。 与控制窗的电机相连,可以远程控制窗的开闭,特别是在下雨的时候更为方便。

4、控制各类阀门:与电磁阀相结合,可GSM远程控制水、气、油等各类阀门,包括酸、碱等化工产品的阀门。

5、控制工控机、服务器远程开机复位:可作为连续运行网络设备(如:工控机、服务器等)的远程开机、复位控制。

6、控制无人值守的基站、服务器:控制某些需要无人职守的基站,节省人力物力,控制里面的设备如:服务器\\空调\\风机等的工作时间\\工作状态等。 (三)远程控制的实现方法

远程控制的方式包括有线方式、通信速度达到1Mbps可配备手机与笔记本电脑等上面的无线方式“蓝牙”,以及通信速度仅2400bps但提供通信质量稳定的“特定小功率

4

无线方式”等。在远程控制方面采用蓝牙方式,主要原因是其通信速度快。但是蓝牙方式的最大弱点是通信距离太短而无法实现远距离控制。有线方式主要通过电话线或者是Internet网接入网络进行的远程控制,但是其受到了距离和费用的限制。

5

二、GSM模块的介绍

GSM模块,是将GSM射频芯片、基带处理芯片、存储器、功放器件等集成在一块线路板上,具有独立的操作系统、GSM射频处理、基带处理并提供标准接口的功能模块。GSM模块具有发送SMS短信,语音通话,GPRS数据传输等基于GSM网络进行通信的所有基本功能。简单来讲,GSM模块加上键盘、显示屏和电池,就是一部手机。 开发人员使用ARM或者单片机通过RS232串口与GSM模块通信,使用标准的AT命令来控制GSM模块实现各种无线通信功能,例如:发送短信,拨打电话,GPRS拨号上网等。基于GSM模块产品的开发往往都是基于ARM平台,使用嵌入式系统进行开发。有些GSM模块具有“开放内置平台”功能,可以让客户将自己的程序嵌入到模块内的软件平台中。 (一)基于GSM模块远程控制的介绍

GSM短信息数字通信平台利用GSM短消息进行远程无线控制,它具有通信成本低,不受通信线路及地区限制、保密性高、可靠性高、抗干扰能力强,使用方便、灵活,通信快捷等特点。GSM(Global Systemfor Mobile communication)系统是目前基于时分多址技术的移动通信体制中,比较成熟完善,且应用最广泛的一种系统。目前已建成的覆盖全国的 GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式。基于 GSM的短信息服务,是一种在移动网络上传送简短信息的无线应用,是一种信息在移动网络上储存和转寄的过程。由于公众 GSM网络在全球范围内实现了联网和漫游,建立上述系统不需再组建专用通信网络,所以具有实时传输数据功能的短信应用将得到迅速普及。本论文设计基于 GSM网络的无线传输系统正是借助该网络平台,利用短信息业务实现数据的自动双向传递。从而实现远程设备的控制。 (二)短消息的介绍

手机的短消息是通信公司提供的一种独特的沟通方式。与话音服务不同,它通过短消息服务中心在网络和手机间传递的是文字、图形等可视信息,使沟通更温馨,更完美。 手机对手机的短消息收发支持中、英文方式,一条短消息最多可包含160个英文字符或70个汉字信息。

短消息特点:

1、不会遗漏和错过任何信息

2、短消息以其独特的信息到达方式及信息存贮特点,成功弥补了受网络覆盖范围,外界条件影响的缺陷,即使手机关机,短信息中心也将在一定时间内保存这些信息,当

6

重新开机时,短消息中心将及时把这些信息发送给接收人。

3、有效节省话费,短消息服务免基本月使用费,按条计费。 (三)AT指令的介绍

AT 即Attention,AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter, TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。通过TA,TE发送AT指令来控制移动台(Mobile Station,MS)的功能,与GSM 网络业务进行交互。用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。90年代初,AT指令仅被用于Modem操作。没有控制移动电话文本消息的先例,只开发了一种叫SMS BlockMode的协议,通过终端设备(TE)或电脑来完全控制 SMS。几年后,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM研制了一整套AT指令,其中就包括对SMS的控制。AT指令在此基础上演化并被加入GSM07.05标准以及现在的GSM07.07标准,完全标准化和比较健全的标准。如:对SMS的控制共有3种实现途径:最初的BlockMode;基于AT指令的TextMode;基于AT指令的PDUMode。到现在PDUMode已经取代BlockMode,后者逐渐淡出。GSM模块与计算机之间的通信协议是一些AT指令集,AT指令是以AT作首,字符结束的字符串,AT指令的响应数据包在中。每个指令执行成功与否都有相应的返回。其他的一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。

AT指令包括AT指令集的一般命令、 呼叫控制命令、网络服务命令、安全 命令、电话簿命令、短消息命令、追加服务命令、数据命令、传真命令、第二类传真命令、V24-V25命令、特殊AT命令、SIM卡工具箱命令等。本文着重介绍呼叫控制命令和短信息命令。

呼叫命令包括:

1、ATD 拨号命令。这个命令用来设置通话、数据或传真呼叫。 通过ATD10086;回车发送给GSM模块即可拨打10086热线。 2、ATH 挂机命令。

3、ATA 接电话。 短信息命令包括:

1、AT+CSMS 选择消息服务。支持的服务有GSM-MO、SMS-MT、SMS-CB。

7

2、AT+CNMA 新信息确认应答。

3、AT+CPMS 优先信息存储。这个命令定义用来读写信息的存储区域。 4、AT+CMGF 优先信息格式。执行格式有TEXT方式和PDU方式。 5、AT+CSAS 保存设置。保存+CSAS和+CSMP的参数。 6、AT+CRES 恢复设置。

7、AT+CSDH 显示文本方式的参数。

8、AT+CNMI 新信息指示。这个命令选择如何从网络上接收短信息。AT+CNMI=2,1回车发送,设置有新短信息提示功能。

9、AT+CMGR 读短信。信息从+CPMS命令设定的存储器读取。AT+CMGR=1回车发送,固定读取第一条信息。

10、AT+CMGL 列出存储的信息。

11、AT+CMGS 发送信息。 AT+CMGS=13800138000回车发送,向13800138000发送信息,模块返回>,在输入短息内容发送0x1a回车发送。 12、AT+CMGW 写短信息并存储。 13、AT+CMSS 从存储器中发送信息。 14、AT+CSMP 设置文本模式的参数。

15、AT+CMGD 删除短信息。删除一个或多个短信息。 16、AT+CSCA 短信服务中心地址。 17、AT+CSCB 选择单元广播信息类型。 18、AT+WCBM 单元广播信息标识。

19、AT+WMSC 信息状态(是否读过、是否发送等等)修正。 20、AT+WMGO 信息覆盖写入。

21、AT+WUSS 不改变SMS状态。在执行+CMGR或+CMGL后仍保持UNREAD。 (四)AT指令上位机的调试

任何一个TC35模块首次使用时,必须要测试其工作是否正常,由于其自带RS232接口,所以我们可以用PC机的串口调试软件进行调试。 1、启动串口调试软件(见界面)

8

串口调试软件有许多,可以使用任意一款软件,也可以使用WINDOWS自带的“超级终端\。设置波特率19.2k,这是TC35的默认波特率,首次连机可以从2400~57.6k不断测试,直到TC35有应答。

2、发送“AT\AT 回车, 返回AT OK,说明连接成功。

3、改变波特率“AT+IPS=XXXX\TC35的默认波特率是19.2k,实际使用时,可以改成9600或38.4K,方法如下: AT+IPR=9600 回车 4、短信模式的设置

GSM模块的短信模式有2种。第1种是:TEXT模式;第2种是:PDU模式。PDU模式可以采用unicode编码发送英文、汉字。但合成PDU码比较复杂,而TEXT模式只能发送英文,但无须编码。实际使用可以采用TEXT模式。设置如下:AT+CMFG=1 回车

5、 短信读取方法AT+CMGR=X回车如果有短信息,TC35回应:AT+CMGR=1 +CMGR:\:24:32+02 testOK OK

6、短信息分析:“test OK\Ic卡有关,序号从1-N。REC UNREAD\:代表短信息未读过。REC READ\:已读过。13307496548\:

9

接收的手机号码。04/08/17,22:24:32+02\:短信息发送的时间。无短信息,TC35回应:AT+CMGR=3+CMGR:0,,0

7、短信的删除方法 AT+CMGD=1回车

8、短信的发送方法分成两步:发送接收的手机号码,等待应答:“>\

AT+CMGS=\回车(目的地址)TC35回应:AT+CMGS=\。输入短信息的内容(只能是英文):Test 回车。即将信息发出去了

9、拨打电话的方法,通过ATD10086;回车。发送给GSM模块即可拨打10086热线。 10、接电话指令,当来电话的时候GSM模块向串口发送RING ,当串口接收到RING时,通过指令ATA回车,即可接听电话。

10

三、系统的硬件设计

整个远程控制系统包括TC35模块、单片机模块、以及电源模块等组成。通过单片机串口控制TC35使其进行收发短信息来完成远程控制。 (一) 系统的原理图

电源模块通过芯片REG1117-3.3V为TC35模块提供3.3V的电压。单片机和TC35模块进行通信,作为整个系统的核心控制部分,通过串口和PC通信。

Tc35模块 串口通信串口通信远程gsm设PC机 89s52单片机 备

(二)单片机模块

系统中核心控制部分为51单片机。8位CPU·4kbytes 程序存储器(ROM) (52为8K) 256bytes的数据存储器(RAM) (52有384bytes的RAM) 32条I/O口线·111条指令,大部分为单字节指令 21个专用寄存器,2个可编程定时/计数器·5个中断源,2个优先级(52有6个) ,一个全双工串行通信口,外部数据存储器寻址空间为64kB,外部程序存储器寻址空间为64kB ,逻辑操作位寻址功能·双列直插40PinDIP封装 ,单一+5V电源供电。完全满足本系统中的要求。 (三)TC35模块

TC35 模块性能指标:信息传送内容:语音和数据。电源:单电源 3.3V ~ 5.5V ;频段:双频GSM900MHz 和 DCS1800 MHz(Phase 2+);发射功率:2W (GSM900MHz Class 4) 1W (DCS1800MHz Class 1) ;SIM 卡连接方式:外接;天线:由天线连接器连接

11

外部天线;温度范围:工作温度:-20°C to +55°C ;储存温度:-30°C to +85°C;工作电流损耗;通话模式: 300mA (典型值.);空闲模式: 3.5mA (最大值);省电模式: 100μA (最大值);语音解码标准 三种速率: 半速 (ETS 06.20) 全速(ETS 06.10) 增强型全速 (ETS 06.50/06.60/06.80);短信息:TEXT和 PDU 模式;外型尺寸:54.5 x 36 x 6.7mm;音频接口:模拟信号(麦克风,耳麦,免提手柄) ;通讯接口:RS232(指令和数据的双向传送);SIM卡操作电压: 3V/1.8V ;电话薄功能: 存储于SIM卡中;模块复位: 采用AT指令或掉电复位;串口通讯波特率: 300bps...115kbps 自动波特率范围; 4.8kbps...115kbps ;软件下载功能:通过RS232或SIM接口;实时时钟: 可实现(时钟频率32.768KHz);定时器功能: 可用AT命令编程。

(四)电源模块

电源模块从电源适配器中输出5V,一路通过芯片REG1117-3.3V为TC35模块提供3.3V的电压,另一路直接给单片机供电。 (五)SIM卡模块

连结方式

(接27脚)CLK—— ——(接26脚)I/O(斜角) (接25脚)RST—— ——(悬空)VPP (接28脚)VCC—— ——(接29脚)GND

12

四、系统的软件设计

软件部分作为系统的核心部分,主要通过单片机嵌入式方式编程,程序主要包括短信的接受和发送,其中接受中包含了对短信内容的判断并根据不同的短信内容执行不同的动作。

(一)控制方式的研究及选择

远程控制设备,通常只完成数据的采集、处理和控制,任务相对单一、固定,无须使用功能强大的台式机来完成。考虑到节能和安装方便,控制器多为嵌入式系统。根据整个无线远程控制系统所要实现的功能,和对数据处理与对远程控制能力的要求,控制器设计的复杂程度和采用的具体技术是不一样的,可以选用多种设计方式。在本课题中,只是对远程设备进行通断的控制,不需要很强的实时功能,对数据处理要求不高,运算量也不大。所以选择了基于单片机的实现方式,以降低成本和控制功耗。

对于嵌入式系统来说,其软件部分的设计一般有两种模式:一种是前后台系统模式,一种是引入操作系统后的多任务模式。

第一种模式的一般做法是写一个无限循环的主程序,在程序中查询每个事件是否发生,每个任务是否具备运行条件,如果是,则处理这个事件或执行某个任务,这可以看 成是后台程序。而系统对中断的响应则可以看成是前台程序,中断的调入表示事件的发生,在中断服务子程序中,一般对中断做一些简单的处理,然后给出某事件已经发生的标志,待后台程序来处理。这种模式的优点是编写较为简单。

第二种模式采用嵌入式操作系统,目前嵌入式操作系统的种类很多,根据实时性分有硬实时的操作系统,也有软实时操作系统。这种模式的优点是实时性好,缺点是操作系统本身占用的ROM和RAM较多。

本设计中,远程系统的主要控制单元选用的是51单片机,其RAM较小,达不到嵌入式系统所要求的RAM的大小要求,此外,本课题选用基于单片机的设计方案,通常不需要移植操作系统。而且系统的任务相对比较简单,且实时性要求也不高,所以本设计采用模式一,软件开发采用C语言,用Keil uVision3 进行编程。 (二)系统软件的整体流程图

13

开始 开中断 开机(串口初始化) 短消息设置初始化 删除第一条短信固定读取第一条短信息 检测短信内容并分支执行 接电话函数

软件系统包含主函数和中断函数系统,主函数主要作一些初始化工作,对串口中断,和外部中断进行初始化,再通过相应的一些AT指令对TC35进行控制,对其短消息设置进行一些初始化工作。对短信的判断分析并执行不同的动作。中断函数主要对是否有来电和来信息进行判断,对短信内容进行接受。并交由主函数进行相应。 相应的主函数代码为: void main() {

EA = 1; //开总中断 EX0 = 1; //开外部中断0

IT0 = 0; //设置外部中断0为电平触发方式 kaij(); //进行串口的初始化

init_duanxin(); //短信格式初始化设置GMS字符集,来短信提示 fscmgd(); //发送AT+CMGD=1,删除第一条短信

14

fdx(hw); // 需要发送的字符复制到hw数组,传递到fdx()函数 while(1) {

fscmgr(); //发送AT+CMGR=1,读第一条短信--暂存短信内容到数组 jcdx(); //检测短信内容并分支执行 jdh(); //接电话函数 } }

(三)发短信息的控制

短消息的发送过程如下图所示,先是用户通过GSM网络发送到短消息服务中心,再由短消息服务中心通过GSM网络发送到远程系统中。

所以短消息的发送包括两部分,一是先设置本地区的消息中心号码,然后发送短信息,将短消息发送到短消息服务中心,并由消息服务中心将短信发送到远程设备。 消息中心号码的设置正确与否是决定信息能否发送出去的关键所在,本地区短信中心号码可以到百度去搜索一下,也可拨打10086热线来获得。

设置消息中心号码的AT指令为:AT+CSCA=+8613800535500回车,将消息中心号码设置为+8613800535500;发送消息的AT指令为:AT+CMGS 发送信息。 AT+CMGS=13800138000回车发送,向13800138000发送信息,模块返回‘>’,在输入短息内容发送0x1a回车发送。

15

发送AT指令来进行消息中心号码的函数如下: void fscsca() //发送AT+CSCA=+8613800535500 { }

通过本程序将消息中心号码设置为+8613800535500; 发送AT指令来进行短消息的发送函数如下: void fscmgs() //发送AT+CMGS=13800138000 {

ES = 0; //发送数据,关掉串口中断 i = 0;

while(cmgs[i]!='\\0') // cmgs[]={\{

SBUF = cmgs[i];

while(!TI) ; //等待数据发完 TI = 0; i++;

ES = 0; //发送数据,关掉串口中断 i = 0;

while(csca[i]!='\\0') //写入数据 {

SBUF = csca[i];// csca[]=\while(!TI) ; //等待数据发 TI = 0; i++; }

SBUF=0x0d; while(!TI); TI = 0;

ES = 1; //允许串口中断

16

}

}

SBUF = 0x0d; while(!TI); TI = 0;

ES = 1; //允许串口中断

执行了这个指令后,如何指令发送成功的话,则GSM模块返回‘>’,则继续执行下面的指令,将数据发送出去。

void fsduanxin(char *ptr2) //只发内容 {

ES = 0; //发送数据,关掉串口中断 while(*ptr2) {

SBUF = *ptr2; ptr2++;

while(!TI) ; //等待数据发完 TI = 0; }

SBUF = 0x1a; while(!TI); TI = 0;

ES = 1; //直接打开串口中断 }

这个命令将指针ptr2的数据一短消息的形式发送到了指定的号码上。 (四)接受信息的控制

信息的接受和判断分析是本设计的重点也是难点,不仅要成功的接受到短信息而且还得正确的分析出短信的内容,并根据不同的内容去执行不同的动作,从而是实现了远程控制。

系统一直在扫描,执行固定读取第一条短消息,如果有短消息就进行分析并执行相

17

应的动作,并将第一条短消息删除,以便下次进行读取。如果没有消息继续循环读取。 短消息删除的AT指令为:AT+CMGD=X,X代表删除第X条信息,因为这里只是固定删除第一条信息,所以其AT指令为AT+CMGC=1其代码为: void fscmgd() //发送AT+CMGD=1,删除第一条短信 { }

短消息读取的AT指令为:AT+CMGR=X,X代表读取第X条信息,因为这里只是固定读取第一条信息,所以其AT指令为AT+CMGR=1。

当读取短消息的AT指令发送完成了,GSM模块就开始向串口发送短信息的内容,短信息的内容包括了:+CMGR:\UNREAD\96548\:24:32+02 testOK OK短信息分析:“test OK\REC UNREAD\:代表短信息未读过。REC READ\:已读过。13307496548\:接收的手机号码。04/08/17,22:24:32+02\:短信息发送的时间。因此真正的短消息内容在65字符之后,所以,读取65个字符以后的内容,并把它存在数组中,这就是短消息的内容了。 void fscmgr() //发送AT+CMGR=1,读第一条短信,并分析短信 {

ES = 0; //发送数据,关掉串口中断 i = 0;

while(cmgd[i]!='\\0') //写入数据 {

SBUF = cmgd[i];

while(!TI) ; //等待数据发完 TI = 0; i++; }

SBUF = 0x0d; while(!TI); TI = 0;

ES = 1; //允许串口中断

18

uchar jj = 0; uchar kk = 0; uchar ll = 0;

if(dxkg==1) //用于中断法的 {

delayms(30); //等待来短信后面的数据发完 ES = 0; //发送数据,关掉串口中断 i = 0;

while(cmgr[i]!='\\0') //写入数据 {

SBUF = cmgr[i];

while(!TI) ; //等待数据发完 TI = 0; i++; }

SBUF = 0x0d; while(!TI); TI = 0;

ES = 1; //允许串口中?

while(jj<65) //读取65个字符之后的内容

{

i = 0;

while((bb==0)&&(i<70000)) { i++; } jj++; bb = 0; }

19

}

while(kk<2) // 共读取连个字符作为短信的内容 { i=0;

while((bb==0)&&(i<70000)) { i++; }

mml[ll] = aa;//将短消息的内容存在mml数组中 bb = 0; kk++; ll++; }

dxkg = 0; //读短信这个开关也会打开 delayms(77);

sbkg = 1; //使能短信识别开关,让主程序识别短信命令 } //用于中断法的

短消息的判断通过一个c语言库函数strcmp()来实现,此函数的原型为原型:extern int strcmp(const char *s1,const char * s2); 功能:比较字符串s1和s2。当s1s2时,返回值>0。短消息的判断分析的具体函数为:

if(strcmp(mml,led_k1) == 0)

{

led1=0; }

if(strcmp(mml,led_k2) == 0) { led2=0; }

20

if(strcmp(mml,led_k3) == 0) {

led3=0; }

if(strcmp(mml,led_k4) == 0) { led4=0; }

if(strcmp(mml,led_k5) == 0) { led5=0; }

(五)系统软件的调试

先通过PC端和TC35相连接,通过各种AT命令对模块进行控制,看起发送接收的格式,了解后,再将单片机和TC35模块相连接,让单片机来控制TC35模块,先进行简单测试命令,当单片机向TC35发送ATE握手命令时,如果发送成功TC35将向单片机串口发送OK。代码为: void fsate() //发送ATE {

21

}

ES = 0; //发送数据,关掉串口中断 i = 0;

while(ate[i]!='\\0') //写入数据 {

SBUF = ate[i];

while(!TI) ; //等待数据发 TI = 0; i++; }

SBUF=0x0d; while(!TI); TI = 0;

ES = 1; //允许串口中断

如果测试程序正常说明单片机和TC35通信正常。再进行下一步的调试编程,进行打电话的测试,测试程序为: void jdh() //发送atd10086; {

ES = 0; //发送数据,关掉串口中断 i = 0;

while(atd[i]!='\\0') //写入数据 {

SBUF =atd[i];

while(!TI) ; //等待数据发 TI = 0; i++; }

SBUF=0x0d; while(!TI);

22

}

TI = 0;

ES = 1; //允许串口中断

如果打电话命令也正常说明TC35模块注册网络正常,再进行发送接收短信息的测试,最后进行短信分析并执行动作的测试。

23

总结

本文所做的主要工作是:围绕“单片机控制GSM模块收发短信“这一热点课题,阐述了基于GSM短消息的远程控制系统的设计方案、开发方法和开发过程,介绍了主要的器件GSM模块TC35和51单片机的功能特点,讨论了本设计的关键技术,简单介绍了GSM协议、短信息业务等,包括用AT指令控制TC35模块、对英文短信进行TEXT编码等。

设计中的远程控制系统中充分利用了单片机的内部资源,尽可能地提高了可靠性。系统的完成经过了器件的选择、原理图的设计、PCB的制作,系统软硬件的调试等几个阶段。本系统满足了项目的要求,达到了对英文短信的收发的处理的目的,经过实验,已经实现了对远程设备的控制。

24

致谢

本设计在于竹林、刘永强老师的悉心指导和严格要求下完成,从课题选择、方案论证到具体设计和调试,无不凝聚着老师的心血和汗水,在三年的大学学习和生活期间,也始终感受着导师的精心指导和无私的关怀,我受益匪浅。他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他们循循善诱的教导和不拘一格的思路给予我无尽的启迪。在此向两位老师表示深深的感谢和崇高的敬意。 不积跬步何以至千里,本设计能够顺利的完成,也归功于各位任课老师的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以体现。正是有了他们的悉心帮助和支持,才使我的毕业论文工作顺利完成,在此向烟台工程职业技术学院,机电工程系的全体老师表示由衷的谢意。感谢他们三年来的辛勤栽培。

25

参考文献

[1]王廷才;《电力电子技术》;北京-高等教育出版社;2006.4

[2]李序葆,赵永健;《电力电子器件及其应用》;北京-机械工业出版社;2004.4

[3]高吉祥,唐朝京;《全国大学生电子设计竞赛培训系列教程(模拟电子电路设 计)》;北京-电子工业出版社;2007.5

[4]郭天详;《51单片机C语言教程》;电子工业出版社2009(1)

[4]徐丽香;《数字电子技术》;电子工业出版社2010(6)

[6]陈梓城;《模拟电子技术基础》;北京-高等教育出版社;2007.11

[8] 张晔 王玉民;《单片机应用技术》;高等教育出版社;2006.12

[9] 百度搜索引擎---http://www.http://www.wodefanwen.com/

26

烟台工程职业技术学院 毕业(设计)成绩评定评分表

评价基元 评价内涵 能按时完成毕业设计(论文)各阶段所要求的工作 能综合运用所学知识分析与解决问题的能力、独立工作能力和实际动手能力 工作态度认真、端正、虚心、严谨,严格遵守纪律 小计 能按任务书要求出成果 论文结构完整、合理,条理清晰,对实验方案的论述正确 能运用本学科常规研究方法及相关研究手段(如计算机、实验仪器设备等)进行实验、实践并加工处理、整合信息,实验数据可靠,实验结果正确 满分 10 14 6 30 3 5 实评分 平时成绩 30% 5 评阅成绩 30% 设计用语、格式、图纸(图表)、数据、量和单位符合国家标准,各种资料引用规范 视角新颖,主题突出,论据充分,论证有力,分析透彻,计算和结论正确 论文中所表述的基本概念清楚,基础知识和专业知识的掌握牢固扎实 文字表达通顺无误,字数符合要求 小计 答辩时基本概念清楚, 基础知识和专业知识的掌握牢固扎实 答辩过程中的自述简明无误,语言流畅 能正确回答问题,特别是本课题范围内的基本理论和基本技能问题 课题范围以外的提问仅作参考,不计分 小计 4 5 6 2 30 10 10 20 40 答辩成绩 40% 总成绩合计 100 说明:评定成绩分为优秀、良好、中等、及格、不及格五个等级,实评总分90分(含90分)以上记为优秀,80分(含80分)以上为良好,70分(含70分)以上记为中等,60分(含60分)以上记为及格,60分以下记为不及格。

27

烟台工程职业技术学院

毕业设计(论文)成绩评定评审等级表

评语: 评定等级: 指导教师(签名): 评语: 评定等级: 负责人(签名): 评语: 评定等级: 负责人(签名): 指导教师评审意见 答辩小组意见 学院抽查意见

28

烟台工程职业技术学院 毕业设计(论文)情况汇总表

系别: 班级: 序号 学 生 学号 姓名 填表时间: 类别 (设计/论文) 年 姓名 月 职称 日 总成绩 题 目 名 称 指导教师

总人数: 优秀人数: 良好人数: 中等人数: 及格人数: 不及格人数:

29

本文来源:https://www.bwwdw.com/article/q6or.html

Top