基于单片机的GPS轨迹记录系统-毕业设计 - 图文

更新时间:2024-04-20 14:32:01 阅读量: 综合文库 文档下载

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

摘 要

论文研究的GPS定位系统主要分为四大部分: GPS定位,单片机MPS430,GPRS传输及PC机用户界面部分。

GPS定位使用的是ET-662模块,而GPRS数据传输部分的核心部件GPRS模块采用了Siimcom公司SIM900A模块,MCU则使用美国TI公司低功耗MPS430单片机。在整个硬件系统中MSP430单片机作为系统的主控制芯片,接受由 GPS 模块采集到的位置信息并对 GPRS 模块进行控制,将坐标信息通过 GPRS 模块发到 Internet 上的监控电脑主机。PC 机用户部分采用的是 C#编写的界面,通过自动调用百度地图的API 函数,实时显示移动对象的位置信息,这样设计者可以在电脑上方便的监控移动对象的位置。

本文完成基于 GPS 和 GPRS轨迹记录系统的硬件电路和软件程序的设计。 硬件部分主要包括 GPS 模块、GPRS 模块和单片机的外围电路设计,PCB 电路板设计制作。软件部分则是包含了 MSP430 单片机控制 GPS 和 GPRS 模块的程序,以及用 C#编写的控制百度地图,数据库的程序。

关键词:PC机用户界面;GPS;GPRS;MPS430

ABSTRACT

The GPS positioning system of this paper can be divided into four parts: the first part is the system of GPS positioning, the second part is the GPRS transmission and the third part is the software on monitor PC,the fouth part is signal microcontroller MSP430.

The vehicle position monitoring system of this paper can be divided into three parts: the first part is the system of GPS positioning, the second part is the GPRS transmission and the third part is the software on monitor PC.

the GPS positioning uses the ET-662 module, and the GPRS module uses SIM900A which comes from Simcom Company. This paper chooses TI’s ultralow power consumption mixed signal microcontroller MSP430 as the MCU. In the hardware system, The MSP430 microcontroller works as the main control chip.GPS module gets the information of Moving objects position and sends it to the MSP430 microcontroller. Then MSP430 takes control of GPRS module and sends the information to monitor PC which is online. The software on monitor PC is written by C#, and will automatic calls baidu map API functions to take control of baidu map. The position information of Moving objects will be displayed on computer. So that users can monitor the Moving objects easily.

Key word: software on monitor PC; GPS; GPRS; MSP430

目 录

1 引 言 ............................................................................................................................. 1 2 概 述 ............................................................................................................................. 2

2.1GPS轨迹记录系统概述 ...................................................................................... 2 2.2系统设计方案思路 .............................................................................................. 2 2.3 研究方向及相关技术 ......................................................................................... 2

2.3.1研究方向 .................................................................................................... 2 2.3.2 GPS相关技术 ........................................................................................... 2 2.3.3 GPRS相关技术 ......................................................................................... 5 2.3.4上位机软件相关技术 ................................................................................ 8 2.4 主要技术指标 ..................................................................................................... 8 3 系统总体设计 ............................................................................................................... 9

3.1 总体结构框图 ..................................................................................................... 9 3.2 芯片的选择 ......................................................................................................... 9

3.3.1 GPS模块:ET-662.................................................................................... 9 3.3.2单片机模块:MSP430F196 ........................................................................ 9 3.3.3 数据传输模块:SIM900A ..................................................................... 10 3.3其他说明 ............................................................................................................ 10 4 硬件电路设计 ............................................................................................................. 11

4.1MSP430单片机电路设计 .................................................................................. 11

4.1.1 MSP430单片机介绍 ............................................................................... 11 4.1.2MSP430外围电路 .................................................................................... 12 4.2 GPS模块电路设计 ........................................................................................... 14

4.2.1GPS模块介绍 .......................................................................................... 14 4.2.2GPS模块外围电路 .................................................................................. 16 4.3 GPRS模块电路设计 ......................................................................................... 17

4.3.1 GPRS模块介绍 ....................................................................................... 17 4.3.2 GPRS模块外围电路 ............................................................................... 18

5 软件设计 ..................................................................................................................... 22

5.1 软件总述 ........................................................................................................... 22 5.2 单片机MPS430软件设计 ............................................................................... 23

5.2.1 单片机读取GPS数据 ........................................................................... 23 5.2.2 单片机发送GPS数据 ............................................................................. 23 5.3 GPS软件设计 ................................................................................................... 24 5.4 GPRS软件设计 ................................................................................................. 24 5.5 PC机软件设计 .................................................................................................. 24

5.5.1数据的标注 .............................................................................................. 24 5.5.2数据的存储 .............................................................................................. 24 5.5.3数据的调用 .............................................................................................. 24

6 系统的总体组装与调试 ............................................................................................. 25

6.1系统组装 ............................................................................................................ 25 6.2 实测 ................................................................................................................... 26 7 结束语 ......................................................................................................................... 29 致谢 ................................................................................................. 错误!未定义书签。 参考文献 ......................................................................................................................... 30 附录 ................................................................................................................................. 32

1原理图 ................................................................................................................... 32 2源程序 ................................................................................................................... 34

1 引 言

[3]

GPS系统的前身是美军研制的一种子午仪卫星定位系统(Transit), 最初的GPS计划在联合计划局的领导下诞生了,该方案将24颗卫星放置在互成120度的三个轨道上。每个轨道上有8颗卫星,地球上任何一点均能观测到6至9颗卫星。这样,粗码精度可达100m,精码精度为10m。由于预算压缩,GPS计划不得不减少卫星发射数量,改为将18颗卫星分布在互成60度的6个轨道上。然而这一方案使得卫星可靠性得不到保障。1988年又进行了最后一次修改:21颗工作星和3颗备用星工作在互成30度的6条轨道上。这也是现在GPS卫星所使用的工作方式。

GPS的应用都是基于两个基本服务 1)空间位置服务

①.定位:如汽车防盗、地面车辆跟踪和紧急救生。

②.导航:如船舶远洋导航和进港引水、飞机航路引导和进场降落、 ③.测量:主要用于测量时间、速度、及大地测绘,如水下地形测量、

地壳形变测量,大坝和大型建筑物变形监测及浮动车数据,利用GPS定期记录车辆的位置和速度信息。从而计算道路的拥堵情况。

2)时间服务

①.系统同步:如CDMA通信系统和电力系统 ②.授时:准确时间的授入、准确频率的授入

