单片机解析GPS数据
单片机在GPS定位系统中的应用研究
单片机在GPS定位系统中的应用研究一、引言GPS(全球定位系统)是一种利用卫星进行地理定位的系统,已经广泛应用于各种领域。
而在GPS定位系统中,单片机作为一个重要的控制核心,发挥着关键作用。
本文将研究单片机在GPS定位系统中的应用,探讨其原理、功能和优势。
二、GPS定位系统的原理GPS定位系统由GPS卫星、地面控制中心、用户终端三部分组成。
GPS卫星通过发射信号并接收回传信号,用户终端利用接收到的信号进行定位计算,地面控制中心负责GPS卫星的管理和维护。
在这个过程中,单片机扮演着数据处理和控制的角色。
三、单片机在GPS定位系统中的功能1. 数据解析和处理:单片机能够接收和解析GPS卫星发射的信号,提取出所需的定位数据。
通过算法计算、数据处理和校准,单片机能够准确地计算出终端的地理位置。
2. 位置跟踪和导航:单片机可以实时地跟踪用户终端的位置,并提供导航功能。
通过不断更新位置信息,单片机能够预测用户目的地并提供路线规划。
3. 数据存储和传输:单片机能够将定位数据存储在内部存储器或外部存储器中,供后续分析和应用。
同时,单片机还可以通过无线通信方式将位置数据传输给其他设备或系统。
四、单片机在GPS定位系统中的优势1. 节省成本:相比于传统的定位系统,单片机具有体积小、功耗低、成本较低等优势。
这使得单片机在大规模应用时可以降低系统开发和维护的成本。
2. 灵活性和可定制性:单片机具有灵活的编程性质,能够根据实际需求进行定制开发。
单片机还可以与其他外部器件或传感器进行兼容,进一步提升GPS定位系统的功能和性能。
3. 实时性和稳定性:由于单片机的高性能和强大的数据处理能力,GPS定位系统能够实时地获取位置信息并准确计算。
单片机的稳定性也保证了系统长时间运行的可靠性。
五、实际应用案例1. 车辆定位和追踪:利用单片机和GPS模块,可以实现对车辆的定位和追踪。
这对于物流行业、公共安全、车辆租赁等领域具有重要意义。
2. 无人机导航:单片机和GPS模块的组合可以实现对无人机的导航和航迹规划。
基于单片机的GPS定位系统设计文献综述
基于单片机的GPS定位系统设计文献综述GPS定位系统是一种利用全球卫星定位系统(Global Positioning System,GPS)来确定地理位置的技术。
在现代社会,GPS定位系统在各个领域中广泛应用,包括交通、军事、航空航天、物流等。
基于单片机的GPS定位系统是其中的一种应用方式,通过使用单片机作为主控芯片,实现对GPS模块的控制和数据处理,可以实现车辆、人员等的实时定位和追踪。
本文将对基于单片机的GPS定位系统进行综述,包括定位原理、系统组成、关键技术以及应用场景等方面的内容。
1. 定位原理GPS定位系统是基于卫星信号的定位技术,通过接收来自卫星的定位信息,利用三角测量等方法计算出自身的地理位置。
GPS系统由24颗卫星组成,其中至少有4颗卫星同时可见时,就能够确定一个点的位置。
基于单片机的GPS定位系统通过接收和解析卫星发射的导航信号,计算出自身的经纬度信息,从而实现定位功能。
2. 系统组成基于单片机的GPS定位系统主要由三个部分组成:GPS模块、单片机和显示模块。
2.1 GPS模块:GPS模块是实现定位功能的关键部件,它接收卫星发射的导航信号,并将信号转换为数字信号供单片机使用。
GPS模块通常包括天线、接收机和定位引擎等部分。
2.2 单片机:单片机是系统的核心处理器,负责接收和处理GPS模块传递过来的定位数据,并进行进一步的计算和控制。
单片机通常采用较为低功耗的微控制器,具有较好的计算和控制能力。
2.3 显示模块:显示模块将通过单片机处理的定位数据展示给用户,可以采用LCD液晶显示屏、LED数码管等形式,以直观的方式展示地理位置信息。
3. 关键技术基于单片机的GPS定位系统设计中,涉及到以下几个关键技术:3.1 GPS信号接收与解析:GPS信号由卫星发射,经过天线接收后需要进行解析。
这个过程包括信号放大、频率合成、数字信号处理等环节,需要设计合适的电路和算法来实现。
3.2 数据处理与计算:单片机接收到GPS模块传来的经纬度等数据后,需要进行进一步的计算和处理。
单片机解析GPS数据
单片机解析GPS数据三、单片机解读GPS信息的程序设计用单片机解读GPS信息是GPS模块使用最重要的环节,由于汲设到产品的保密问题,这里只介绍时间的处理方法,而方位、速度的处理方法不做介绍,但通过时间的处理方法,同样可以处理方位、速度。
1、获取GPS模块的输出信息由于GPS模块每秒输出一次:$GPGGA 、$GPGSA、$GPGSV、$GPRMC数据。
速率慢,因此必须采用中断方式接收!(采用查询会造成数据丢失),而且单片机只需要处理$GPRMC信息,即可得到时间、方位、速度。
程序采用C51编制,在Keil C中编译!code unsigned char GPS_ASC[]="$GPRMC" ; //定义特征字符串unsigned char idata RsBuf[60];//**********************************************************//读取GPS模块串口数据, 采用中断方式void GetRs232_Data() interrupt 4{unsigned char i;unsigned int j;if (RI){RI=0;RsBuf[0]=SBUF;if (RsBuf[0] =='$'){ //是GPS数据的开始,进入查询接收for (i=1;i<sizeof(gps_asc)-1;i++){< p="">j=GetUartDat(); //接收下一个数据if (j<256) {RsBuf=(unsigned char)j;if (RsBuf!=GPS_ASC) return;}}//判别是否为$GPRMC数据,是继续接收!for (;i<sizeof(rsbuf);i++){< p="">j=GetUartDat();if (j<256) {RsBuf=(unsigned char)j;}else{break;}}// 接收完毕处理数据!if (1==JiaoYanDat(RsBuf)){FormatTimer(RsBuf); //格式化时间FormatSpeed(RsBuf); //处理速度}}}}// 2、接收数据的处理//数据处理前,必须要再次检验是否为$GPRMC信息。
基于单片机的GPS定位系统设计
基于单片机的GPS定位系统设计摘要GPS是全球定位系统英文名词Global Positioning System的缩写。
该系统是美国布设的第二代卫星无线电导航系统。
它能为用户提供全球性、全天候、连续、实时、高精度的三维坐标、三向速度和时间信息。
其目的是在全球范围内对地面和空中目标进行准确定位和监测.现在,GPS接收机作为一种先进的导航和定位仪器,已在军事及民用领域得到广泛的应用。
本设计是基于AT89C51单片机来实现的简易GPS定位信息显示系统.本控制系统主要完成接受数据、时间显示、经度显示、纬度显示等常规功能。
此方案基于单片机、GPS模块和12864液晶显示屏等硬件,并应用C语言实现了GPS信号的提取、显示及基本的键盘控制操作等.经过实践测试,这种接收机可以达到基本GPS信息的接收以及显示,可以做到体积小、精度高、连续导航,并可广泛应用于个人野外旅游探险、出租汽车定位及海上作业等领域。
关键词:GPS定位系统,单片机,液晶显示屏DESIGN OF GPS RECEIVER BASED ON 51 SINGLE CHIPCOMPUTERABSTRACTGPS is the abbreviation of the English term Global Positioning System global positioning system. The system is the United States laid the second generation satellite radio navigation system. It can provide users with continuous, real-time,global,round-the-clock, high precision three dimensional coordinates,three velocity and time information. Aimed at targets on the ground and in the air around the world an accurate positioning and monitoring。
GPS数据详解
gps数据格式单片机技术2008-03-18 11:58 阅读584 评论0 字号:大大中中小小a.GPS 固定数据输出语句($GPGGA)这是一帧GPS定位的主要数据,也是使用最广的数据。
$GPGGA语句包括17个字段:语句标识头,世界时间,纬度,纬度半球,经度,经度半球,定位质量指示,使用卫星数量,水平精确度,海拔高度,高度单位,大地水准面高度,高度单位,差分GPS数据期限,差分参考基站标号,校验和结束标记(用回车符<CR>和换行符<LF>),分别用14个逗号进行分隔。
该数据帧的结构及各字段释义如下:$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx<CR><LF> $GPGGA:起始引导符及语句格式说明(本句为GPS定位数据);<1> UTC时间,格式为hhmmss.sss;<2> 纬度,格式为ddmm.mmmm(第一位是零也将传送);<3> 纬度半球,N或S(北纬或南纬)<4> 经度,格式为dddmm.mmmm(第一位零也将传送);<5> 经度半球,E或W(东经或西经)<6> 定位质量指示,0=定位无效,1=定位有效;<7> 使用卫星数量,从00到12(第一个零也将传送)<8> 水平精确度,0.5到99.9<9> 天线离海平面的高度,-9999.9到9999.9米M 指单位米<10> 大地水准面高度,-9999.9到9999.9米M 指单位米<11> 差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量<12> 差分参考基站标号,从0000到1023(首位0也将传送)。
单片机实现GPS定位设计
单⽚机实现GPS定位设计GPS 系统⼯作原理主要分为3个部分:太空部分、监控部分、⽤户部分。
太空部分:包括24 颗可操作的⼯作卫星,以55:度倾⾓分布在地球上空的20~200km的6个轨道⾯上,运⾏周期为12恒星时。
这些卫星在轨道上的分布状态使地球上的任何位置在任何时刻都可以同时接受到⾄少6颗卫星的定位信号,这些卫星则不断地给全球⽤户发送位置和时间的⼴播数据。
监控部分:由分布在全球的若⼲个跟踪站所组成的监控系统构成,跟据其作⽤的不同,这些跟踪站⼜被分为主控站,监控站,注⼊站。
主控站有⼀个,起作⽤是根据各监控站对GPS的观测数据,计算出卫星的星历和卫星钟的改正参数等,并将这些数据通过注⼊站注⼊到卫星中去,同时还对卫星控制,向卫星发布指令,当⼯作卫星出现故障时,调度备⽤卫星,替代失效的⼯作卫星,另外,主控站也具有监控站的功能。
监控站有4个,其作⽤是接受卫星信号,监测卫星的⼯作状态,注⼊站有3个,其作⽤是将主控站计算出来的卫星星历和卫星时钟的改正数等注⼊到卫星中去。
⽤户部分由GPS接收机、数据处理软件及相应的⽤户设备,如计算机⽓象仪器等组成,其作⽤是接收GPS 卫星所发出的信号,利⽤这些信号进⾏导航定位等。
GPS 系统的基本定位原理,每颗GPS 卫星时刻发布其位置和时间的数据信号,⽤户接收机可以测量每颗卫星到接收机的时间延迟,根据信号传输的速度就可以计算出接收机到不同卫星的距离。
同时收集到⾄少4颗卫星的数据,就可以算出三维坐标,速度和时间。
民⽤导航系统常常采⽤GPS定位的⽅法是伪距法。
GPS接收机根据所选的卫星发来的导航信息和星钟校正参数的时间,能计算出接收机到卫星的距离,如果测量到3颗卫星的距离,则可以以3颗卫星发射时刻的位置为中⼼,根据测得的距离画出3个球,其交点便是⽤户的三维位置。
但是由于接收机的本机钟对星载原⼦钟存在偏差,上⾯所测得的距离并不代表卫星到接收机的真实距离,因此称为伪距离,正因为⽤户钟与GPS时间不能精确同步,故每次测量总会存在⼀个固定偏差,这使得定位产⽣⼀个由4个相交球⾯所围成的误差体积。
51单片机解析gps程序
这其中包括1602驱动头文件,和解析主程序,使用时分开粘贴到对应的文件中/*LCD1602驱动,兼容LCD2402*/sbit LCD_DB0= P0^0;sbit LCD_DB1= P0^1;sbit LCD_DB2= P0^2;sbit LCD_DB3= P0^3;sbit LCD_DB4= P0^4;sbit LCD_DB5= P0^5;sbit LCD_DB6= P0^6;sbit LCD_DB7= P0^7;sbit LCD1602_RS=P2^4;sbit LCD1602_RW=P2^5;sbit LCD1602_EN=P2^6;void LCD_write_char( unsigned x,unsigned char y,unsigned char dat); 0f0f8F0c0c0c,'0'};");LCD_write_string(0,1,"Please Check..");while(buf_full==0);LCD_cls();dsp_count=0;}}else{ ;for(i=3;i<10;i++){LCD_write_char(i+2,0,JD[i]);}LCD_write_char(0,1,WD_a); ;for(i=2;i<9;i++){LCD_write_char(i+3,1,WD[i]);}}LCD_write_char(14,1,use_sat[0]); ;for(i=3;i<10;i++){LCD_write_char(i+2,0,JD[i]);}LCD_write_char(0,1,WD_a); ;for(i=2;i<9;i++){LCD_write_char(i+3,1,WD[i]);}}LCD_write_char(14,0,use_sat[0]);dot_count++;elsebreak ;}switch(dot_count){case 1:b=((speed[0]-'0')*10+(speed[2]-'0'))*;break;case 2:b=((speed[0]-'0')*100+(speed[1]-'0')*10+(speed[4]-'0'))*;break;case 3:b=((speed[0]-'0')*1000+(speed[1]-'0')*100+(speed[2]-'0')*10+(speed[4]-'0'))*;break;}if(b>maxspeed){maxspeed=b;}/*************************************最大速度处理*************************************/if(count<10){for(i=0;i<5;i++){LCD_write_char(i,0,speed[i]);;hspeed[4]= maxspeed%10+0x30;count++;LCD_write_string(5,0,"Km/h A");LCD_write_char(0,0,hspeed[0]);LCD_write_char(1,0,hspeed[1]);LCD_write_char(2,0,hspeed[2]);LCD_write_char(3,0,hspeed[3]);LCD_write_char(4,0,hspeed[4]); //最大速度显 */}/*******************************************************************************/for(i=0;i<5;i++){LCD_write_char(11+i,0,angle[i]);}}buf_full&=~0x04;dsp_count=0;}}}}}bit chk_key(void){if(!KEY1){delayms(10);if(!KEY1){while(!KEY1);delayms(10);return(1);}}LCD_cls(); //清屏return(0);}//系统初始化void sys_init() {unsigned char i;SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */TMOD = 0x21; /* TMOD: timer 1, mode 2, 8-bit reload */if(GPS_SPD){TH1 = 0xfa; /* TH1: reload value for 9600 baud @ */ }else{TH1 = 0xfd; /* TH1: reload value for 4800 baud @ */ }TR1 = 1; /* TR1: timer 1 run */LCD_init(8); //初始化LCDLCD_write_string(0,0," GPS SIRF II 2 ");LCD_write_string(0,1," 11-11-23 1342 ");for(i=1;i<4;i++){delayms(250);}//LCD_cls();IE=0x90; //开总中断、串口中断}//串口接收中断void uart(void) interrupt 4{unsigned char tmp;if(RI){tmp=SBUF;switch(tmp){case '$':cmd_number=0; //命令类型清空mode=1; //接收命令模式byte_count=0; //接收位数清空break;case ',':seg_count++; //逗号计数加1byte_count=0;break;case '*':switch(cmd_number){case 1:buf_full|=0x01;break;case 2:buf_full|=0x02;break;case 3:buf_full|=0x04;break;}mode=0;break;default:if(mode==1){//命令种类判断cmd[byte_count]=tmp; //接收字符放入类型缓存if(byte_count>=4){ //如果类型数据接收完毕,判断类型if(cmd[0]=='G'){if(cmd[1]=='P'){if(cmd[2]=='G'){if(cmd[3]=='G'){if(cmd[4]=='A'){cmd_number=1;mode=2;seg_count=0;byte_count=0;}}else if(cmd[3]=='S'){if(cmd[4]=='V'){cmd_number=2;mode=2;seg_count=0;byte_count=0;}}}else if(cmd[2]=='R'){if(cmd[3]=='M'){if(cmd[4]=='C'){cmd_number=3;mode=2;seg_count=0;byte_count=0;}}}}}}}else if(mode==2){//接收数据处理switch (cmd_number){case 1: //类型1数据接收。
stc单片机解析gps数据的代码
STC单片机是一种常用的微型控制芯片,具有体积小、功耗低、性能稳定等特点,常用于嵌入式系统中。
在嵌入式系统中,GPS模块是一种常用的定位模块,可以实现对地理位置的获取。
本文将介绍如何在STC单片机上解析GPS数据的代码,以实现对地理位置的获取和定位功能。
一、准备工作在编写STC单片机解析GPS数据的代码之前,我们需要准备以下工作:1. 硬件准备:STC单片机开发板、GPS模块、串口线等。
2. 软件准备:STC单片机开发软件、串口调试助手等。
以上工作准备好后,即可开始编写STC单片机解析GPS数据的代码。
二、代码编写以下是STC单片机解析GPS数据的代码示例:```c#include <reg52.h>#include <stdio.h>// 定义串口接口sbit RX = P3^0;sbit TX = P3^1;// 初始化串口void InitUart() {TMOD = 0x20;TH1 = 0xFD;TL1 = 0xFD;TR1 = 1;SCON = 0x50;ES = 1;EA = 1;}// 串口中断服务程序void Uart() interrupt 4 { if (RI) {// 读取GPS数据 // ...// 解析GPS数据// ...RI = 0;}}// 主函数void m本人n() {InitUart();while (1) {// ...}}```以上代码示例中,我们首先通过`#include`引入了`reg52.h`和`stdio.h`头文件,这两个头文件分别用于STC单片机开发和C语言标准库的引入。
接着我们定义了串口接口`RX`和`TX`,并编写了初始化串口的函数`InitUart`,以及串口中断服务程序`Uart`。
在主函数中我们调用了`InitUart`函数进行串口的初始化,并通过`while(1)`循环来不断接收和解析GPS数据。
在串口中断服务程序`Uart`中,我们可以通过`RI`标志位来判断是否接收到了数据,并在数据接收后进行GPS数据的解析。
基于单片机的GPS定位系统设计
基于单片机的GPS定位系统设计摘要GPS是全球定位系统英文名词Global Positioning System的缩写。
该系统是美国布设的第二代卫星无线电导航系统。
它能为用户提供全球性、全天候、连续、实时、高精度的三维坐标、三向速度和时间信息。
其目的是在全球范围内对地面和空中目标进行准确定位和监测。
现在,GPS接收机作为一种先进的导航和定位仪器,已在军事及民用领域得到广泛的应用。
本设计是基于AT89C51单片机来实现的简易GPS定位信息显示系统。
本控制系统主要完成接受数据、时间显示、经度显示、纬度显示等常规功能。
此方案基于单片机、GPS模块和12864液晶显示屏等硬件, 并应用C语言实现了GPS信号的提取、显示及基本的键盘控制操作等。
经过实践测试 ,这种接收机可以达到基本GPS信息的接收以及显示,可以做到体积小、精度高、连续导航,并可广泛应用于个人野外旅游探险、出租汽车定位及海上作业等领域。
关键词:GPS定位系统,单片机,液晶显示屏DESIGN OF GPS RECEIVER BASED ON 51 SINGLE CHIPCOMPUTERABSTRACTGPS is the abbreviation of the English term Global Positioning System global positioning system. The system is the United States laid the second generation satellite radio navigation system. It can provide users with continuous, real-time, global, round-the-clock, high precision three dimensional coordinates, three velocity and time information. Aimed at targets on the ground and in the air around the world an accurate positioning and monitoring. Now, as an advanced GPS receiver navigation and positioning equipment, has a wide range of applications in military and civilian areas.This design based on the AT89C51 microcontroller is used to implement a simple GPS positioning information display system. This control system is mainly done to accept the data, time display, latitude, longitude, and other routine functions. This program is based on single-chip, GPS module and 12864 LCD display, hardware, c language implementation and application of the GPS signal extraction, display and keyboard control of basic operations. Practice tests, this receiver can receive and display the basic GPS information. small size, high accuracy, continuous navigation can be done, and can be widely applied to individuals in the wild tour adventure, hire car positioning and operations at sea, and other areas.KEY WORDS:GPS positioning system, microcontroller, LCD display目录前言 (1)第1章GPS系统简介 (3)1.1 GPS的由来及发展 (3)1.2 GPS定位系统的基本原理 (3)1.3 GPS模块定位流程 (4)1.4 本设计的主要工作 (4)第2章系统硬件设计 (5)2.1 单片机 (5)2.1.1 AT89C51单片机的结构原理 (6)2.1.2 AT89C51单片机的主要特性 (7)2.2 GPS模块 (7)2.2.1 概述 (7)2.2.2 主要技术参数及产品特点 (8)2.2.3 管脚介绍及与单片机的接口电路 (8)2.3 显示部分 (10)2.3.1 LCD12864概述 (11)2.3.2 基本特性 (11)2.3.3 模块接口说明 (12)第3章系统软件设计 (14)3.1 系统软件概述 (14)3.2 软件程序的编写 (14)3.2.1 初始化模块 (15)3.2.2 数据接收处理模块 (15)第4章系统调试 (17)4.1 硬件调试 (17)4.2 软件调试 (17)4.3 系统测试结果 (18)结论 (20)谢辞 (21)参考文献 (22)附录 (24)外文资料翻译 (44)前言GPS卫星导航全球定位系统问世以来,在导航、定位领域发展势头迅猛,引起世界各界人士的关注。
单片机与 GPS的接口实验程序
单片机与GPS (全球定位系统)接收器的接口GPS 的使用现在已经非常普及,大到航空航海系统,小到个人移动设备,都有着它的身影。
随着GPS 的民用化与成本的降低,已经走入了人们的日常生活中,很多手机、PDA 等手持设备都配备了GPS 功能。
简单的说,GPS 就功能就是在地球经纬座标系下对被测对象的方位进行测定,同时可以提供较高精度与实时的测定数据。
对于基于单片机的便携式设备,如果要获取持有者的位置信息,则GPS 是最好的解决方案。
那么单片机与GPS 接收器的接口是怎样的呢?下面就对其进行详细的介绍。
一般的GPS 接收器都采用串口进行数据通信。
在串行通信的基础上,又定义了专用的GPS 应用协议,如NMEA0183 或KODEN。
(1)NMEA0183 协议1. GPGGA:GPS 定位数据$GPGGA, hhmmss, XXXX.XXXX, N/S, XXXXX.XXXX, E/W,X, XX, XXX,1 2 3 4 5 6 7 80/-XXXX, M, 0/-XXX, M, XXX, XXXX *hh<CR><LF>9 10 11 12 13 14 151:世界时(UTC)hh:时mm:分ss:秒北京时间(东八时区)= UTC+8(小时)2:纬度“度度分分.分分分分”方式表示。
小数点后也以分为单位。
3:N:北纬S:南纬4:经度“度度度分分.分分分分”方式表示。
小数点后也以分为单位。
5:E:东经W:西经6:GPS 质量指示0:未定位1:GPS 定位2:差分GPS 定位。
7:使用到的卫星数0~128:HDOP 值水平方向的定位精度劣化程序系数。
3 维定位时也会输出HDOP 值。
但在未定位时输出“099”。
9:天线高度0:正数高于海平面:负数低于海平面10:天线高度单位m11:地理高度0:正数高于海平面:负数低于海平面WGS84 测地系时输出,其他测地系输出“0000”12:地理高度单位m13:DGPS 修正经过的时间差分数据时龄单位=秒14:差分基准站发播的ID 编号15:校验和2. GPGLL:地理位置,纬度/经度$GPGLL, XXXX.XX, N/S, XXXXX.XX, E/W *hh <CR><LF>1 2 3 4 51:纬度2:N:北纬S:南纬3:经度4:E:东经W:西经5:校验和3. GPGSA:GPS、DOP 与星历$GPGSA,A, X, XX,………… , XX.X, XX.X, *hh<CR><LF>1 2 3 4 5 61:二维/三维定位方式指示A:自动M:手动2:定位状态1:未定位2:二维定位3:三维定位3:使用到的卫星编号最大12 颗卫星的编号(卫星编号1~32),最大可有12 颗卫星的编号,12 颗卫星以下的情况,省略卫星编号,只输出“,”。
单片机GPS定位系统的设计与应用综述
单片机GPS定位系统的设计与应用综述摘要:单片机(Microcontroller)是一种集成了微处理器、存储器和输入/输出设备的集成电路芯片,广泛应用于各种领域。
而全球定位系统(GPS)则是一种由美国开发的卫星导航系统,可以提供全球范围内的精准定位和导航服务。
本文综述了单片机与GPS技术的结合,介绍了单片机GPS定位系统的设计原理、硬件搭建和应用领域。
一、设计原理单片机GPS定位系统的设计原理基于以下几个关键要素:1. GPS模块:GPS模块是将接收到的卫星信号转换为可供单片机处理的电信号的硬件设备。
它负责从卫星接收GPS信号,并把解码后的数据通过串口或I2C总线传输给单片机进行处理。
2. 单片机:单片机作为整个系统的核心,负责接收GPS模块传输的数据,并进行解析、处理、存储等操作。
它可以根据接收到的GPS数据计算出当前的经纬度、速度、航向等信息。
3. 外围设备:为了增强单片机GPS定位系统的功能,可以添加一些外围设备,比如LCD显示屏、蜂鸣器、SD卡等,以方便数据的显示、存储和报警等功能。
二、硬件搭建单片机GPS定位系统的硬件搭建需要以下几个主要的组成部分:1. GPS模块:选择一款符合需求的GPS模块,可直接通过串口或者I2C总线与单片机进行连接。
2. 单片机:选择一款适合的单片机,常用的有AVR、PIC等系列,根据系统需求选择合适的型号。
3. 外围电路:包括供电电路、晶振电路、通信电路等。
在硬件搭建中需要注意的问题:1. 电源供应稳定:为GPS模块和单片机提供稳定的电源是系统正常运行的关键。
2. 通信接口选择:根据GPS模块的类型选择适当的通信接口,如UART或I2C 等。
3. 接地和屏蔽:在布线时需要注意接地和屏蔽,以提高系统的抗干扰性能。
三、应用领域单片机GPS定位系统广泛应用于以下几个领域:1. 车辆定位与导航:通过安装在车辆上的单片机GPS定位系统,可以实时获取车辆的位置信息,并提供导航功能,方便车辆管理和导航。
GPS定位信息的单片机显示
GPS定位信息的单片机显示时间:2007-05-23 来源: 作者: 点击:2082 字体大小:【大中小】利用GPS(Global Positioning System)全球定位系统而建立的实时导航、定位、授时系统目前已被广泛应用。
本文介绍使用GARMIN公司的GPS25-LVS系列OEM (Original Equipment Manufacturer)接收板及单片机实现实时时间、经纬度等综合信息显示的设计方法。
GPS25-LVS系列OEM板采用单一5V供电,内置保护电池,RS232、TTL两种电平自动输出NMEA 0183 2.0格式(ASCII字符型)语句,是目前应用最广泛的GPS接收处理板,能满足各种导航和授时领域的需求。
具有很高的性价比和强有力的市场竞争力,其主要性能特点如下:1.并行12通道,可同时接收12颗卫星2.定位时间:重捕<2sec,热启动为15sec,冷启动45sec,自动搜索90sec3.定位精度:15mRMS/差分时<5m4.可接收实时差分信号用于精确定位,信号格式为RTCM SC-104,波特率自适应。
5.1PPS秒脉冲信号输出,精度指标高达10-6秒6.双串口(TTL)输出,波特率可由软件设置(1200~9600)7.环境工作温度:-35°C—+85°C8.尺寸:46.5×69.8×11.4mm9.重量:31g10.输入电压:5.0VDC+/-5%11.灵敏度:-166Dbw12.后备电源:板置3V锂电池(10年寿命)13.功耗:1W14.天线接口:50—ohm MCX 接头有源天线(5V)15.电源/数据口:单排12插针1 控制系统的硬件原理1.1 GPS25-LVS系列OEM接收板硬件接口GPS25-LVS系列OEM接收板采用12脚的接口,接口各引脚的功能如图1所示。
设计中使用了串口1或12脚的NMEA输出,串口1可用于PC机对OEM接收板进行参数设置,12脚NMEA输出用于单片机信息处理。
GPS信息显示器应用单片机的设计分析
GPS信息显示器应用单片机的设计分析摘要:在我们日常的实际生活中,GPS(Globle Positioning System)的应用已经颇为广泛。
当今信息飞速传播交流我们就要保证信息传播的速度性、时效性。
因此,加快信息传播速度,链接传播渠道至关重要。
本文就详细介绍了GPS的相关数据如何通过设计的硬件转换为详细的可读数据,并且数据详细的反映出具体所需要的时间刻度、经纬刻度以及相关信息。
本文通过介绍相关的单片机的具体应用中的设计理念和方法来展示设计原理和设计目的。
分别通过对相关产品的硬件方面和软件方面进行分析,得出观点。
关键词:GPS,单片机,信息传播,设计分析引言GPS作为当今社会中最先进的信息系统,在社会发展和进步的过程中发挥着不可替代的作用。
随着社会的不断前进发展,对它的应用也日渐广泛,我国的GPS技术应用晚,但需求大,不仅是军事、农产乃至于日常生活,都密切相关。
关于显示器应用方式,GPS信息显示器单片机的应用相对更为输出的成本小,普及度高,应用方式灵活,单片机自身就注重自我供应不需要多余的外接硬件设备,在愈渐需要的环境中,设计科学合理更为重要性。
1、GPS信息系统的概述1.1 GPSGPS全球定位系统起源于美国,最开始是美国军方的一个军事项目。
1964年时美方投入使用,而真正的进入新时期实在1978年2月22日的首次GPS卫星成功入轨。
在九十年代时GPS卫星的全球覆盖范围已经到达了百分之九十八。
而GPS的应用范围也涉及到了陆路应用、海洋应用、航空应用着三大领域,并且提供时效性、全球性的导航服务。
这些都可以看出GPS技术的广泛性和重要性,它已经涉及到了各个领域的方方面面,但这些功能的关键点在于接受信息然后转换为可读信息输出。
在我们日常生活中,也处处充载着这项技术,例如GPS车载导航系统、手机GPS导航等。
本论文讨论的应用单片机的GPS信息显示器,相对市面上的更为价格合理和应用普遍性。
1.2 设计内容GPS信息显示器应用单片机的设计的主要内容就是关于在理解GPS技术和单片机的相关知识和理论的前提下,合理选择恰当的单片机来进行模块接收数据然后将数据转换到显示屏为可读模式。
基于单片机的GPS定位系统设计
基于单片机的GPS定位系统设计摘要GPS是全球定位系统英文名词Global Positioning System的缩写。
该系统是美国布设的第二代卫星无线电导航系统。
它能为用户提供全球性、全天候、连续、实时、高精度的三维坐标、三向速度和时间信息。
其目的是在全球范围内对地面和空中目标进行准确定位和监测。
现在,GPS接收机作为一种先进的导航和定位仪器,已在军事及民用领域得到广泛的应用。
本设计是基于AT89C51单片机来实现的简易GPS定位信息显示系统。
本控制系统主要完成接受数据、时间显示、经度显示、纬度显示等常规功能。
此方案基于单片机、GPS模块和12864液晶显示屏等硬件, 并应用C语言实现了GPS信号的提取、显示及基本的键盘控制操作等。
经过实践测试,这种接收机可以达到基本GPS信息的接收以及显示,可以做到体积小、精度高、连续导航,并可广泛应用于个人野外旅游探险、出租汽车定位及海上作业等领域。
关键词:GPS定位系统,单片机,液晶显示屏DESIGN OF GPS RECEIVER BASED ON 51 SINGLE CHIPCOMPUTERABSTRACTGPS is the abbreviation of the English term Global Positioning System global positioning system. The system is the United States laid the second generation satellite radio navigation system. It can provide users with continuous, real-time, global, round-the-clock, high precision three dimensional coordinates, three velocity and time information. Aimed at targets on the ground and in the air around the world an accurate positioning and monitoring. Now, as an advanced GPS receiver navigation and positioning equipment, has a wide range of applications in military and civilian areas.This design based on the AT89C51 microcontroller is used to implement a simple GPS positioning information display system. This control system is mainly done to accept the data, time display, latitude, longitude, and other routine functions. This program is based on single-chip, GPS module and 12864 LCD display, hardware, c language implementation and application of the GPS signal extraction, display and keyboard control of basic operations. Practice tests, thisreceiver can receive and display the basic GPS information. small size, high accuracy, continuous navigation can be done, and can be widely applied to individuals in the wild tour adventure, hire car positioning and operations at sea, and other areas.KEY WORDS:GPS positioning system, microcontroller, LCD display目录前言 (1)第1章GPS系统简介 (4)1.1 GPS的由来及发展 (4)1.2 GPS定位系统的基本原理 (5)1.3 GPS模块定位流程 (5)1.4 本设计的主要工作 (6)第2章系统硬件设计 (7)2.1 单片机 (7)2.1.1 AT89C51单片机的结构原理 (8)2.1.2 AT89C51单片机的主要特性 (9)2.2 GPS模块 (10)2.2.1 概述 (10)2.2.2 主要技术参数及产品特点 (11)2.2.3 管脚介绍及与单片机的接口电路 (12)2.3 显示部分 (14)2.3.1 LCD12864概述 (15)2.3.2 基本特性 (16)2.3.3 模块接口说明 (17)第3章系统软件设计 (20)3.1 系统软件概述 (20)3.2 软件程序的编写 (21)3.2.1 初始化模块 (21)3.2.2 数据接收处理模块 (21)第4章系统调试 (23)4.1 硬件调试 (23)4.2 软件调试 (23)4.3 系统测试结果 (25)结论 (27)谢辞 (28)参考文献 (29)附录 (32)外文资料翻译 (52)前言GPS卫星导航全球定位系统问世以来,在导航、定位领域发展势头迅猛,引起世界各界人士的关注。
基于单片机的GPS定位显示系统
基于单片机的GPS定位显示系统【摘要】GPS系统组成中的三大部分:太空部分、监控部分和用户部分,环环相扣。
基于单片机的GPS定位显示系统,对于增强各个部分的联系与衔接起到了很好的作用。
本文就单片机的GPS定位显示系统做了初步探究。
【关键词】GPS;单片机;显示系统;定位一、前言GPS定位系统的应用始于美国,近几年对GPS的发展与改进有了很大的进展。
我国GPS系统的应用起步稍晚,但是近几年也有长足发展。
GPS系统广泛应用于通信、军事以及民用设施。
在现有的GPS接收模块GR-87的基础上,利用单片机对GR-87输出的信息(时间、经度、纬度、海拔、速度等)进行提取和处理,通过显示模块显示出来,从而实现实时定位、导航的功能,使得GPS的应用有了更广阔的舞台。
二、GPS系统简介1、GPS系统组成GPS系统主要分为三部分: 太空部分、监控部分和用户部分。
(1)、太空部分太空部分包括24 颗工作卫星,以55°倾角分布在地球上空20~200km 的6个轨道上,运行周期为12恒星时。
这样的分布使地球上任何位置的用户在任意时刻都可以同时接收到至少6颗卫星的定位信号,这些卫星则不断的给全球用户发送位置和时间的广播数据。
(2)、监控部分监控部分由分布在全球的若干个跟踪站组成的监控系统构成,根据其作用的不同,这些跟踪系统又可被分为主控站、监测站和注入站,其中主控站有一个,注入站有三个,监测站有五个。
主控站的任务是收集、处理各监测站对GPS 的监测数据,从而计算出每个卫星的星历和卫星钟的改正参数。
注入站的任务是将主控站计算出来的卫星的星历和卫星钟的改正参数注入到卫星中去。
监测站的任务是对每颗卫星进行监测,并向主控站提供卫星的观测数据(3)用户部分用户部分是满足用户定位精度和动态特性要求的接收机,其作用是接收GPS 卫星所发出的无线电信号,并利用这些信号进行导航、定位等工作。
用户部分由GPS接收机数据处理软件以及相应的用户设备等组成。
基于单片机采集GPS数据系统的设计
第27卷第2期2006年4月 青 岛 科 技 大 学 学 报Jo urnal of Qingdao U niversity of Science and TechnologyVol.27No.2Apr.2006 文章编号:167226987(2006)022*******基于单片机采集GPS数据系统的设计刘 晓,伍小东,姚军光,魏权利3(青岛科技大学自动化与电子工程学院,山东青岛266042)摘 要:介绍了O EM板的组成和特点,分析了NM EA20183语句的数据格式及信息组成,结合硬件特点研究了MCS251单片机与O EM板的串行通信问题,并给出了单片机读取导航数据的方法。
关键词:全球定位系统;接收机;单片机;O EM板;串行通信中图分类号:TP311 文献标识码:BDesign of Sampling GPS Data System B ased onSingle Chip MicrocomputerL IU Xiao,WU Xiao2dong,YAO Jun2guang,WEI Q uan2li(College of Automation and Electronic Engineering,Qingdao University ofScience and Technology,Qingdao266042,China)Abstract:In t his paper t he construction and characteristics of O EM board are int roduced and data format and information const ruction of NM EA20183are analyzed.Based on t he research of t he serial communication between MCS251single chip microco mp uter and O EM board according to t he hardware characteristic,a met hod of reading t he navigation message is p ut forward by single chip microcomp uter.K ey w ords:GPS;receiver;single chip microcomp uter;O EM board;serial communica2 tion 全球定位系统(Glo bal Po sition System,简称GPS)是美国于1994年建成的,可在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统,具有全天候、高精度、自动化和高效益等特点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、单片机解读GPS信息的程序设计用单片机解读GPS信息是GPS模块使用最重要的环节,由于汲设到产品的保密问题,这里只介绍时间的处理方法,而方位、速度的处理方法不做介绍,但通过时间的处理方法,同样可以处理方位、速度。
1、获取GPS模块的输出信息由于GPS模块每秒输出一次:$GPGGA 、$GPGSA、$GPGSV、$GPRMC数据。
速率慢,因此必须采用中断方式接收!(采用查询会造成数据丢失),而且单片机只需要处理$GPRMC 信息,即可得到时间、方位、速度。
程序采用C51编制,在Keil C中编译!code unsigned char GPS_ASC[]="$GPRMC" ;//定义特征字符串unsigned char idata RsBuf[60];//**********************************************************//读取GPS模块串口数据, 采用中断方式void GetRs232_Data() interrupt 4{unsigned char i;unsigned int j;if (RI){RI=0;RsBuf[0]=SBUF;if (RsBuf[0] =='$'){//是GPS数据的开始,进入查询接收for (i=1;i<sizeof(GPS_ASC)-1;i++){j=GetUartDat();//接收下一个数据if (j<256) {RsBuf=(unsigned char)j;if (RsBuf!=GPS_ASC) return;}}//判别是否为$GPRMC数据,是继续接收!for (;i<sizeof(RsBuf);i++){j=GetUartDat();if (j<256) {RsBuf=(unsigned char)j;}else{break;}}// 接收完毕处理数据!if (1==JiaoYanDat(RsBuf)){FormatTimer(RsBuf);//格式化时间FormatSpeed(RsBuf);//处理速度}}}}// 2、接收数据的处理//数据处理前,必须要再次检验是否为$GPRMC信息。
unsigned char JiaoYanDat(unsigned char *p){unsigned char *pP;pP=strstr(p,GPS_ASC);if (pP == NULL) return 0;return 1;}// 3、接收的数据全部转换成二进制数据,便于纠错处理。
unsigned char ASC_To_Bin(unsigned char *p){unsigned char i;if (p[0]<'0' || p[0]>'9') return 0;if (p[1]<'0' || p[1]>'9') return 0;i=(p[0]-'0')*10;return (i+p[1]-'0');}// 4、时间调整//由于GPS模块采用格林威治时间,与北京时间相差8个时区,所以要加入8小时。
unsigned char TurnGLW(unsigned char GLW){return (GLW+8)%24;}// 5、格式化标准时间// 定义一个时间的数据结构:typedef struct{unsigned int ms;unsigned char Sec;unsigned char Min;unsigned char Hour;unsigned char Day;unsigned char Mon;unsigned char Week;unsigned char Year;}TIMER;//由于GPS模块输出的毫秒不准,所以时间数据结构中的ms变量数据不准!请不要随便使用!void FormatTimer(unsigned char *p){unsigned char i;Timer.ms=(p[14]-'0')*100+(p[15]-'0')*10+p[16]-'0';Timer.Hour=TurnGLW(ASC_To_Bin(&p[7]));Timer.Min=ASC_To_Bin(&p[9]);Timer.Sec=ASC_To_Bin(&p[11]);if (p[50]==','){Timer.Day=ASC_To_Bin(&p[51]);Timer.Mon=ASC_To_Bin(&p[53]);Timer.Year=ASC_To_Bin(&p[55]);}}// 6、单片机接收串口的数据//由于单片机接收GPS后续数据,采用了查询方式!所以要注意避免死机!必须要带超时处理!unsigned int GetUartDat(void){unsigned int i=0,j=0;RI=0;while(!RI){if (i++>30000){//超时时间j=256;return j; //退出标志}}j=SBUF;RI=0;return j;}// 7、单片机的串口设置// 采用89C52接收GPS数据的串口设置#define OSC0//定义使用晶振0=11.0592 1=18.4320#if OSCcode char BPSAsc[]={0x60,0xb0,0xd8,0xec,0xf6,0xfb,0xfb,};//18.4320MHz#elsecode char BPSAsc[]={0xa0,0xd0,0xe8,0xf4,0xfa,0xfd,0xfd,};//11.0592MHz#endif// 串口设置void InitBps (char Bps ){PCON &=0x7f;//PCON。
7==0SCON =0x50;//设置成串口1方式TH1=BPSAsc[Bps];//22.1184必须*2 2004-12-16TL1=TH1;TR1=1;}四、NEMA 0183协议祥解该协议为NAEA 0183 20版(此协议是为了在不同的GPS导航设备中建立统一的RTCM标准)。
下列命令描述了GPS 25导航仪的数据格式定义,包括波特率选择,秒脉冲输出,RTCM定义输出。
1、NMEA接收语句*GPS 25输入语句,主要为初始化,参数设置导通过RXP管脚(1)ALM(历书信息)格式:$GPALM、<1>、<2>、<3>、<4>、<5>、<6>、<7>、<8>、<9>、<10>、<11>、<12>、<13>、<14>、<15>、*hh<CR><LF>如果板上的备用电池耗完,用此语句初始化信息<1>在历书下传时能将历书总数传至GPS板上,当发送历书到GPS板上此字段可空或任意数。
<2>当前历书数20这个字段可为空或任意值;<3>卫星PRN数不清0到32<4>GPS星历数<5>SV状态,每个历书的17-24位<6>离心率<7>星历参考时间<8>倾角<9>上升速率<10>半轴<11>近地点的末端<12>节经度<13>近点离角<14>Afo 时间参数<15> Af1 时间参数hh:语句末端的hh为该语句的校检符,应由用户计算送给GPS 25板,计算规则为:“S”后的所有字节的8个计,每4个组成一个BCD码(A、B、C等应用大写)。
GPS 25输出,语句后均有校验位,用户可通过它,验证结果。
(2)初始化信息命令(仅在GPS 25上用)$PGRMI用来初始化板子设定卫星位置和时间该语句一般在裙位置和当前实际位置的距离超过800公里时使用,以回忆定位速度格式:$PGRMI$GPALM、<1>、<2>、<3>、<4>、<5>、<6>、*hh<CR><LF><1>纬度ddmm.mmm格式(初始化必须被写入板子)<2>纬度方向N或S<3>经度ddmm.mmm格式(初始化必须被写入板子)<4>经度方向E或N<5>当前UTC日期,kkmm yy格式<6>当前UTC时间hhmm ss格式(3)板子配置信息命令(仅用于GPS 25)$GPALM配置接收板上的参数,存储在备用电池上。
$GPALM、<1>、<2>、<3>、<4>、<5>、<6>、<7>、<8>、<9>、<10>、<11>、<12>、*hh<CR><LF><1>合适的工作模式A——自动,2——2D模式,3—3D模式<2>海平面高度-1500.00~1800.00米<3>地理坐标索引<4>用户在地坐标<5>用户大地坐标精度<6>用户大地坐标x轴<7>用户大地坐标y轴<8>用户大地坐标z轴<9>差分模式A—自动(激活时自动输出差分信息)D—差分模式<10>NMEA波特率1=200 2=2400 3=4800 4=9600<11>速度滤波器状态0=不过滤1—自动2~255=滤波器时间常数<12>PPS模式:1=无Z=1HZ波特率和PPS的改变在重新加电或PIN6初始化后发挥作用。
(4)输出语句的激活(仅适用于GPS 25)$PGRMO决定是否进行语句输出。
$PGRMO<1>、<2>*hh<CR><LF>(1)语句描述(2)语句模式0—关闭特殊1 —开启特2—关闭所有3—开启所有(除GPALM)注意:(1)如果为2或3时,不做检验。
允许有空字段(2)如果为0或1时,描述字段必须被定义(3)如果如果都不作用时(指上语句中<1><2>),该语句无影响(4)$PGRMO、GPALM、1将传送所有昨历2、NMEA的发送语句通过TXD管脚(GPS 25板上)(1)传输速率用户可自定义传输长度表传输长度=传输总字符数/每秒传输数波特率每秒传输数语句最大字符1200120GPGGA722400240GPGSA654800480GPGSV2109600960GPRMC70GPVTG34PGRME36PGRMT47PGRMV26PGRMF79LCGLL36LCDTG34缺省波特率为48000。