基于51单片机的GPS定位系统的设计说明.docx

上传人:b****1 文档编号:10762476 上传时间:2023-05-27 格式:DOCX 页数:21 大小:648.59KB
下载 相关 举报
基于51单片机的GPS定位系统的设计说明.docx_第1页
第1页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第2页
第2页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第3页
第3页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第4页
第4页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第5页
第5页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第6页
第6页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第7页
第7页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第8页
第8页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第9页
第9页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第10页
第10页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第11页
第11页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第12页
第12页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第13页
第13页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第14页
第14页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第15页
第15页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第16页
第16页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第17页
第17页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第18页
第18页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第19页
第19页 / 共21页
基于51单片机的GPS定位系统的设计说明.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于51单片机的GPS定位系统的设计说明.docx

《基于51单片机的GPS定位系统的设计说明.docx》由会员分享,可在线阅读,更多相关《基于51单片机的GPS定位系统的设计说明.docx(21页珍藏版)》请在冰点文库上搜索。

基于51单片机的GPS定位系统的设计说明.docx

基于51单片机的GPS定位系统的设计说明

摘要1

第一章51单片机概述1

1.151单片机系统的结构组成1

1.251单片机系统的功能特性2

1.2.151单片机系统的结构2

1.2.2功能特性:

3

1.38255芯片原理及其功能3

1.4液晶显示模块原理5

第二章GPS定位系统简介5

2.2GPS定位系统的基本原理6

2.3GPS模块定位流程6

2.4NMEA-0183数据格式7

第三章硬件连接电路7

3.1单片机7

3.2GPS模块8

3.2.1概述8

3.2.3管脚介绍9

3.3显示部分9

第四章软件设计11

4.1系统软件概述11

4.2软件程序的编写11

4.2.1初始化模块11

4.2.2数据处理模块11

4.2.3人机对话模块14

4.3代码实现15

第五章实验总结16

参考文献16

摘要

GPS是英文GlobalPositioningSystem(全球定位系统)的简称。

GPS起始于1958年美国军方的一个项目,1964年投入使用。

20世纪70年代,美国陆海空三军联合研制了新一代卫星定位系统GPS。

主要目的是为陆海空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的,经过20余年的研究实验,耗资300亿美元,到1994年,全球覆盖率高达98%的24颗GPS卫星星座己布设完成。

在机械领域GPS则有另外一种含义:

产品几何技术规(GeometricalProductSpecifications)-简称GPS。

第一章51单片机概述

1.151单片机系统的结构组成

51单片机是对所有兼容Intel8031指令系统的单片机的统称。

该系列单片机的始祖是Intel的8031单片机,后来随着Flashrom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。

很多公司都有51系列的兼容机型推出,今后很长的一段时间将占有大量市场。

51单片机是基础入门的一个单片机,还是应用最广泛的一种。

需要注意的是52系列的单片机一般不具备自编程能力。

当前常用的51系列单片机主要产品有:

*Intel的:

80C31、80C51、87C51,80C32、80C52、87C52等;

*ATMEL的:

89C51、89C52、89C2051等;

*Philips、华邦、Dallas、Siemens(Infineon)等公司的许多产品

国产宏晶STC单片机以其低功耗、廉价、稳定性能,占据着国51单片机较大市场。

基础51单片机。

[1]

 

1.251单片机系统的功能特性

1.2.151单片机系统的结构

 

·8位CPU·4kbytes程序存储器(ROM)(52为8K)

·128bytes的数据存储器(RAM)(52有256bytes的RAM)

·32条I/O口线·111条指令,大部分为单字节指令

·21个专用寄存器

·2个可编程定时/计数器·5个中断源,2个优先级(52有6个)

·一个全双工串行通信口

·外部数据存储器寻址空间为64kB

·外部程序存储器寻址空间为64kB

·逻辑操作位寻址功能·双列直插40PinDIP封装

·单一+5V电源供电

CPU:

由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;

RAM:

用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;

ROM:

用以存放程序、一些原始数据和表格;

I/O口:

四个8位并行I/O口,既可用作输入,也可用作输出;

T/C:

两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;

