基于51单片机的GPS定位系统的设计.doc
《基于51单片机的GPS定位系统的设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机的GPS定位系统的设计.doc(22页珍藏版)》请在冰点文库上搜索。
第一章51单片机概述 -1-
1.1单片机概述 -1-
1.251单片机系统的结构组成及性能 -1-
1.2.1结构组成 -1-
1.2.280C51单片机引脚介绍 -2-
1.2.3单片机主要部件功能 -3-
1.38255芯片介绍 -4-
1.3.1工作原理 -5-
1.3.2工作方式 -5-
1.48250芯片介绍 -6-
1.5LCD液晶显示器介绍 -6-
第二章GPS定位系统简介 -7-
2.1GPS定位系统的发展 -7-
2.2GPS定位系统的基本原理 -7-
2.3GPS模块的主要技术参数 -8-
2.4GPS定位系统的组成部分 -8-
2.5GPS定位的流程 -9-
2.6GPS定位系统的特点 -9-
第三章硬件连接电路 -11-
3.1电路设计要求与目的 -11-
3.2电路设计原理 -11-
3.3GPS与单片机、LCD的电路连接 -12-
第四章软件设计 -13-
4.1系统工作流程 -13-
4.2软件的设计 -13-
4.2.1程序框图 -13-
4.2.2实验连线 -15-
4.2.3运行实验程序GPS.ASM -15-
4.3数据显示与分析 -17-
-20-
4.3.1数据显示 -17-
4.3.2数据监测分析 -17-
第五章实验总结 -19-
参考文献 -20-
第一章51单片机概述
1.1单片机概述
单片机(Singlechipmicrocomputer)微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机。
单片机诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。
其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列MCU系统。
基于这一系统的单片机系统直到现在还在广泛使用。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
单片机由运算器、控制器、存储器、输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
它最早是被用在工业控制领域。
1.251单片机系统的结构组成及性能
AT89S51单片机与Intel公司的MCS-51单片机系列的80C51型号单片机在芯片结构与功能上基本相同,外部引脚完全相同。
主要不同点是89系列产品中程序存储器全部采用快擦写存储器,简称闪存。
AT89S51单片机与AT89C51单片机主要不同点是增加了ISP串行接口(可实现串行下载功能)和看门狗定时器。
1.2.1结构组成
单片机集成了一台微型计算机的各个主要部分,其中主要由运算器、控制器、存储器、输入输出设备等构成,各部分通过内部总线相连。
其主要功能部件如下:
l8位中央处理单元(CPU)
l128B/256B的数据存储器RAM
l4KB/8KB的片内ROM/EPROM
l4个8位并行I/O口P0-P3
l2个定时器/计数器
l5个中断源
l1个全双工的UART(通用异步接收、发送器)
l片内振荡与时钟产生电路
组成框图如下图所示:
图中的P0、P1、P2、P3为4个可编程I/O口,TED、RXD为串行口的输入、输出端,以上各部分通过总线相连。
AT89C51/AT89C51与AT89S51/AT89S51在结构上的主要不同点是没有看门狗、双DPTR和ISP端口。
在AT89S51单片机内部除了有CPU、RAM、ROM和定时器、串行口等主要功能部件外,还有驱动器、指令寄存器、锁存器、地址寄存器等辅助电路部分。
1.2.280C51单片机引脚介绍
单片机的40个引脚大致可分为4类:
电源、时钟、控制和I/O引脚。
⒈电源:
⑴VCC-芯片电源,接+5V;
⑵VSS-接地端;
⒉时钟:
XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
⒊控制线:
控制线共有4根:
⑴ALE/PROG:
地址锁存允许/片内EPROM编程脉冲
①ALE功能:
用来锁存P0口送出的低8位地址
②PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵PSEN:
外ROM读选通信号。
⑶RST/VPD:
复位/备用电源。
①RST(Reset)功能:
复位信号输入端。
②VPD功能:
在Vcc掉电情况下,接备用电源。
⑷EA/Vpp:
内外ROM选择/片内EPROM编程电源。
①EA功能:
内外ROM选择端。
②Vpp功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋I/O线
80C51共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
1.2.3单片机主要部件功能
1.中央处理器(CPU)
中央处理器是单片机最核心的部分,主要完成运算和控制功能,这一点与通用的微处理器基本相同,只是它的控制功能更强。
80C51系列的CPU是一个字长为8位的中央处理单元,它对数据的处理是按字节为单位进行的。
在执行程序中起关键作用的是。
CPU的主要由运算器与控制器这两大部分组成。
⑴.控制器
控制器是用来统一指挥和控制计算机工作的部件,它的功能是接收来自存储器中的逐条指令,进行指令译码,并通过定时和控制电路,在规定的时刻发出各种操作所需的全部内部控制信息及CPU外部所需控制信号,使各部分协调工作,完成指令所规定的各种操作。
它由指令部件、时序部件、操作控制部件等三部分组成。
指令部件由16位程序计数器PC、8位指令寄存器、8位指令译码器等组成。
⑵.运算器
运算器是用于对数据进行算术运算和逻辑操作的执行部件,包括算术/逻辑部件ALU、累加器ACC、暂存寄存器、程序状态字PSW、通用寄存器、BCD码运算调整电路等。
2.数据存储器(内部RAM)
数据存储器用于存放变化的数据。
在80C51单片机中通常把控制与管理寄存器(简称专用寄存器)在逻辑上划分在内部RAM中,因为其地址与RAM是连续的。
AT89S51单片机中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面的128个,后128个被专用寄存器占用。
3.程序存储器(内部ROM)
程序存储器用于存放程序和固定的常数。
通常采用只读存储器,只读存储器有多种类型,89系列单片机中全部采用了闪存,51单片机内部配置了4KB闪存。
通过片外16位地址线可扩展到64KB,两者是统一编址
4.定时/计数器
定时/计数器用于实现定时和技术功能。
51单片机中有2个16位的定时/计数器。
并以其定时或计数结果对计算机进行控制。
定时时靠内部分频时钟频率计数实现,做计数器时,对P3.4(T0)或P3.5(T1)端口的低电平脉冲计数。
5.并行I/O口
并行I/O口主要用于实现与外部设备中数据的并行输入/输出,有些I/O口还具有其他多种功能。
51单片机共有4个8位的I/O口(P0、P1、P2、P3)以实现数据的输入输出。
P0~P3是AT89S51单片机与外界联系的4个8位双向并行I/O端口。
6.串行口
AT89S51有一个UART全双工异步串行口,用以实现单片机和其它设备之间的串行数据传送。
该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为移位器使用。
RXD(P3.0)脚为接收端口,TXD(P3.1)脚为发送端口。
AT89S51还有一个ISP全双工同步串行口,用于实现串行在线下载程序。
7.时钟电路
时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。
AT89S51单片机CPU执行指令的一系列动作都是在统一的时钟脉冲控制下进行的。
为了便于CPU时序进行分析,人们按指令的执行过程规定了时钟周期、机器周期、指令周期。
⑴.振荡周期定义为时钟脉冲频率的倒数,又称为时钟周期。
⑵.机器周期是指完成一个基本操作所需要的时间称为机器周期。
80C51系列单片机的一个机器周期等于六个状态周期,即12个时钟周期。
⑶.指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。
8.中断系统
中断系统的主要作用是对外部或内部的中断请求进行管理和处理。
AT89S51的中断系统主要由几个与中断有关的特殊功能寄存器、中断允许、顺序查询逻辑电路等组成。
AT89S51单片机共有5个中断源,其中2个外部中断源和,3个内部中断源,即2个定时/计数中断和1个串行口中断。
1.38255芯片介绍
8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
1.3.1工作原理
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.3.2工作方式
8255芯片有三种工作方式,即:
方式0(基本输入输出方式):
这种工作方式不需要任何选通信号。
A口、B口以及C口的高4位和低4位都可以被设定为输入或输出。
方式1(选通输入/出方式):
在这种工作方式子下,A、B、C三个口被分为两组。
A组包括A口和C口的高4位,A组包括B口和C口的低4位。
方式2(双向选通输入/输出方式):
在这种工作方式子下,A口为8位双向数据口,C口的PC3~PC7用来作为输入或输出的控制同步信号。
1.48250芯片介绍
8250是一个可编程序异步通讯单元芯片,在微机系统中起串行数据的输入输出接口作用。
此外,它还包含有可编程序波特率发生器,它可用1~65535的因子对输入时钟进行分频,以产生波特率十六倍的输入输出时钟。
1.5LCD液晶显示器介绍
液晶显示模块是一种将液晶显示器件、连接件、集成电路、PC线路板、背光源、结构件装配在一起的组件.英文名称叫“LCDModule”,简称“LCM”,中文一般称为“液晶显示模块”。
实际上它是一种商品化的部件.根据我国有关国家标准的规定:
只有不可拆分的一体化部件才称为“模块”,可拆分的叫作“组件”。
所以规范的叫法应称为“液晶显示组件”。
但是由于长期以来人们都已习惯称其为“模块”。
液晶显示器件是一种高新技术的基础元器件,虽然其应用巳很广泛,但对很多人来说,使用、装配时仍感到困难。
特别是点阵型液晶显示器件,使用者更是会感到无从下手.特殊的连接方式和所需的专用设备也非人人了解和具备,故此液晶显示器件的用户希望有人代劳,将液晶显示器件与控制、驱动集成电路装在一起,形成一个功能部件,用户只需用传统工艺即可将其装配成一个整机系统。
从广义上说,凡是由液晶显示器件和集成电路装配在一起的部件都属于“模块”,但实际上我们通常所说的“模块”主要是指点阵液晶显示器件装配的点阵液晶显示模块,特别因为是点阵液晶显示器件产品除某些专用大批量的一些品种(如翻译机、通讯用),生产厂家是直接向用户供应液晶显示器件外,几乎所有通用型点阵液晶显示器件都是加工成模块后才供给用户的,所以很容易形成“液晶模块”就是“点阵液晶模块”的误解。
第二章GPS定位系统简介
2.1GPS定位系统的发展
GPS是英文GlobalPositioningSystem(全球定位系统)的简称。
GPS起始于1958年美国军方的一个项目,
1964年投入使用。
20世纪70年代,美国陆海空三军联合研制了新一代卫星定位系统GPS。
主要目的是为陆海空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的,经过20余年的研究实验,耗资300亿美元,到1994年,全球覆盖率高达98%的24颗GPS卫星星座己布设完成。
利用该系统,用户可以在全球范围内实现全天候、连续、实时的三维导航定位和测速;另外,利用该系统,用户还能够进行高精度的时间传递和高精度的精密定位。
2.2GPS定位系统的基本原理
GPS定位的基本原理是空间后方交会,以GPS卫星与用户接收机天线之间的空间距离为基本观测量,根据已知的卫星瞬时坐标来确定用户接收机所在的点位,即待定点的三维坐标(x,y,z)GPS定位分为伪距测量和载波相位测量两种。
每颗GPS卫星时刻发布其位置和时间数据信号,用户接收机可以测量每颗卫星信号到接收机的时间延迟,根据信号传输的速度可以计算出接收机到不同卫星的距离。
同时收集至少4颗卫星的数据时,通过变频、放大、 滤波等一系列处理过程,实现对GPS卫星信号的跟踪、锁定和测量,从而产生计算位置的数据信息(包括:
纬度、经度、高度、速度、日期、时间、航向、卫星状况等),经由I/O口输出串行数据。
GPS定位方法:
静态定位和动态定位、绝对定位和相对定位、差分定位。
本实训所用GPS模块如下图所示
2.3GPS模块的主要技术参数
⑴.工作电压:
3.5~5V直流。
⑵.接收灵敏度:
-159dBm。
⑶.体积大小:
25.4×25.4×7mm。
⑷.模块重量:
7克。
⑸.定位精度:
<3m
⑹.系统内存:
4MB
2.4GPS定位系统的组成部分
⑴空间部分
GPS的空间部分是由24颗卫星组成(21颗工作卫星;3颗备用卫星),它位于距地表20200km的上空,运行周期为12h。
卫星均匀分布在6个轨道面上(每个轨道面4颗),轨道倾角为55°。
卫星的分布使得在全球任何地方、任何时间都可观测到4颗以上的卫星,并能在卫星中预存导航信息,GPS的卫星因为大气摩擦等问题,随着时间的推移,导航精度会逐渐降低。
⑵地面控制系统
地面控制系统由监测站(MonitorStation)、主控制站(MasterMonitorStation)、地面天线(GroundAntenna)所组成,主控制站位于美国科罗拉多州春田市(Colorado.Springfield)。
地面控制站负责收集由卫星传回之讯息,并计算卫星星历、相对距离,大气校正等数据。
⑶用户设备部分
用户设备部分即GPS信号接收机。
其主要功能是能够捕获到按一定卫星截止角所选择的待测卫星,并跟踪这些卫星的运行。
当接收机捕获到跟踪的卫星信号后,就可测量出接收天线至卫星的伪距离和距离的变化率,解调出卫星轨道参数等数据。
根据这些数据,接收机中的微处理计算机就可按定位解算方法进行定位计算,计算出用户所在地理位置的经纬度、高度、速度、时间等信息。
接收机硬件和机内软件以及GPS数据的后处理软件包构成完整的GPS用户设备。
GPS接收机的结构分为天线单元和接收单元两部分。
接收机一般采用机内和机外两种直流电源。
设置机内电源的目的在于更换外电源时不中断连续观测。
在用机外电源时机内电池自动充电。
关机后机内电池为RAM存储器供电,以防止数据丢失。
各种类型的接受机体积越来越小,重量越来越轻,便于野外观测使用。
其次则为使用者接收器,现有单频与双频两种,但由于价格因素,一般使用者所购买的多为单频接收器。
2.5GPS定位的流程
⑴.搜索可用卫星,接收卫星信号,与卫星信号同步,提取导航电文信息。
⑵.从导航电文中获取计算位置所需的信息,这些信息应该包括时钟信息和星历等数据。
⑶.计算卫星的准确位置,这包括计算卫星的高度和方位角,从而进行必要的对流层校正。
⑷.计算伪距,并进行电离层校正等。
⑸.重复上述过程,对所有可用卫星进行相应的计算。
⑹.进行其他必要的校正,例如根据卫星信号到达GPS接收机的时间,校正地球旋转所造成的卫星位置的偏差。
⑺.根据定位原理,计算出GPS接收机的初始位置,并将其转换成所需的坐标格式进行显示或输出。
⑻.加入闰秒和UTC(标准世界时)时间补偿计算当前精确的时间。
(9)分析可用卫星的信息,计算最好的DOP(Dilution of Precision),进行选星,并计算和修正GPS接收机的位置,给出GPS接收机的三维坐标和准确的时间信息。
2.6GPS定位系统的特点
1、定位精度高
应用实践已经证明,GPS相对定位精度在50KM以内可达10-6,100-500KM可达10-7,1000KM可达10-9。
在300-1500m工程精密定位中,1小时以上观测的解其平面其平面位置误差小于1mm。
2、观测时间短
随着GPS系统的不断完善,软件的不断更新,目前,20KM以内相对静态定位,仅需15-20分钟;快速静态相对定位测量时,当每个流动站与基准站相距在15KM以内时,流动站观测时间只需1-2分钟,然后可随时定位,每站观测只需几秒钟。
3、测站间无须通视
4、可提供三维坐标经典大地测量将平面与高程采用不同方法分别施测。
GPS可同时精确测定测站点的三维坐标。
目前GPS水准可满足四等水准测量的精度。
5、操作简便
随着GPS接收机不断改进,自动化程度越来越高,有的已达“傻瓜化”的程度;接收机的体积越来越小,重量越来越轻,极大地减轻测量工作者的工作紧张程度和劳动强度。
使野外工作变得轻松愉快。
6、全天候作业
目前GPS观测可在一天24小时内的任何时间进行,不受阴天黑夜、起雾刮风、下雨下雪等气候的影响。
7、功能多、应用广
GPS系统不仅可用于测量、导航,还可用于测速、测时。
测速的精度可达0。
1M/S,测时的精度可达几十毫微秒。
其应用领域不断扩大。
第三章硬件连接电路
3.1电路设计要求与目的
1、在液晶屏上显示,接收到的GPS定位信息,只显示纬度、经度、高度、时间、定位有效信息。
2、了解GPS定位原理,学会使用GPS接收系统,掌握NMEA-0183数据格式。
3、掌握8250工作原理及编程控制。
4、掌握液晶显示模块与单片机接口及编程方法
3.2电路设计原理
GPS模块接收卫星的多颗卫星的定位信息,进行处理后按一定的格式输出串行数据,8050实现串并转换,通过总线与单片机通信。
GPS接收模块默认设置输出为:
(参照GPS接收模块文档)
$PFST,NMEA,E003,4800
在实验中需设置输出为:
$PFST,NMEA,2000,即只输出$GPGGA格式,格式为:
$GPGGA,hhmmss.dd,xxmm.dddd,,yyymm.ddd,,v,ss,d.d,h,h,M,g,g,M,a.a,xxxx*hh
hhmmss.dd世界协调时(UTC)
hh:
时;mm:
分;ss:
秒;dd:
秒(小数部分)
xxmm.dddd纬度
xx:
度;xm:
分;dddd:
十进制分(小数部分)
北纬N/南纬S
yyymm.dddd经度
yyy:
度;mm:
分;dddd:
十进制分(小数部分)
东经E/西经W
V定位指示
0:
未定位1:
GPS定位
SS使用到的卫星数量:
0~12颗
d.dHDOP水平方向定位精度阀值
h.h天线高度(相对于海平面)
MNULL
g.gNULL
MNULL
a.aNULL
xxxxNULL
*hhhh:
校验和
从GPGGA输出信息中提取实验中的数据,显示在液晶屏上。
3.3GPS与单片机、LCD的电路连接
1电路连接原理框图
2.实物连接图
第四章软件设计
4.1系统工作流程
系统的软件工作流程是:
开机上电后初始化,然后单片机开始接收GPS模块发送的数据,并判断数据是否有效,若数据有效则显示所需的信息,数据无效则等待直至收到有效数据。
在等待过程中,单片机响应键盘输入的信息,但键盘输入不是必须的。
系统图如图所示:
系统软件由以下模块组成:
初始化模块、数据处理模块和人机对话模块。
初始化模块完成开机上电后对单片机和液晶显示器初始化。
对单片机设置串口工作模式和中断工作模式;对液晶显示器设置开机画面和显示模式。
数据处理模块主要是从GPS模块接收数据,判断数据的有效性,对有效数据进行相应的格式处理,然后等待送液晶显示器显示。
数据处理模块的工作从开机上电开始一直连续不断的进行,直到关机为止。
人机对话模块主要是相应的显示器显示。
该部分完成从单片机读数据到液晶显示器和从液晶显示器读数据到单片机的双向传输工作。
4.2软件的设计
4.2.1程序框图
接收GPS模块数据
设置GPS模块输出格式
初始化8250,8255
开始
数据为“$”
显示纬度、经度、高度、时间、定位有效值
LCD清屏
数据存储到外部RAM
接收GPS模块数据
接收结束?
设置GPS模块输出格式
LCD显示各行数据名称
查询外部RAM
Y
N
Y
N
4.2.2实验连线
8250的片选CS50与CS1相连,或把CS50的跳线帽短接CS1端;8255的片选CS8255与CS0相连;PA0~PA7分别与DB0~DB7相连;PC0