基于51单片机的GPS定位系统的设计_第1页
基于51单片机的GPS定位系统的设计_第2页
基于51单片机的GPS定位系统的设计_第3页
基于51单片机的GPS定位系统的设计_第4页
基于51单片机的GPS定位系统的设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录 摘要 1 第一章 51单片机概述 1 1.1 51 单片机系统的结构组成 1 1.2 51 单片机系统的功能特性 2 1.2.1 51单片机系统的结构 2 1.2.2 功能特性: 3 1.3 8255 芯片原理及其功能 3 1.4液晶显示模块原理 5 第二章GPS定位系统简介 5 2.2 GPS 定位系统的基本原理 6 2.3 GPS 模块定位流程 6 2.4 NMEA-0183 数据格式 7 第三章硬件连接电路 7 3.1单片机 7 3.2 GPS 模块 8 3.2.1 概述 8 3.2.3 管脚介绍 9 3.3显示部分 9 第四章软件设计 11 4.1 系统软件概述 11 4.2 软

2、件程序的编写 11 4.2.1 初始化模块 11 4.2.2 数据处理模块 12 4.2.3 人机对话模块 14 4.3 代码实现 15 第五章 实验总结 16 参考文献 16 摘要 GPS是英文 Global Positioning System (全球定位系统 )的简称。 GPS起始 于 1958 年美国军方的一个项目, 1964 年投入使用。 20 世纪 70 年代,美国陆海空 三军联合研制了新一代 卫星 定位系统 GPS 。主要目的是为陆海空三大领域提供实 时、全天候和全球性的导航服务, 并用于情报收集、 核爆监测和应急通讯等一些军 事目的,经过 20 余年的研究实验,耗资 300 亿

3、美元,到 1994 年,全球覆盖率高达 98%的 24颗GPS卫星星座己布设完成。在机械领域 GPS则有另外一种含义: 产品几 何技术规范 (Geometrical Product Specifications)-简称 GPS。 第一章 51 单片机概述 1.1 51 单片机系统的结构组成 51单片机是对所有兼容 Intel 8031 指令系统 的单片机的统称。该系列单片机 的始祖是 Intel 的8031单片机,后来随着 Flash rom 技术的发展, 8031单片机取得 了长足的进展,成为应用最广泛的 8位单片机之一,其代表型号是 ATMEL公司的 AT89 系列,它广泛应用于工业测控系

4、统之中。 很多公司都有 51系列的兼容机型推出, 今 后很长的一段时间内将占有大量市场。 51单片机是基础入门的一个单片机, 还是应 用最广泛的一种。需要注意的是 52系列的单片机一般不具备自编程能力。 当前常用的 51系列单片机主要产品有: *Intel 的: 80C31、80C51、87C51,80C32、80C52、87C52等; *ATMEL的: 89C51、89C52、89C2051等; *Philips 、华邦、 Dallas 、 Siemens(Infineon) 等公司的许多产品 国产宏晶 STC单片机以其低功耗、 廉价、稳定性能, 占据着国内 51单片机较大 市场。 基础51

5、单片机。 1 1.2 51 单片机系统的功能特性 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:由运算和控制逻辑组成,同时还包括

6、中断系统和部分外部 特殊功能寄存 器; RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的 数据; ROM:用以存放程序、一些原始数据和表格; I/O 口:四个 8位并行 I/O 口,既可用作输入,也可用作输出; T/C:两个定时 / 记数器,既可以工作在定时模式,也可以工作在记数模式; 五个中断源的中断控制系统 ; 一个全双工 UART(通用异步接收发送器)的 串行 I/O 口,用于实现单片机之 间或单片机与微机之间的 串行通信 ; 片内振荡器和时钟产生电路, 石英晶体和微调电容需要外接。 最高振荡频率为 12M。 1.2.2 功能特性: 1),可以仿真 63K程序空间,