五个中断源的中断控制系统;

一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;

片振荡器和时钟产生电路,石英晶体和微调电容需要外接。

最高振荡频率为12M。

1.2.2功能特性:

1),可以仿真63K程序空间,接近64K的16位地址空间;

2),可以仿真64Kxdata空间,全部64K的16位地址空间;

3),可以真实仿真全部32条IO脚;

4),完全兼容keilC51UV2调试环境,可以通过UV2环境进行单步,断点,全速等操作;

5),可以使用C51语言或者ASM汇编语言进行调试;

6),可以非常方便地进行所有变量观察,包括鼠标取值观察,即鼠标放在某变量上就会立即显示出它此的值;

7),可选使用用户晶振,支持0-40MHZ晶振频率;

8),片上带有768字节的xdata,您可以在仿真时选使用他们,进行xdata的仿真;

9),可以仿真双DPTR指针;

10),可以仿真去除ALE信号输出.;

11),自适应300-38400bps的所有波特率通讯;

12),体积非常细小,非常方便插入到用户板中.插入时紧贴用户板,没有连接电缆,这样可以有效地减少运行中的干扰,避免仿真时出现莫名其妙的故障;

13),仿真插针采用优质镀金插针,可以有效地防止日久生锈,选择优质园脚IC插座,保护仿真插针,同时不会损坏目标板上的插座.;

14),仿真时监控和用户代码分离,不可能产生不能仿真的软故障;

15),RS-232接口不计成本采用MAX202集成电路,串行通讯稳定可靠,绝非一般三极管的简易电路可比。

1.38255芯片原理及其功能

8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。

具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。

其各口功能可由软件选择,使用灵活,通用性强。

8255可作为单片机与多种外设连接时的中间接口电路。

8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。

同时必须具有与外设连接的接口A、B、C口。

由于8255可编程,所以必须具有逻辑控制部分,因而8255部结构分为3个部分:

与CPU连接部分、与外设连接部分、控制部分。

1)与CPU连接部分

根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。

由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。

此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。

各信号的引脚编号如下:

(1)数据总线DB:

编号为D0~D7,用于8255与CPU传送8位数据。

(2)地址总线AB:

编号为A0~A1,用于选择A、B、C口与控制寄存器。

(3)控制总线CB:

片选信号、复位信号RST、写信号、读信号。

当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。

2)与外设接口部分

根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。

各通道的引脚编号如下:

(1)A口:

编号为PA0~PA7,用于8255向外设输入输出8位并行数据。

(2)B口:

编号为PB0~PB7,用于8255向外设输入输出8位并行数据。

(3)C口:

编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。

3)控制器

8255将3个通道分为两组,即PA0~PA7与PC4~PC7组成A组,PB0~PB7与PC0~PC3组成B组。

如图7.5所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:

(1)A组控制器:

控制A口与上C口的输入与输出。

(2)B组控制器:

控制B口与下C口的输入与输出。

 

1.4液晶显示模块原理

液晶显示模块是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源、结构件装配在一起的组件.英文名称叫“LCDModule”,简称“LCM”,中文一般称为“液晶显示模块”。

实际上它是一种商品化的部件.根据我国有关国家标准的规定:

只有不可拆分的一体化部件才称为“模块”,可拆分的叫作“组件”。

所以规的叫法应称为“液晶显示组件”。

但是由于长期以来人们都已习惯称其为“模块”。

    液晶显示器件是一种高新技术的基础元器件,虽然其应用巳很广泛,但对很多人来说,使用、装配时仍感到困难。

特别是点阵型液晶显示器件,使用者更是会感到无从下手.特殊的连接方式和所需的专用设备也非人人了解和具备,故此液晶显示器件的用户希望有人代劳,将液晶显示器件与控制、驱动集成电路装在一起,形成一个功能部件,用户只需用传统工艺即可将其装配成一个整机系统。

  从广义上说,凡是由液晶显示器件和集成电路装配在一起的部件都属于“模块”,但实际上我们通常所说的“模块”主要是指点阵液晶显示器件装配的点阵液晶显示模块,特别因为是点阵液晶显示器件产品除某些专用大批量的一些品种(如翻译机、通讯用),生产厂家是直接向用户供应液晶显示器件外,几乎所有通用型点阵液晶显示器件都是加工成模块后才供给用户的,所以很容易形成“液晶模块”就是“点阵液晶模块”的误解。