2010年,中国GPS市场发展迅速,无论是车载产品还是便携式产品,销量均较2009年有明显上升。另外,GPS产品价格在2010年出现明显下降,许多知名品牌也纷纷加大对低端市场的重视程度。从行业整体情况看,导航功能、相关增值服务正逐渐成为新的市场增长点,售后保障服务也更加规范,市场呈现良性发展趋势。

随着汽车、手机等高档消费品的普及,中国正在成为全球卫星定位导航系统(GPS)产业增长最快的市场之一。中国投资咨询网《2007年中国GPS导航市场分析及投资咨询报告》称,截至2005年底,中国安装车载导航设备的车辆不足10万辆,普及率不到1%。随着中国市场的高速发展及新品牌的层出不穷,预计GPS产业产值在2007年可接近10亿元。“十一五”期间,GPS在航空、海路、铁路、建筑、电信、电力等领域的应用都会有很大的发展空间。

智能交通、汽车自主导航及导弹制导。

1

2 概 述

2.1GPS轨迹记录系统概述

论文研究的GPS定位系统主要分为三大部分: GPS定位,GPRS传输及PC机用户界面部分。

GPS定位使用的是ET-662模块,而GPRS数据传输部分的核心部件GPRS模块采用了Siimcom公司SIM900A模块,MCU则使用美国TI公司低功耗MPS430单片机。在整个硬件系统中MSP430单片机作为系统的主控制芯片,接受由 GPS 模块采集到的位置信息并对 GPRS 模块进行控制,将坐标信息通过 GPRS 模块发到 Internet 上的监控电脑主机。PC 机用户部分采用的是 C#编写的界面,通过自动调用百度地图的API 函数,实时显示移动对象的位置信息,这样设计者可以在电脑上方便的监控获取移动对象的位置。

2.2系统设计方案思路

实际设计的主要思路是:

首先是硬件电路的设计制作:将GPS定位、GPRS通信模块、MPS430单片机、电源模块集成到一个系统板中;

然后是软件方面的设计制作:

1.通过GPS模块获取移动物体的位置信息,并将数据发送给单片机,用单片机解析GPS定位数据(因为GPS数据是一大串的,要提取里边有用的);

2.将单片机处理以后的定位数据通过GPRS无线通信方式发送到指定的电脑终端(每台电脑都有一个特定的WEB端口,将这个端口的信息写入程序中,就可以实现信息的定点传递);

3.数据库数据存储,将上位机软件从计算机WEB端口读取的数据处理后存储到数据库中;

4.上位机软件的编写,需要制作一个上位机软件界面来调用百度地图标注GPS定位信息,显示移动对象的运动轨迹,并可以对某时刻的位置信息进行查询;

2.3 研究方向及相关技术

2.3.1研究方向

设计一种GPS轨迹记录仪器,要求测量经纬度坐标,能与地图连接,实时在地图上显示位置,并记录运动轨迹,也可以根据需要查询某时间点的位置。 2.3.2 GPS相关技术[29]

? GPS 概述

2

GPS( Global Positioning System),中文译为 “全球定位系统 ”。是美国从 20世纪 70 年代开始研制,耗资 300 亿美元,于 1994 年全面建成,是具有对海上、陆地、空中进行全方位实时三维导航与定位能力的卫星导航与定位系统。GPS可在全球范围内、全天候、实时地为各类用户提供高精度的三维位置(经度、纬度、高度),三维速度和时间信息。GPS 是导航技术领域内的一项重大革命。它实质上是一种无线电导航系统,但因它吸取了现代最新科技成果,不但为载体导航和定位提供了最有效的手段,同时还具有精确授时功能[4]。GPS 初期只对军用领域开放,克林顿政府时期开始向民用领域开放,此后展现了广阔的应用前景,在大地测量、地质勘探、车辆导航定位和人员定位等领域都表现出了极大地应用价值。

? GPS 组成

GPS 系统包括三大部分[5]: 1.空间部分 —GPS 卫星星座。 2.地面控制部分 —地面监控系统。 3.用户设备部分 —GPS 信号接收机。

图 2.3.2.1 GPS 星座图

GPS 卫星星座:由24颗卫星组成,其中包含21颗工作卫星, 3颗备用卫星。24 颗卫星均匀分布在 6 个轨道平面内,每个轨道四颗卫星,轨道倾角为 55度,各个轨道平面之间相距 60 度。每个轨道平面内各颗卫星之间的升交角距相差 90 度,一轨道平面上的卫星比西边相邻轨道平面上的相应卫星超前 30 度。当地球对恒星自转一周时,它们绕地球运行二周,即绕地球一周的时间为 12 恒星时。对于地面用户来说,每天将提前 4 分钟见到一颗 GPS 卫星。位于地平线以上的卫星颗数随着时间和地点的不同而不同,最少可见到 4 颗,最多可见到 11颗。GPS 卫星星座示意图如图 2.1 所示。

地面监控系统:主要由分布在全球的 1 个地面主控站,5 个地面监测站,3个信息注入站组成。主控站是地面监控部分的中心,它位于美国科罗拉多州的Falcon 空军基地,主控站除负责管理和协调整个地面监控系统的工作外,其主要

3

任务是根据本站和其他监测站的所有跟踪观察数据,计算卫星的轨道参数,钟差参数以及大气层的修正参数,编制成导航电文并传送至各个注入站。主控站还负责调整偏离轨道的卫星,使之沿预定的轨道运行,必要时启用备用卫星代替失效的工作卫星。5 个监测站分布在美国本土和三大洋的美军基地上,其主要任务是为主控站提供卫星的观测数据。监测站是一个数据自动采集中心,监测站包含双(L1/L2)GPS 接收机,接收机天线的相对位置是精确已知的。每个监测站均用 GPS 接收机对视界内每颗卫星进行连续观测,所有观测数据连同气象数据传送到主控站,用以更新主控站的精密卡尔曼滤波器对每颗卫星位置、速度和时间的统计估计值。3 个注入站分别设在南大西洋的阿松森群岛,印度洋的迪戈加西亚岛和南太平洋的卡瓦加兰岛。其主要任务是将主控站发过来的导航电文注入到相应的卫星存储器,每天注入三至四次,此外,注入站能自动向主控站发射信号,每分钟报告一次自己的工作状态。地面监控系统示意图如下图所示:

图2.3.2.2 GPS地面监控系统

GPS信号接收机:GPS信号接收机就是用户接收设备,它处理由卫星发射来的L波段信号以确定用户的PVT(位置、速度和时间)。对于GPS接收机的要求是能迅速的捕获按一定卫星截止高度角所选择的待测卫星信号,并跟踪这些卫星的运行,对接收到的卫星信号进行变换、放大和处理,以便测定出GPS信号从卫星到接收机天线的传播时间,解译出GPS卫星所发送的导航电文,实时的计算出监测站的三维坐标、三维速度和时间等所需的数据。