7、接近64K 的16位地址空间; 2),可以仿真 64Kxdata 空间,全部64K 的16位地址空间; 3),可以真实仿真全部 32 条 IO 脚; 4),完全兼容 keilC51 UV2 调试环境,可以通过 UV2 环境进行单步 ,断点, 全 速等操作; 5),可以使用 C51语言或者 ASM汇编语言进行调试 ; 6),可以非常方便地进行所有变量观察 , 包括鼠标取值观察 , 即鼠标放在某 变 量上就会立即显示出它此的值; 7),可选 使用用户晶振,支持 0 40MHZ晶振频率; 8),片上带有 768字节的 xdata, 您可以在仿真时选 使用他们 , 进行 xdata 的仿 真; 9),

8、可以仿真双 DPTR 指针; 10),可以仿真去除 ALE 信号输出 . ; 11),自适应 300-38400bps 的所有 波特率 通讯; 12),体积非常细小 , 非常方便插入到用户板中 . 插入时紧贴用户板 ,没有连接电 缆,这样可以有效地减少运行中的干扰 , 避免仿真时出现莫名其妙的故障; 13),仿真插针采用优质镀金插针 , 可以有效地防止日久生锈 , 选择优质园脚 IC 插座,保护仿真插针,同时不会损坏 目标板 上的插座 . ; 14),仿真时监控和用户代码分离 , 不可能产生不能仿真的 软故障; 15),RS-232接口不计成本采用 MAX20集2 成电路 ,串行通讯 稳定可靠

9、 , 绝非一般 三极管的简易电路可比。 1.3 8255 芯片原理及其功能 8255是 Intel 公司生产的可编程并行 I/O 接口芯片,有 3个8位并行 I/O 口。具有 3个通道 3 种工作方式的可编程并行接口芯片 ( 40引脚)。 其各口功能可由 软件选择,使用灵活, 通用性 强。 8255可作为 单片机 与多种外设连接时的中间接口电路。 8255 作为主机与外设的连接芯片,必须提供与主机相连的 3个总线接口 ,即数据线、 地址 线、控制线接口。同时必须具有与外设连接的接口A、B、C 口。由于 8255 可编程 ,所以必须具 有逻辑控制部分,因而 8255 内部结构分为 3个部分:与

10、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:片

11、选信号 、复位信号 RST 、写信号、读信号。当 CPU 要对8255 进 行读、写操作时,必须先向 8255发片选信号选中 8255芯片,然后发读信号或写信号对 8255 进 行读或写数据的操作。 2)与 外设接口 部分 根据定义, 8255有3个通道 A、B、C 与外设连接,每个通道又有 8根线与外设连接,所以 8255 可以用 24根线与外设连接,若进行开关量控制,则 8255 可同时控制 24 路开关。各通道的 引脚 编号如下: 8位 8位 的通 (1)A 口:编号为 PA0PA7,用于8255 向外设输入输出 并行数据。 (2)B 口:编号为 PB0 PB7 ,用于8255 向外设输

12、入输出 并行数据。 (3)C 口:编号为 PC0 PC7 ,用于8255 向外设输入输出 并行数据,当 8255 工作于应答 I/O 方式时, C 口用于应答信号 信。 3)控制器 8255将3个通道分为两组, 即 PA0 PA7与 PC4 PC7组成 组, PB0 PB7与 PC0 PC3组成 B 组。如图 7.5所示,相应的控制器也分为 A组控制器与 B 组控制器,各组控制器的作用如下: ( 1)A 组控制器:控制 A 口与上 C 口的输入与输出。 (2)B 组控制器:控制 B口与下 C 口的输入与输出。 1.4 液晶显示模块原理 液晶显示模块是一种将液晶显示器件、连接件、集成电路、 PC

13、B线路板、背光 源、结构件装配在一起的组件英文名称叫“ LCD Module”,简称“ LCM”,中文 一般称为“液晶显示模块”。实际上它是一种商品化的部件根据我国有关国家标 准的规定:只有不可拆分的一体化部件才称为“模块”,可拆分的叫作“组件”。 所以规范的叫法应称为 “液晶显示组件” 。但是由于长期以来人们都已习惯称其为 “模块”。 液晶显示器件是一种高新技术的基础元器件,虽然其应用巳很广泛,但对很 多人来说,使用、装配时仍感到困难。特别是点阵型液晶显示器件,使用者更是会 感到无从下手 特殊的连接方式和所需的专用设备也非人人了解和具备, 故此液晶 显示器件的用户希望有人代劳,将液晶显示器件