第二章GPS定位系统简介

2.1GPS简介

导航卫星定时测距全球定位系统(NavigationSatelliteTimingandRangingGlobalPositionSystemGPS)是美国第二代卫星导航系统。

它在1973年底由美国陆海空三军等单位协调分工提出的能取代旧式的导航设备,为军用舰船、飞机车辆等用户提供全球全天候、连续实时服务的高精度三维导航系统。

系统由空间部分、地面监控部分和地面接收机部分组成。

定位服务包括精密定位服务(PPS)和标准定位服务(SPS)。

PPS授权的精密定位系统用户需要密码设备和特殊的接收机。

SPS对于普通民用用户,供全世界用户免费、无限制地使用[2]。

由于GPS具有全球覆盖以及精度高、定位速度快、实时性好、抗干扰能力强等特点,近年来在国外得到广泛的应用,在各个领域发挥了极大的作用,已成为信时代不可缺少的一部分。

各种GPS民用产品的开发,已是经济和社会发展的必然要求,其前景将会非常广阔和光明,尤其是在我国,通过这些年来对它认识不断加深,我国的GPS开发应用也一定会以科技力量推动经济和社会发展的一颗巨星,对我国的经济和社会的发展产生重大的影响。

2.2GPS定位系统的基本原理

GPS定位原理

GPS定位的基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置。

如图所示,假设t时刻在地面待测点上安置GPS接收机,可以测定GPS信号到达接收机的时间△t,再加上接收机所接收到的卫星星历等其它数据可以确定以下四个方程式。

2.3GPS模块定位流程

1.搜索可用卫星,接收卫星信号,与卫星信号同步,提取导航电文信息;

2.从导航电文中获取计算位置所需的信息,这些信息应该包括时钟信息和星历等数据;

3.计算卫星的准确位置,这包括计算卫星的高度和方位角,从而进行必要的对流层校正;

4.计算伪距,并进行电离层校正等;

5.重复上述过程,对所有可用卫星进行相应的计算;

6.进行其他必要的校正,例如根据卫星信号到达GPS接收机的时间,校正地球旋转所造成的卫星位置的偏差;

7.根据定位原理,计算出GPS接收机的初始位置,并将其转换成所需的坐标格式进行显示或输出;

8.加入闰秒和UTC(标准世界时)时间补偿计算当前精确的时间;

9.分析可用卫星的信息,计算最好的DOP(DilutionofPrecision),进行选星,并计算和修正GPS接收机的位置,给出GPS接收机的三维坐标和准确的时间信息。

2.4NMEA-0183数据格式

序号

命令

说明

最大帧长

1

$GPGGA

全球定位数据

72

2

$GPGSA

卫星PRN数据

65

3

$GPGSV

卫星状态信息

210

4

$GPRMC

运输定位数据

70

5

$GPVTG

地面速度信息

34

6

$GPGLL

坐标信息

7

$GPZDA

UTC时间和日期

 

第三章硬件连接电路

3.1单片机

硬件核心控制任务是由单片机来完成的,单片机的采用使硬件电路设计大大简化,而性能更加可靠。

目前,可采用的微处理器有很多种,如:

MCS-51、Me6sol、280、eopsoo、等8位单片机,虽然16位单片机在1982年已经问世,但其发展并不象人们想象的那样快,尽管在某些性能指标方面超过了8位单片机,但从性能价格比及开发周期等综合效益上不如8位单片机,因此应用并不普及。

在本次设计中,采用MCS-51系列单片机,虽然信号处理和计算的功能相对差些,但其结构简单、体积小、性价比高、可靠性高、功耗小及应用围广,适合于小型化作业。

因此,笔者选择了AT89C51单片机作为微控制器。

它具有全双工异步通信口,可与GR-87接口进行数据读取,处理和输出。