? GPS原理

GPS卫星是利用测距交会的原理确定点位的。GPS卫星发射测距信号和导航电文,导航电文中含有卫星的位置信息。用户使用GPS接收机在某一时刻同时接收三颗以上的GPS卫星信号,测量出测站点(接收机天线中心)至三颗以上GPS卫星的距离并解算出该时刻GPS卫星的空间坐标,据此利用距离交会法解算出测站点的位置[[6]。其定位数学模型如下图所示:

4

图2.3.2.3 卫星定位数据模型

GPS定位是根据高速运动的卫星瞬间位置作为己知的起算数据,采用空间距离后方交会的方法,确定待测点的位置,假设T时刻在地面待测点上安置GPS接收机,可以测定GPS信号到达接收机的时间为t,再加上接收机所接收到的卫星星历等其他数据可以确定以下四个方程:

??X

??X

??X

??X

1?X???Y2221?Y???Z1?Z?2221/2??C?Vt1?Vt0??d1 (2-1) (2-2)

2?X?X?X???Y???Y22?Y???Z2?Z??Y???Z32334???Y4?Y???Z42??Z???Z??

21/2?C?Vt2?Vt0??d2?C?Vt3?Vt0??d321/2 (2-3) (2-4)

21/2?C?Vt4?Vt0??d4其中,待测点坐标为X, Y, Z以及Vto为未知参数,其中di=C*t}(i=1,2,3,4}。di(i=1,2,3,4)分别为卫星1,2,3,4到接收机之间的测码伪距。ti(i=1,2,3,4)分别为卫星1,2,3,4的信号到达接收机所经历的时间传播延时,C为光速。方程中其他参数的含义如下:X,Y,Z分别为待测点坐标的空间直角坐标。Xi,Yi, Zi(i=1,2,3,4)分别为卫星1,2,3,4在t时刻的空间直角坐标,可由卫星导航电文求的。Vti(i=1,2,3,4)分别为卫星1,2,3,4的卫星钟的钟差,由卫星星历提供,Vto为接收机的钟差。

由以上四个方程即可解出待测点的坐标X,Y,Z和接收机的钟差Vto。 2.3.3 GPRS相关技术[19]

? GPRS概述

GPRS的英文全称是General Packet Radio Service,就是常说的通用分组无线服务,是一种基于GSM系统的无线分组交换技术,提供了端到端的,广域的无线IP技术连接。GPRS经常被描述成“2.5G\,也就是说这项技术位于第二代(2G)和第三代(3G)移动通讯技术之间。它通过利用GSM网络中未使用的TDMA信道,提供中速的数据传递,理论上的传输速度能达到171kbs。

? GPRS网络结构

5

GPRS突破了GSM网络只能提供电路交换的思维方式,只通过增加GGSN(Gateway GPRS Support Node,网关GPRS支持节点)和SGSN(Serving GPRS Support Node,GPRS服务支持节点)以及对现有的基站系统进行部分改造来实现分组交换。其系统结构图如下图所示:

图2.3.3.1 GPRS系统机构图

其主要由以下几部分组成: 1.移动台MS

完整的GPRS移动台由移动设备(ME)和SIM卡组成,ME又包含移动终端(MT)和终端设备(TE),移动终端是具有TE接口,含有GPRS功能软件,可以把终端设备连接到GPRS网络。终端设备是GPRS系统用来发送和接收终端用户分组数据的部件。

2.BSS基站子系统

BSS由基站系统控制器(BSC)和一个或多个基站收发信机(BTS)组成,GPRS网络共享GSM系统的基站,但BSC需要增加处理分组数据及无线分组信道管理的PCU(分组控制单元)模块,同时还要增加新的移动性管理软件。由于GPRS采用了新的编码方案,还需要对GSM网络的BTS进行改造。

3.SGSN GPRS服务支持节点

在GPRS网络结构中,SGSN是GSM网络结构中的一个节点,它与MSC处于网络体系的同一层。SGSN通过帧中继与基站收发信机(BTS)相连,是GSM网络结构与移动台之间的接口。SGSN的主要作用是记录移动台(MS)的当前位置信息,并且在移动台和GGSN之间完成移动分组数据的发送和接收。

4.GGSN网关GPRS支持节点

GGSN通过基于IP协议的GPRS骨干网络连接到SGSN,是连接GPRS网络和外部分组交换网(如因特网和局域网)的网关。GGSN主要是接收移动台发送的数据,选路到相应的外部网络,或接收外部网络的数据,根据其地址选择GPRS网内的传输通道,传给相应的SGSN。

6

在GGSN和SGSN之间,利用隧道协议(GTP)对IP或X.25分组进行封装,实现二者之间的数据传输。