14、与控制、驱动集成电路装在一起, 形成一个功能部件,用户只需用传统工艺即可将其装配成一个整机系统。 从广义上说,凡是由液晶显示器件和集成电路装配在一起的部件都属于“模 块”,但实际上我们通常所说的“模块”主要是指点阵液晶显示器件装配的点阵液 晶显示模块,特别因为是点阵液晶显示器件产品除某些专用大批量的一些品种 ( 如 翻译机、通讯用 ) ,生产厂家是直接向用户供应液晶显示器件外,几乎所有通用型 点阵液晶显示器件都是加工成模块后才供给用户的,所以很容易形成“液晶模块” 就是“点阵液晶模块”的误解。 第二章 GPS 定位系统简介 2.1 GPS 简介 导航卫星定时测距全球定位系统 (Navigati

15、on Satellite Timing and Ranging Global Position System GPS) 是美国第二代卫星导航系统。它在 1973 年底由美 国陆海空三军等单位协调分工提出的能取代旧式的导航设备,为军用舰船、 飞机车 辆等用户提供全球全天候、 连续实时服务的高精度三维导航系统。 系统由空间部分、 地面监控部分和地面接收机部分组成。 定位服务包括精密定位服务 ( PPS) 和标准定 位服务(SPS) 。PPS 授权的精密定位系统用户需要密码设备和特殊的接收机。 SPS 对于普通民用用户 ,供全世界用户免费、无限制地使用 2 。 由于 GPS 具有全球覆盖以及精度高、

16、定位速度快、实时性好、抗干扰能力强 等特点 ,近年来在国内外得到广泛的应用 ,在各个领域发挥了极大的作用 ,已成为 信时代不可缺少的一部分。各种 GPS 民用产品的开发 , 已是经济和社会发展的必 然要求 ,其前景将会非常广阔和光明 ,尤其是在我国 ,通过这些年来对它认识不断 加深 ,我国的 GPS 开发应用也一定会以科技力量推动经济和社会发展的一颗巨 星 , 对我国的经济和社会的发展产生重大的影响。 2.2 GPS 定位系统的基本原理 GPS定位原理 GPS 定位的基本 原理 是根据高速运动的 卫星 瞬间位置作为已知的起算数据,采用空间距 离后方交会的方法,确定待测点的位置。如图所示,假设

17、t 时刻在地面待测点上安置 GPS 接 收机, 可以测定 GPS 信号到达接收机的时间 t,再加上接收机所接收到的 卫星星历等其它数 据可以确定以下四个方程式。 2.3 GPS 模块定位流程 1搜索可用卫星,接收卫星信号,与卫星信号同步,提取导航电文信息; 2从导航电文中获取计算位置所需的信息,这些信息应该包括时钟信息和星 历等数据; 3计算卫星的准确位置,这包括计算卫星的高度和方位角,从而进行必要的 对流层校正; 4计算伪距,并进行电离层校正等; 5重复上述过程,对所有可用卫星进行相应的计算; 6进行其他必要的校正,例如根据卫星信号到达 GPS 接收机的时间, 校正地 球旋转所造成的卫星位置

18、的偏差; 7根据定位原理, 计算出 GPS 接收机的初始位置, 并将其转换成所需的坐标 格式进行显示或输出; 8加入闰秒和 UTC (标准世界时)时间补偿计算当前精确的时间; 9分析可用卫星的信息,计算最好的 DOP(Dilution of Precision) ,进行选星, 并计算和修正 GPS 接收机的位置,给出 GPS 接收机的三维坐标和准确的时间信 息。 2.4 NMEA-0183 数据格式 序号 命令 说明 最大帧长 1 $GPGGA 全球定位数据 72 2 $GPGSA 卫星 PRN 数据 65 3 $GPGSV 卫星状态信息 210 4 $GPRMC 运输定位数据 70 5 $G