GPS信号接收和处理部分与单片机进行串口通信时,由于都采用TTL电平,故两者之间不需进行电平转换就可直接通信。

3.2GPS模块

3.2.1概述

根据设计需要,GPS模块选用GR-87。

HOLUXGR-87是一个高性能,低功耗,小型的并且很容易联合的GPS模块,它每次将跟踪12枚卫星,应用广泛。

当GR-87系统最初的自检完成后,它开始处理卫星所获得的数并自动跟踪。

在正常情况下,它需要大约45秒达到位置进行定位,但如果ephemeris数据知道,只用38秒即可。

在被计算了之后,合法的位置、速度和时间等信息被传送到输出通道,通过串口传送到单片机设备。

GR-87运用最初的数据,例如前被存放的位置、日期和卫星轨道数据,完成最大获取。

3.2.2主要技术参数:

1.输入电压:

3.3-5.5VDC输入。

输入电流;少于80mA(没有天线);

2.RF接口:

天线连接器类型:

MMCX,2.8VDC产品(任意产品VCC_IN);

3.极小的信号跟踪:

-159dBm;

4.连续端口:

二个全双工串行通信CMOS3V接口,可选择的波特速率(4800默认,9600,19200,38400)本设计选用4800;NMEA0183版本2.2ASCII输出(GGA,GSA,GSV,RMC(VTG,任意的GLL和ZDA));DGPS协议RTCMSC-104消息类型1,2和9;SiRF二进制位置,速度,高度,状态输出。

3.2.3管脚介绍

管脚

管脚名称

功能描述

1

VCC-5V

+3.5~5.5Vdc电量输入

2

TXA

串行数据输出端口A(CMOS3V:

Voh2.4VVol0.4VIoh=Iol=2mA)

3

RXA

串行数据输入端A(CMOS3V:

Vih≧0.7*VCCVil≦0.3*VCC)

4

RXB

串行数据输入端B(CMOS3V:

Vih≧0.7*VCCVil≦0.3*VCC)

5

GND

接地

6

时钟/复位

时钟:

1PPS时钟信号输出(Vil≦0.2V脉冲

宽度10ms)。

复位:

复位输入

3.3显示部分

液晶显示LCD(LiquidCrystalDisplay),是利用液晶材料在电场作用下发生位置变化,而遮蔽/通透光线的性能制作成为一种重要平板显示器件。

通常使用的LCD器件有TN型(TwistNematic,扭曲向列型液晶)、STN型(SuperTN,超扭曲向列型液晶)和TFT型(ThinFilmTransistor,薄膜晶体管型液晶)。

TN、STN、TFT型液晶,性能依次增强,制作成本也随之增加。

TN和STN型常用作单色LCD。

STN型可以设计成单色多级灰度LCD和伪彩色LCD,TFT型常用作真彩色LCD。

采用LCM液晶显示模块作为人机交互界面。

液晶显示模块是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源、结构件装配在一起的组件。

字符型液晶显示模块目前在国际上已经规化,无论显示屏规格如何变化,其电特性和接口形式都是统一的。

从性价比等方面考虑,这里选用太阳人电子生产的字符型液晶显示模块SMC1602,它是一种用5x7位图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等。

本设计以常用的2行16个字的1602液晶屏来构成整个系统的显示模块。

SMC1602采用标准的16脚接口,具体定义如下:

16脚接口

引线号

符号

名称

功能

1

Vss

接地

0V

2

VDD

电路电源

5V±10%

3

VL

液晶显示偏压信号

调节对比度

4

RS

寄存器选择信号

H:

数据寄存器L:

指令寄存器

5

R/W

读/写信号

H:

读L:

6

E

片选信号

下降沿触发,锁存数据

7

|

14

DB0

|

DB7

数据线

数据传输

15

BLA

背光源正极

提供背光

16

BLK

背光源负极

提供背光

主要技术参数:

技术参数

显示容量

16×2个字符

芯片工作电压

4.5—5.5V

工作电流

2.0mA(5.0V)

模块最佳工作电压

5.0V

字符尺寸

2.95×4.35(WXH)mm

 

第四章软件设计

4.1系统软件概述

系统的软件流程是:

开机上电后初始化,然后单片机开始接收GPS模块发送的数据,并判断数据是否有效,若数据有效则显示所需的信息,数据无效则等待直至收到有效数据。

在等待过程中,单片机响应键盘输入的信息,但键盘输入不是必须的。

系统图如图所示:

系统软件由以下模块组成:

初始化模块、数据处理模块和人机对话模块。

初始化模块完成开机上电后对单片机和液晶显示器初始化。

对单片机设置串口工作模式和中断工作模式;对液晶显示器设置开机画面和显示模式。

数据处理模块主要是从GPS模块接收数据,判断数据的有效性,对有效数据进行相应的格式处理,然后等待送液晶显示器显示。

数据处理模块的工作从开机上电开始一直连续不断的进行,直到关机为止。

人机对话模块主要是相应的显示器显示。

该部分完成从单片机读数据到液晶显示器和从液晶显示器读数据到单片机的双向传输工作。

4.2软件程序的编写

4.2.1初始化模块

1.单片机

根据3.2对单片机串行通信的详细介绍可知:

本设计选择串行通信工作方式1并允许接收;选择定时器1,模式2;根据波特率为4800b/s,计算出定时器计数初值;启动定时器1;开总中断、串口中断。

2.液晶显示

通过初始化函数LCMInit()进行初始化,然后又调用显示字符串函数以便让屏幕显示"GPSMonitorV1.2"字样,表示准备工作,接着延时400Ms然后调用清屏函数进行一次清屏。

4.2.2数据处理模块

数据处理模块负责处理从GPS模块接收到的数据。

由于这些数据格式符合NMEA0183ASCII码接口协议,所以接收到的数据会转换为需要的信息。

1.接收总流程图

图5-2接收总流程图

2.命令类型判断流程图(以GPGGA为例)

图5-3命令类型判断流程图

当类型数据接收完毕,先判断类型。

本设计中有3种类型数据,即GPGGA、GPGSV、GPRMC。

如果接收到的是GPGGA,则将命令类型置1,接收命令模式赋为2,逗号和位数均清空。

3.GPGGA数据存储流程图

图5-4GPGGA数据存储流程图

开始接收类型数据。

此时,当逗号计数为2且位计数小于9,就将纬度数据一位一位存储起来(存储一位后RI便置0以接收下一位)。

当接收数据为“,”时,则逗号计数加1为3同时位计数清空,如果位计数小于1,则将纬度方向数据一位一位存储起来(同上)。

当逗号计数再加1为4时同时位计数清空,这时位计数只要小于10,就将经度数据一位一位存储起来(同上)。

依次类推,会顺次将经度方向、定位判断、定位使用的卫星数、高度处理存储起来。

然后会接收到“*”,说明整句接收完成并将其置为结束模式。

同理可知,GPGSV、GPRMC语句的接收过程。

4.2.3人机对话模块

人机对话模块主要是显示器工作。

显示器经过初始化、设置才能正确显示信息,才能够对输入的信息显示出来。

这个要点在前面已有描述.

1.显示总流程图

图5-5显示流程图

2.GPRSM信息显示流程图

图GPRSM信息显示流程图图5-7页面切换流程图

GPS接收机打开后,如果有GPS信号,首先检测是否有按键切换显示。

如果没有,则屏幕显示第一页,反之显示第二页(这里只介绍第二页显示)。

当接收有效数据为GPRMC,其数据均在第二业显示,先显示时间,然后如果GPS未定位,则屏幕第一行首末均显示"---.-";如果已定位,则显示速度,接着显示方位角,然后刷新计数器清空。

同理可知,另外两种命令显示(均显示在第二页)。

3.页面切换流程图

4.3代码实现

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。

机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在的完整开发方案,通过一个集成开发环境将这些部份组合在一起。

运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。

所以本设计使用C语言编程

第五章实验总结

 

参考文献

【1】迎新编著.单片机原理及应用.:

电子工业,2012

【2】何立民编著.单片机高级教程.:

航空航天大学,2000

【3】华主编.MCS-51系列单片机实用接口技术.:

航空航天大学,1998

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2