当运行GPRS业务时可能涉及到其他任何网络,这时GPRS网络通过Gi参考点和Gp接口实现同其他网络的互通。GGSN到外部网络(如Internet和其他网络X.25 , X.75是通过Gi参考点连通的,而连接其他GPRS网络是通过Gp接口连通的。Um接口是移动终端(MT)和GPRS网络进行无线连接的空间接口,并用于无线通信接入。R参考点把移动终端(MT)和终端设备(TE)结合成移动台(MS)。

图2.3.3.2 GPRS运行原理

上图所表示的是GPRS运行原理,GPRS移动台(MS)与GSM基站收发信机(BTS)通信,但与电路交换式数据呼叫不同,GPRS分组是从基站收发信机(BTS)通过基站系统控制器(BSC)的GPRS分组控制单元(PCU)发送到GPRS服务支持节点(SGSN),而不是通过移动交换中心(MSC)连接到语音网络上。SGSN与GPRS网关支持节点(GGSN)进行通信;GGSN对分组数据进行相应的处理,再发送到目的网络。

? GPRS优点

1. GPRS是在GSM网络基础上建设的,现在GSM网络基本实现了完全覆盖,基本可实现GPRS网络的完全覆盖。并且网络由国内大型运营商维护,出现故障后能够及时修复,可以保证网络稳定可靠的工作。

2. GPRS的核心网络层采用IP技术,底层可以使用多种传输技术,从而可很方便的实现与高速发展的IP网络的无缝连接。

3.传输速率高。GPRS第一阶段采用CS 1, CS2编码方案,可以提供高达115kbs的接入速率,第二阶段采用CS3, CS4编码方案,速率能达到171kbso

4. GPRS网络资费比较合适,现在国内运营商提供了多种不同流量的套餐,针对不同需求的用户,最便宜的套餐基本上是5元包30M的GPRS流量,对于本文设计的系统,30M流量绰绰有余,每月5元的资费还是十分低廉的。

5. GPRS能够充分利用现有GSM网络的频谱资源,对于国内运营商来说很有价值,所以未来很长一段时间内仍然会维持GPRS服务的运营。

7

2.3.4上位机软件相关技术

上位机软件是物联网应用中收集感知节点信息,进行显示,控制的应用控制台。此软件是一款可以使用多种语言的编写的软件,主要有两部分组成,数据收发部分和显示部分。

数据收发指的是和web端口的数据收发。两者是通过网线连接的,所以应用的是TCP/IP 的Socket 套接字编程,上位机作为连接发起方。

显示部分是指把硬件设备测量的数据用一个友好的人机界面显示出来,并进行相应的处理。

2.4 主要技术指标

1.GPS定位精度10米左右; 2.记录时间大于24小时;

8

3 系统总体设计

3.1 总体结构框图

图3.1.1 系统总体结构框图

该定位系统主要由四大部分组成: GPS定位模块部分,单片机MPS430F149部分,GPRS通信模块部分及PC机用户界面部分。

GPS模块获取移动物体的位置信息,并将数据发送给单片机,用单片机解析GPS定位数据(因为GPS数据是一大串的,要提取里边有用的);单片机处理以后的定位数据通过GPRS无线通信方式发送到指定的电脑终端(每台电脑都有一个特定的WEB端口,将这个端口的信息写入程序中,就可以实现信息的定点传递);上位机软件从计算机WEB端口读取的数据处理后存储到数据库中,并通过上位机软件界面来调用百度地图标注GPS定位信息,显示移动对象的运动轨迹,并可以实现对某时刻的位置信息进行查询。

3.2 芯片的选择

3.3.1 GPS模块:ET-662

目前市场上的GPS模块很多,如全球市占率第一的SiRFIII系列,虽然这ET-662的很多参数都不如SiRFI II的高,但是这是一个封装好的集成GPS模块,稳定性好,不易受干扰,精度高(10m),符合要求,而且它提供了一个外接串口借口,方便的实现将GPS获得的位置信息通过串口传送给单片机。从性价比考虑,我选择了ET-662这个GPS模块。 3.3.2单片机模块:MSP430F196

当前市场上存在很多种微处理器,每种微处理器都各有其特色。针对不同的应用选择合适的微处理器非常重要。MSP430 的低功耗(拥有5 种低功耗模式,以

9

适应不同的需要。CPU 从低功耗模式被唤醒,这个过程最多只需要6μs,因此,在某些需要迅速作出反应的应用中,CPU 能够及时退出低功耗模式,进入工作模式。),双串口,提供 JTAG 接口(仿真调试程序时,通过一个廉价的JTAG 接口转换器就可以完成以往用昂贵的仿真器才能完成的功能,如设置断点、单步执行程序、读写寄存器等。)低电源电压范围 1.8~3.6V等特点是很多单品机所不能同时具备的,从性价比考虑,选择这款芯片。 3.3.3 数据传输模块:SIM900A[13]

SIM900A是一个为全球市场设计的2频的GSM/GPRS模块,工作的频段为: EGSM 900MHz和DCS 1800MHz。SIM900A支持GPRS multi-slot class 10/ class 8(可选)和 GPRS 编码格式 CS-1, CS-2, CS-3 and CS-4。

由于尺寸只有24mm x 24mm x 3 mm,所以SIM900A几乎可以满足所有用户应用中的对空间尺寸的要求,例如M2M,数据传输系统等。

模块和用户移动应用的物理接口为68个贴片焊盘,提供了模块和客户电路板的所有硬件接口。

SIM900A采用省电技术设计,所以在SLEEP模式下最低耗流只有1.0mA。 SIM900A内嵌TCP/IP协议,扩展的TCP/IP AT命令让用户能够很容易使用TCP/IP协议,这些在用户做数据传输方面的应用时非常有用。

3.3其他说明

目前,随着社会的发展,交通的发展越来越快,道路、航线等变得越来越复杂,交通事故时有发生,在这种情况下,将用户的运行路线实时记录下来有助于分析事故原因。GPS行驶记录仪可以记录车辆的运行方向、速度、位置等基本信息,并可对车辆进行超速报警,可及时提醒驾驶员,提高驾驶员。

我们还可以将这种功能潜入到各种电子设备当中,如手表,手机等日常使用的电子产品,用于对人的实时定位和轨迹记录。当今的中国正步入人口老龄化社会,老年人空巢化严重,老人无人照顾,老人走失事件频频出现。这无疑也是一个巨大的市场,可以应用GPS对老年人的轨迹进行实时记录,这样,就可以避免老人走失问题。

10

4 硬件电路设计

4.1MSP430单片机电路设计

4.1.1 MSP430单片机介绍[6]

MSP430单片机是美国TI公司生产的超低功耗单片机。它是一个16位的单片机,采用了精简指令集(RIS C)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在8MHz晶振驱动下指令周期为125ns。其内置模块丰富,包含了如看门狗、A/D转换、D/A转换、DART接口、定时器等,不同型号的MSP430单片机内置模块略有差别。其功能视图如下图所示:

图4.1.1.1MSP430F149单片机功能框图

MSP430 的主要特点为:

(1)超低功耗: 拥有5 种低功耗模式,以适应不同的需要。CPU 从低功耗模式被唤醒,这个过程最多只需要6μs,因此,在某些需要迅速作出反应的应用中,CPU 能够及时退出低功耗模式,进入工作模式。

(2)灵活的时钟使用方式 除了片内集成一个晶体振荡器外,还可外接1~2 个晶体振荡器。不同的内部功能模块可根据需要使用不同的晶体振荡器,在不需要时可以通过设置寄存器将其关闭,以降低功耗。

(3)高速的运算能力 16 位RISC 架构,125ns 指令周期。

(4)丰富的功能模块 集成了大量的功能模块,这些功能模块包括:多通道10~

11

14 位AD 转换器双路12 位DA 转换器比较器液晶驱动器电源电压检测串行口USART(UART/SPI)硬件乘法器看门狗定时器和多个16 位、8 位定时器(可进行捕获、比较、PWM 输出)DMA 控制器FLASH 存储器。它可以在运行过程中由程序控制写操作和段的擦除(In systemprogrammable),不需要额外的高电压。

(5)廉价专业的开发工具 MSP430 的芯片上包括JTAG 接口,因此在仿真调试程序时,通过一个廉价的JTAG 接口转换器就可以完成以往用昂贵的仿真器才能完成的功能,如设置断点、单步执行程序、读写寄存器等。

(6)灵活快速的编程方式 可通过JTAG 和BSL 两种方式向CPU 内装载程序。 (7)高保密性 只需按照特定的方式将MSP430 内部的熔丝熔断,JTAG 口便被物理性地阻断。BSL 方式所需要的密码长达256 位,排列组合出来的密码量为2 的256 次幂,如此巨大的数量被破解的可能性微乎其微。

(8)低电源电压范围 1.8~3.6V。 4.1.2MSP430外围电路

? 电源电路

电子产品中一个纯净稳定的电源是电路系统可靠工作的必要条件。本系统中各个不同的模块需要的电源电压不一样,在MSP430单片机外围电路中需要+5V电源和+3.3V电源。系统总电源是由电池提供的,电池的电压为>=4.1V。我们通过LM1117芯片将电池的电压转换为3.3V,为单片机供电。电压转换如下图:

图4.1.2.1 电压转换图

LM1117芯片是一款正电压输出的低压降三端线性稳压电路,在1A输出电流下的压降为1.2V。分为两个版本,固定电压输出版本和可调电压输出版本。固定输出电压1.5V、1.8V、2.5V、3.3V、5.0V和可调版本的电压精度为1%;固定电压为1.2V的产品输出电压精度为2%。内部集成过热保护和限流电路,适用于各类 电子产品。

特点

* 固定输出电压为1.5V、1.8V、2.5V、3.3V、5.0V 和可调版本的电压精度为1%

12

* 固定电压为1.2V 的输出电压精度为2% * 低漏失电压:1A 输出电流时仅为 1.2V * 限流功能 * 过热切断

* 温度范围:40°C~ 125°C 其引脚图如下图所示:

图4.1.2.2 AM8827引脚图

其中3脚是输入端,1脚是地端,2脚是输出端。LM1117芯片的内部结构框图为:

图4.1.2.3 LM1117芯片原理图

? 复位电路

复位电路是单片机电路中一个重要电路。本系统设计了一个手动复位端,如

13

下图所示。无论单片机处于正常运行状态,还是单片机出现死循环时,按下手动复位端,系统将被强制复位。单片机的复位引脚RST低电平时工作,当系统刚上电的时候,单片机自动复位一次,之后,当按键S17按下时,由R6和R7分压,R7上为低电平,RST端被拉低到低电平,产生复位信号[16]

图4.1.2.4 复位电路

? 时钟电路

时钟电路是单片机工作所必须的电路,它为单片机提供准确的时钟信号。

图4.1.2.5 8MHZ时钟电路

8MHz晶振电路如图所示。8MHz晶振接在单片机的XT2IN和XT20UT两端,构成稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,C1, C2两个22pf电容对频率有微调的作用。由于考虑到串口通信的波特率为9600bps为了能够准确的分频到9600bps,这里外接晶振频率选择了8MHz .

4.2 GPS模块电路设计

4.2.1GPS模块介绍[17]

GPS模块作为轨迹记录系统中的重要组成部分,对其的选择十分重要,GPS模块性能的好坏直接决定了系统定位的速度以及精度。在本次设计的系统中,我们选择了globalsat公司生产的ET-662模块。ET-662S是一款布局紧凑,高性能,低功耗的GPS模块。它采用SiRF Star III芯片组可以同时跟踪20颗卫星,并在信号较弱的环境中也能够进行快速提供时间和定位,ET-662适合于下系列领域的应用:

14

1 自动导航 2个人定位 3舰队管理 4手机导航 5航海导航 产品的特点::

1.全天候提供精确标准位置服务。 2.体积小,可以使用应用系统设计方案。

3.高性能接收并跟踪20颗卫星,最快提供坐标,功耗小,稳定性高。 4.差分处理能力,利用实时RTCM校正产生低于5米的定位精度。 5.4Mb闪寸。

6.两通信信道和波特率选择可以使其充分发挥其接口能力和灵活性。 7.对于高精度的时间仪表有一个高精度的1PPS输出。 ET-662模块的技术参数如下表:

表4.2.1.1 ET-662技术参数

模块一共有28个引脚,其引脚图如下图所示:

15

图4.2.1.1 ET-662引脚图

每个引脚的说明如下表:

表4.2.1.2 ET-662模块引脚说明

4.2.2GPS模块外围电路

该器件的外围电路如图3所示,芯片16脚是天线输入脚,从该引脚引出了一

16

段传输线匹配电路,用以匹配50欧姆的天线;第3脚和第4脚分别是信号输出脚和信号输入脚,分别用2个10千欧姆的电阻上拉到3.3V;第11脚引出的是一个外接电源,也是由单片机的外接电源提供,给芯片供电。

图4.2.2.1 ET-662引脚定义及应用电路

4.3 GPRS模块电路设计

4.3.1 GPRS模块介绍

SIM900A是一个为全球市场设计的2频的GSM/GPRS模块,工作的频段为: EGSM 900MHz和DCS 1800MHz。SIM900A支持GPRS multi-slot class 10/ class 8(可选)和 GPRS 编码格式 CS-1, CS-2, CS-3 and CS-4。

由于尺寸只有24mm x 24mm x 3 mm,所以SIM900A几乎可以满足所有用户应用中的对空间尺寸的要求,例如M2M,数据传输系统等。

模块和用户移动应用的物理接口为68个贴片焊盘,提供了模块和客户电路板的所有硬件接口。

SIM900A采用省电技术设计,所以在SLEEP模式下最低耗流只有1.0mA。 SIM900A内嵌TCP/IP协议,扩展的TCP/IP AT命令让用户能够很容易使用TCP/IP协议,这些在用户做数据传输方面的应用时非常有用。

1.供电:单电源+3 . 4 V一+4. 5 V

2.低功耗:在SLEEP模式下,电流典型值为1.0mA

3.发射功率:Class 4 ( 2W)在EGSM900频段,Class l ( 1W)在DCS 1800 4.GPRS连接特性:GPRS multi-slot class 10,

GPRS multi-slot class 8, GPRS mobile station class B。

[12]

17

5. GPRS特性:下行速率最大85.6kbps 上行速率最大42. 8kbps

编码方式:CS-1, CS-2, CS-3 , CS-4 内嵌TCP/IP协议栈。 6.短消息: MT,MO,CB,文本和PDU模式;

短消息存储设备:SIM卡

7.SIM卡接口:支持SIM卡1.8V, 3.0V 8.天线接口: 天线焊盘。

9.串行接口:支持标准的八线制串行接口;

自适应波特率范围1200bps至115200bps;

2线制串行接口,传输速率支持从1.2kbps到115.2kbps; 支持符合GSM7.10协议的串口复用功能;

模块的引脚图如下图所示:

图4.3.1.1 SIM900A引脚图

4.3.2 GPRS模块外围电路

? 供电

SIM900A采用VBAT为3.4V到4.5V的单电源供电。在一些情况下,信号传输的猝发会导致电压跌落,这时电流损耗的峰值会达到2A。因此,电源必须能提供

18

足够到2A的电流。

从VBAT输入端来看,建议靠近使用一个旁路电容。该电容推荐值为100μF,低ESR。多层陶瓷片电容具有很低的ESR和很小的尺寸,但是价格比较贵。可以使用100 μF 钽电容(低 ESR)和一个(1 μF ~ 10μF) 的陶瓷电容并联来降低成本,布PCB板时,电容应尽可能靠近模块的VBAT引脚。推荐电路如下图所示:

图4.3.2.1VBAT输入参考电路

下图是+5V供电的参考设计电路。因为设计的输出为4V,所以可以采用线性稳压器来实现。如果输入和输出(VBAT)的压差很大,应该采用开关稳压器。因为开关稳压器好的效率,尤其是在当模块在猝发时电流达到2A的情况下。也可以直接用3.6V的锂离子单电池给模块供电。但是由于镍镉或者镍锰电池的最大电压会超过模块的绝对最大电压并且损坏模块,所以在使用这类电池时要特别小心。

图4.3.2.2供电输入参考设计电路

? SIM卡接口

用户可以使用AT 命令来得到SIM卡的相关信息,本SIM卡接口支持GSM Phase 1说明的功能,同时也支持新的GSM Phase 2+ 说明的功能和FAST 64 kbps SIM 卡(用于SIM 应用工具包)。支持1.8V和3.0V SIM 卡。SIM卡的接口电平由模块内部的电压稳压器提供,正常电压值为2.8V或者1.8V。复位后,所有引脚输出低电平。

19

表4.3.2.1:SIM卡接口引脚定义 引脚名称 SIM_VDD SIM_DATA SIM_CLK SIM_RST 引脚序号 30 31 32 33 功能 SIM供电根据SIM卡的类型自动选择输出电压, 可以为 3.0V±10%或者为1.8V±10% ,输出电流约为10mA。 SIM卡数据I/O SIM卡时钟 SIM卡复位 SIM卡检测 SIM_PRESENCE 34 下图是SIM 卡推荐接口电路。我们建议使用ST (www.st.com ) ESDA6V1W5 或者ON SEMI(www.onsemi.com ) SMF05C来作静电保护。下图中,串在IO口线中的22Ω电阻用于匹配模块和SIM卡之间的阻抗,数据信号线SIM_DATA已在模块内部上拉。注意SIM 卡的外围电路的器件应该靠近SIM卡座。

SIM_PRESENCE脚主要用于SIM卡的插取动作的检测。可以使用AT命令“AT+CSDT” 来配置SIM卡的该引脚。更多相关该AT命令的信息,请参考文档 [1]。

以使用8引脚的SIM卡座,对8个引脚卡座的推荐电路如下图:

题4.3.2.3 8引脚卡座的接口推荐电路

如果不使用SIM卡的检测功能,可以让SIM_PRESENCE悬空。6 引脚的SIM卡座的接口电路如下图:

20

图4.3.2.4 6引脚卡座的接口推荐电路

21

5 软件设计

5.1 软件总述

本设计硬件设计部分比较简单,关键是软件设计部分。本系统软件设计部分单片机采用高级语言C语言进行设计,使用的编程工具是Keil uvision3,上位机部分用的是C#语言,使用的变成工具是VS2010,下图是主程序流程图:

图5-1主程序流程图

GPS模块实时向单片机串口发生数据,系统初始化以后,等待GPRS网络连接成功,然后单片机判断GPS模块发送的数据是否有效,如果有效,则对数据进行

22

处理,将其处理成可通过GPRS无线网络发送,web端口接收的数据,上位机软件实时判断web端口是否接收到数据,当web端口接收到数据是,上位机软件调用数据读取函数,将数据存储在已经编写好的数据库了,并调用百度API,将位置信息显示在百度地图上。

5.2 单片机MPS430软件设计

5.2.1 单片机读取GPS数据

开始 单片机初始化

N GPRS网络

是否连接

Y 0串口接收GPS 数据

N

GPS数据

是否有效

Y 单片机将从ET-662 接收到的数据处理 成能通过GPRS网 络的发生的数据

图5.2.1.1 单片机读取GPS数据流程图

MSP430F149初始化完成后,首先判断GPRS网络是否连通,只有在GPRS连通的情况下,才开启串口0的接收中断函数,SerialPortop和receiveData接收GPS的数据,接收之后通过GPS数据处理函数extraceSmsInfo将经纬度时间信息提取出来,并存放在一个数组里面。 5.2.2 单片机发送GPS数据

将存放在数组里的GPS数据通过单片机的串口1发送给SIM900A,最后由SIM900A通过移动GPRS网络传送到因特网。

23

5.3 GPS软件设计

由串口中断0的接收函数__interrupt void UART0_RXISR(void)和GPS的数据处理函数void GPRMC_Parse(char *line)两部分组成

5.4 GPRS软件设计

一系列的AT命令,主要包括连接GPRS网络的函数void CONNECT(void)和数据传送的函数void DATESEND(char *q1)

5.5 PC机软件设计

5.5.1数据的标注

通过addGPSPosMarker(InfoClass.manGPSPosInfo gpsPosInfo)调用百度API将地理坐标显示在地图上 5.5.2数据的存储

通过

SQL

语句(insert into GPSLocatingRecord(TagId, tim,

longitude,nlatitude ))将收到的数据实时保存到数据库 5.5.3数据的调用

通过SQL语句(select time,longitude,latitude from GPSLocatingRecord)将所需的数据调用出来

24

6 系统的总体组装与调试

6.1系统组装

定位系统的GPS定位模块使用的是ET-662,这是一个封装好的集成GPS模块,稳定性好,不易受干扰,精度高(10m),符合要求,而且它提供了一个外接串口接口,方便的实现将定位模块获得的位置信息通过串口0的接受端口传送给单片机,其中GPS模块的实物图如下图所示:

图6.1.1 GPS实物图

黑色的连接线用于连接天线,GPRS模块通过其发送端与接受端分别与单片机的串口1的接收端和发送端连接实现数据的传递和反馈,其实物图如下图所示:

图6.1.2 SIM900A的俯视图和底视图

本GPS定位系统的整体实物图如下:

25

图6.1.3 PCB板实物图

6.2 实测

在PC机调试之前,我们要先对网络IP和端口进行设置,我们使用的是动态域名,这样我们的接受端口可以随时改变,这样方便对应端口接受GPRS模块通过网络传输过来的数据。下图是上位机软件上的WEB端口调配界面:

图6.4.1WEB端口调配界面

GPS模块大概每秒钟进行数据刷新一次,我们设定每隔十秒钟单片机读取一次数据,大概每隔十五秒中完成一次数据的发送。下图是数据库数据存储界面:

26

图6.4.2数据存储界面

当端口接受数据成功,存储在数据库的同时通过调用GPSmark函数将经纬度信息标注在百度地图上。下图是上位机软件的界面上显示的运动物体的运行轨迹:

图6.4.3运动物体的运行轨迹

下图是上位机软件上实现对输入时刻的位置信息的显示界面:

27

图6.4.4 轨迹查询界面

28

7 结束语

通过一学期的努力终于完成了毕业设计,达到了任务书中的各个要求。在这个过程中,将理论知识很好地运用到实践当中。同时,也发现了自己所学知识很有限,需要不断充实。总之在这个过程中我的动手能力得到很好地煅炼,解决问题的能力也有所提高,最重要的是知道存在哪些不足。

29

参考文献

[1] 王解先. GPS精密定轨定位[M].上海:同济大学出版社,1997.5

[2] 鲁郁. GPS全球定位接收机:原理与软件实现[M].北京:电子工业出版社,2009 [3](美)James Bao-Yen Tsui . GPS软件接收机基础:a software approach[M]. 北京:电子工业出版社,2007

[4] 魏二虎,黄劲松. GPS测量操作与数据处理[M].武汉:武汉大学出版社,2004.6 [5] 洪利,章扬,李世宝. MSP430 单片机原理与应用实例详解[M].北京:北京航空航天大学出版社,2010

[6] 沈建华, 杨艳琴. MSP430系列16位超低功耗单片机原理与实践[M].北京:北京航空航天大学出版社,2008

[7] 胡大可. MSP430系列单片机C语言程序设计与开发[M].北京:北京航空航天大学出版社,2003.1

[8] 杨青青,祖静,尤文斌.嵌入式GPS轨迹记录仪[J].电阻测试,2011,(1) [9] 吕辉. 由浅入深学C# :基础、进阶与必做300题[M].北京:电子工业出版社,2011 [10] 陈强. C#编程新手自学手册[M].北京:机械工业出版社,2012

[11] 齐文达.基于SD卡的GPS轨迹记录仪研究设计[J].科学技术与工程,2011,(28). [12]秦鹏翔.基于GPS/GPRS的车辆监控系统[D].河北:河北科技大学,2010. [13]夏鸿刚.基于GIS,GPS, GSM/GPRS技术的运输车辆监控调度系统研究[D].陕西:长安大学,2008.

[14]中国汽车工业协会.http : //www. caam. org. cn/.

[15]张好.GPS及GIS技术在车载导航系统中的应用研究[D].西安:西安科技大学,2009.

[16]黄智伟.GPS接收机电路设计[M].北京:国防工业出版社,2005.

[17]胡友健,罗的,曾云.全球定位系统(GPS)原理与应用[M].北京:中国地质大学出版社,2003. 35一50.

[18]赵明.基于GPRS的水表远程集中抄表系统研究[D].沈阳:沈阳理工大学,2008. [19]韩基荣.基于GPRS远程监控系统的设计[D].哈尔滨:哈尔滨工程大学,2009. [20]钟章队,蒋文怡.通用分组无线业务[M].北京:人民邮电出版社,2001. [21]中兴通讯NC教育管理中兴,GSM移动通信技术原理与应用[M].北京:人民邮电出版社,2009.

[12]白一度白科.http://baike. baidu. com/view/18437. htm.

30

[22」胡大可.MSP430系列超低功耗16位单片机原理与应用[M].北京:北京航天航空大学出版社,2000.

[23]魏晓龙.MSP430系列单片机接口技术及系统设计实例[M].北京:北京航天航空大学出版社,2002.

[24]MSP430xlxx Family User's Guide (Rev. F)[EB/OL].http://www. t i.com. cn. [25]李朝青.单片机原理及接口技术[M].北京:北京航天航空大学出版社,2005. [26]胡大可.MSP430系列FLASH型超低功耗16位单片机[M].北京:北京航天航空大学出版社, 2001.

[27]秦龙.MSP430单片机常用模块与综合系统实例精讲[M].北京:电了工业出版,2007.

[28] C系列中文液晶显示模块使用说明书[EB/OL].

[29]李斌,贾魏,赵奇.基于MSP430单片机的GPS定位系统设计[D].辽宁工程技术大学.2010.06.21

[30] GARM工N GPS-25LP SER工ES GPS SENSOR BOARD TECHN工CAL SPEC工F工CAT工ON[EB/OL].

[31] LM2576/LM2576HV Series S工MPLE SW工TCHER 3A Step-Down Voltage Regulator Datasheet[EB/OL].http://www.datasheet.com.

[32]SMF05C TVS Diode Array For ESD and Latch一Up Protection Datasheet[EB/OL]. http://www. datasheet. com.

[33] Kirkpatrick,Donald S , Dixit,Vishva M. GPS navigation of the protein-stability landscape[J]. Nature Biotechnology ,2009, 27(1), 46 – 48.

[34] Cyranoski,David . Check your GPS at the border[J]. nature, 2008, 451(7181),871-871

31

附录

1原理图 GPS原理图:

MSP430单片机原理图:

32

电源模块的原理图:

33

GPRS模块原理图:

2源程序

#include #include #include \#include \

char OBD[42]=\

uchar SIM900_MAX=0,i_SIM900=0,i_SIM900_RECE=0,i_receive=0,flag=0; char SIM900_RE[30]; void UART_Init(void) {

BCSCTL1 &= ~XT2OFF; //选择了外接晶振2 8M do {

IFG1&= ~OFIFG; // 清除晶振错误中断标志

__delay_cycles(255);

// delay time for stability(>=50us) }

while((IFG1 & OFIFG) != 0); //确认晶振错误中断标志被清除 BCSCTL2|= SELM_2; // MCLK=XT2

BCSCTL2 |= SELS + DIVS_0; // SMCLK = XY2

P3SEL |= 0xF0; // 选择P3.6和P3.7GPRS的串口P3.4

和P3.5做GPS的UART通信端口

ME1 |= UTXE0+URXE0; // 使能USART0的发送和接受 UCTL0 |= CHAR; // 选择8位字符 UTCTL0 |= SSEL1; // UCLK = ACLK UBR00 = 0x41; // 波特率9600 UBR10 = 0x03; //

UMCTL0 = 0x00; // Modulation

34

UCTL0 &= ~SWRST; // 初始化UART状态机

IE1 |= URXIE0; // 使能USART0的接收中断

ME2 |= UTXE1 + URXE1; //使能USART1的发送和接受 UCTL1 |= CHAR;

UTCTL1 |= SSEL1; // UCLK = ACLK U1BR0 = 0x41; // 波特率9600 U1BR1 = 0x03;

U1MCTL = 0x00; UCTL1 &=~ SWRST; IE2 |= URXIE1;

P4DIR |= BIT0; //或上一个高电平 让等全部灭 P6DIR |= BIT6+BIT7; // P6.6和P6.7作为IO口的输出output P6OUT |= BIT6+BIT7; _EINT();

}//Gprs函数

void CIPSHUT(void) {

char CIPSHUT[12]={'A','T','+','C','I','P','S','H','U','T',0X0D,0X0A}; UART1_SendStr_char(CIPSHUT,12); delay(350); }

void AT(void) {

char AT[4]= {'A','T',0x0D,0X0A}; UART1_SendStr_char(AT,4); delay(350);

init_sim900_data(); }

void ATE(void) {

char ATE[6]= {'A','T','E','0',0x0D,0X0A}; UART1_SendStr_char(ATE,6); delay(350);

init_sim900_data(); }

void CIPMUX(void) {

char CIPMUX[13]={'A','T','+','C','I','P','M','U','X','=','0',0X0D,0X0A}; UART1_SendStr_char(CIPMUX,13); delay(350);

init_sim900_data(); }

void CIPRXGET(void) {

char

CIPRXGET[15]={'A','T','+','C','I','P','R','X','G','E','T','=','1',0X0D,0X0A};

UART1_SendStr_char(CIPRXGET,15); delay(350);

init_sim900_data();

35

}

void CIPQRCLOSE(void) {

char

CIPQRCLOSE[17]={'A','T','+','C','I','P','Q','R','C','L','O','S','E','=','1',0X0D,0X0A};

UART1_SendStr_char(CIPQRCLOSE,17); delay(350);

init_sim900_data(); }

void CIPCLOSE(void) {

char

CIPCLOSE[15]={'A','T','+','C','I','P','C','L','O','S','E','=','0',0X0D,0X0A};

UART1_SendStr_char(CIPCLOSE,15); delay(350);

init_sim900_data(); }

void CIPMODE(void) {

char

CIPMODE[14]={'A','T','+','C','I','P','M','O','D','E','=','0',0X0D,0X0A}; UART1_SendStr_char(CIPMODE,14); delay(350);

init_sim900_data(); }

void CIPSTART(void) {

//char

CIPSTART[41]={'A','T','+','C','I','P','S','T','A','R','T','=','\P','\',','1','0','2','4',0X0D,0X0A}; //UART1_SendStr_char(CIPSTART,41); char

CIPSTART[47]={'A','T','+','C','I','P','S','T','A','R','T','=','\P','\'c','p','.','c','c','\ UART1_SendStr_char(CIPSTART,47); //delay(350);

//init_sim900_data(); }

void CIPSEND(void) {

char CIPSEND[12]={'A','T','+','C','I','P','S','E','N','D',0X0D,0X0A}; UART1_SendStr_char(CIPSEND,12); delay(350); }

void NET() //配置网络 {

36

AT(); ATE(); CIPMUX(); CIPRXGET(); CIPQRCLOSE(); CIPMODE(); }

void sendmessage(char *q3) //发送数据 {

ME2 |= URXE1;

init_sim900_data();

UART1_SendStr_string(q3); delay(50); TXBUF1=0x1A; delay_s(2); ME2 &= ~URXE1; }

void init_sim900_data( void ) {

for(i_SIM900=0;i_SIM900<=SIM900_MAX;i_SIM900++) {SIM900_RE[i_SIM900]=0;} i_SIM900_RECE=0; SIM900_MAX=0; i_receive=0; }

/******************************************* 函数名称:UART1_SendStr_char 功 能:发送接受到得数据

********************************************/

void UART1_SendStr_char( char *pBuffer, int n_byte) {

int q0;

for(q0=0;q0

while((IFG2&UTXIFG1)==0); //判断是否发送完毕 TXBUF1=*pBuffer; pBuffer++; } }

//串口发送字符串函数

void UART1_SendStr_string(char *p) {

while(*p != '\\0') {

while((IFG2&UTXIFG1)==0); //判断是否发送完毕 TXBUF1=*p; p++; } }

//延时程序

void delay(int ms) {

uint i;

for(i=0;i

37

delay_ms(1); }

//连接GPRS网络 void CONNECT(void) {

P4OUT |= BIT0; delay_s(1); P4OUT &= ~BIT0; while(1) { NET();

CIPSTART(); delay_s(6);

if(flag==1) {flag=0;break;}

else {CIPCLOSE();CIPSHUT();} } }

//通过GPRS发送数据 void DATESEND(char *q1) {

CIPSEND();

sendmessage(q1); // CIPSTART(); }

#pragma vector = UART1RX_VECTOR __interrupt void UART1_RXISR(void) {

i_receive=RXBUF1;

SIM900_RE[i_SIM900_RECE++]=i_receive; if(i_SIM900_RECE>SIM900_MAX) {

SIM900_MAX=i_SIM900_RECE; }

if(strstr(SIM900_RE,\ {

flag=1;

init_sim900_data(); }

if(strstr(SIM900_RE,\ {

P6OUT^=BIT7;

init_sim900_data(); } }

#include #include #include \#include \#include \void main( void ) {

//P4DIR |= BIT0;

38

数据发送 //P4OUT |= BIT0; //delay_s(1); //P4OUT &= ~BIT0; //while(1);

WDTCTL = WDTPW + WDTHOLD; UART_Init();

CONNECT(); //连接GPRS网络

ME2 &= ~URXE1; //关闭串口1的接受中断GPRS连接 串口0和GPS连接 而且只连接

了串口0的RX

while(1) {

delay_s(20); //20S GETGPS();

//UART0_SendStr_string(OBD); DATESEND(OBD); } }

39

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

Top