19、PVTG 地面速度信息 34 6 $GPGLL 大地坐标信息 7 $GPZDA UTC 时间和日期 第三章 硬件连接电路 3.1 单片机 硬件核心控制任务是由单片机来完成的, 单片机的采用使硬件电路设计大大简 化,而性能更加可靠。目前,可采用的微处理器有很多种,如 :MCS-51 、Me6sol 、 280 、eopsoo 、等 8位单片机,虽然 16位单片机在 1982 年已经问世,但其发展 并不象人们想象的那样快,尽管在某些性能指标方面超过了 8 位单片机,但从性 能价格比及开发周期等综合效益上不如 8 位单片机,因此应用并不普及。 在本次设计中, 采用 MCS-51 系列单片机, 虽然信

20、号处理和计算的功能相对差 些,但其结构简单、体积小、性价比高、可靠性高、功耗小及应用范围广,适合于 小型化作业。因此,笔者选择了 AT89C51 单片机作为微控制器。它具有全双工异 步通信口 ,可与 GR-87 接口进行数据读取 ,处理和输出。 GPS 信号接收和处理部 分与单片机进行串口通信时 ,由于都采用 TTL 电平 ,故两者之间不需进行电平转换 就可直接通信。 3.2 GPS 模块 3.2.1 概述 根据设计需要, GPS 模块选用 GR-87 。HOLUX GR-87 是一个高性能,低功 耗,小型的并且很容易联合的 GPS 模块,它每次将跟踪 12 枚卫星,应用广泛。 当 GR-87

21、 系统最初的自检完成后,它开始处理卫星所获得的数并自动跟踪。在正 常情况下,它需要大约 45 秒达到位置进行定位,但如果 ephemeris 数据知道,只 用 38 秒即可。在被计算了之后,合法的位置、速度和时间等信息被传送到输出通 道,通过串口传送到单片机设备。 GR-87 运用最初的数据,例如前被存放的位置、 日期和卫星轨道数据,完成最大获取。 3.2.2 主要技术参数: 1输入电压: 3.3-5.5 VDC 输入。输入电流 ;少于 80 mA (没有天线 ); 2 RF 接口:天线连接器类型: MMCX ,2.8 VDC 产品 (任意产品 VCC_IN) ; 二个 选择 默 设计 018

22、3 出 3极小的信号跟踪: -159 dBm ; 4连续端口: 全双工串行通信 CMOS 3V 接口,可 的波特速 率(4800 认 , 9600 , 19200 , 38400) 本 选用 4800 ;NMEA 版本 2.2 ASCII 输 (GGA, GSA, GSV, RMC (VTG ,任意的 GLL 和 ZDA) ; DGPS 协议 RTCM SC-104 消息类型 1,2和 9;SiRF 二进制位置,速度,高度,状态输出 3.2.3 管脚介 绍 管脚 管脚名称 功能描述 1 VCC-5V +3.55.5Vdc 电量输入 2 TXA 串行数据输出端口 A (CMOS 3V: Voh

23、2.4V Vol 0.4V Ioh=Iol=2mA ) 3 RXA 串行数据输入端 A (CMOS 3V: Vih 0.7*VCC Vil 0.3*VCC) 4 RXB 串行数据输入端 B (CMOS 3V: Vih 0.7*VCC Vil 0.3*VCC) 5 GND 接地 6 时钟/ 复位 时钟 : 1PPS时钟信号输出 (Vil 0.2V 脉冲 宽度 10ms)。 复位: 复位输入 3.3 显示部分 液晶显示 LCD (Liquid Crystal Display ),是利用液晶材料在电场作用下发生 位置变化,而遮蔽 /通透光线的性能制作成为一种重要平板显示器件。通常使用的 LCD 器件

24、有 TN 型(Twist Nematic ,扭曲向列型液晶)、 STN 型(Super TN ,超 扭曲向列型液晶)和 TFT 型( Thin Film Transistor ,薄膜晶体管型液晶)。 TN、 STN 、TFT 型液晶,性能依次增强,制作成本也随之增加。 TN 和 STN 型常用作 单色 LCD 。STN 型可以设计成单色多级灰度 LCD 和伪彩色 LCD,TFT 型常用作 真彩色 LCD 。 采用 LCM 液晶显示模块作为人机交互界面。 液晶显示模块是一种将液晶显示 规范化,无论显示屏规格如何变化, 其电特性和接口形式都是统一的。 从性价比等 方面考虑,这里选用长沙太阳人电子有

25、限公司生产的字符型液晶显示模块 SMC1602 ,它是一种用 5x7 位图形来显示字符的液晶显示器,根据显示的容量可 以分为 1行 16个字、 2 行16个字、 2行20个字等等。本设计以常用的 2行16 个字的 1602 液晶屏来构成整个系统的显示模块。 器件、连 成电路、 路板、背 构件装配 的组件。 液晶显示 前在国际 接件、集 PCB 线 光源、结 在一起 字符型 模块目 上已经 SMC1602 采用标准的 16 脚接口,具体定义如下 16 脚接口 引线号 符号 名称 功能 1 Vss 接地 0V 2 VDD 电路电源 5V10% 3 VL 液晶显示偏压信号 调节对比度 4 RS 寄存

26、器选择信号 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 10 第四章 软件设计 4.1 系统软件概述 系统的软件流程是: 开机上电后初始化, 然后单片机开始 接收 GPS 模块发送的数据,并判断数据是否有

27、效,若数据有 效则显示所需的信息,数据无效则等待直至收到有效数据。 在等待过程中,单片机响应键盘输入的信息,但键盘输入不 是必须的。系统图如图所示: 系统软件由以下模块组成:初始化模块、数据处理模块和人 机对话模块。初始化模块完成开机上电后对单片机和液晶显 示器初始化。对单片机设置串口工作模式和中断工作模式; 对液晶显示器设置开机画面和显示模式。 数据处理模块主要是从 GPS 模块接收数据,判断数据的 有效性,对有效数据进行相应的格式处理,然后等待送液晶 显示器显示。数据处理模块的工作从开机上电开始一直连续 不断的进行,直到关机为止。 人机对话模块主要是相应的显示器显示。 该部分完成从单片机读

28、数据到液晶显 示器和从液晶显示器读数据到单片机的双向传输工作 4.2 软件程序的编写 4.2.1 初始化模块 1单片机 根据 3.2 对单片机串行通信的详细介绍可知: 本设计选择串行通信工作方式 1 并允许接收;选择定时器 1,模式 2 ;根据波 特率为 4800b/s, 计算出定时器计数初值;启动定时器 1;开总中断、串口中断。 2液晶显示 通过初始化函数 LCMInit() 进行初始化,然后又调用显示字符串函数以便让屏 幕显示 GPS Monitor V1.2字样,表示准备工作,接着延时 400Ms 然后调用清屏 函数进行一次清屏。 11 4.2.2 数据处理模块 数据处理模块负责处理从

29、GPS 模块接收到的数据。由于这些数据格式符合 NMEA 0183 ASCII 码接口协议,所以接收到的数据会转换为需要的信息。 1接收总流程图 2命令类型判断流程图(以 GPGGA 为例) 12 接收字符放入类型缓 存 cmd0= Y 置为第一种命 令 置命令模式 逗号计数器清 空 Y cmd1=P cmd2=G cmd3=G cmd4=A 图 5-3 命令类型判断流程图 当类型数据接收完毕,先判断类型。本设计中有 3 种类型数据,即 GPGGA 、 GPGSV 、GPRMC 。如果接收到的是 GPGGA ,则将命令类型置 1,接收命令模式 赋为 2,逗号和位数均清空。 3 GPGGA 数据存储流程图 图 5-4 GPGGA 数据存储流程图 13 开始接收类型数据。此时,当逗号计数为 2 且位计数小于 9,就将纬度数据一 位一位存储起来(存储一位后 RI便置 0 以接收下一位)。当接收数据为“,”时, 则逗号计数加 1 为 3 同时位计数清空, 如果位计数小于 1,则将纬度方向数据一位 一位存储起来(同上)。当逗号计数再加 1 为 4 时同时位计数清空,这时位计数 只要小于 10 ,就将经度数据一位一位存储起来(同上)。依次类推,会顺次将经 度方向、定位判断、定位使用的卫星数、高度处理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论