《2022年基于51单片机的GPS定位系统的设计.docx》由会员分享,可在线阅读,更多相关《2022年基于51单片机的GPS定位系统的设计.docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源目录摘要1第一章 51 单片机概述11.1 51 单片机系统地结构组成11.2 51 单片机系统地功能特性21.2.1 51 单片机系统地结构21.2.2 功能特性:21.3 8255 芯片原理及其功能31.4 液晶显示模块原理4其次章 GPS 定位系统简介52.2 GPS 定位系统地基本原理52.3 GPS 模块定位流程62.4 NMEA-0183 数据格式6第三章 硬件连接电路73.1 单片机73.2 GPS 模块73.2.1 概述73.2.3 管脚介绍83.3 显示部分8第四章 软件设计104.1 系统软件概述104.2 软件程序地编写104.2.1 初始化模块104.2.2
2、 数据处理模块114.2.3 人机对话模块134.3 代码实现14第五章 试验总结15参考文献15欢迎下载精品学习资源摘要GPS 是英文 Global Positioning System(全球定位系统)地简称 .GPS 起始于 1958 年美国军方地一个工程, 1964 年投入使用 .20 世纪 70 岁月,美国陆海空三军联合研制了新一代卫星定位系统 GPS .主要目地是为陆海空三大领域供应实时、全天候和全球性地导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目地,经过 20 余年地讨论试验,耗资 300 亿美元,到 1994 年,全球掩盖率高达 98%地 24 颗 GPS 卫星星座己
3、布设完成 .在机械领域 GPS 就有另外一种含义:产品几何技术规范 Geometrical Product Specifications- 简称 GPS.第一章 51 单片机概述1.1 51 单片机系统地结构组成51单片机是对全部兼容地8031 单片机,后来随着Intel 8031 指令系统地单片机地统称.该系列单片机地始祖是IntelFlash rom 技术地进展, 8031单片机取得了长足地进展,成为应用最广泛地 8位单片机之一,其代表型号是ATMEL公司地 AT89 系列,它广泛应用于工业测控系统之中 .很多公司都有 51系列地兼容机型推出,今后很长地一段时间内将占有大量市场.51单片机
4、是基础入门地一个单片机,仍是应用最广泛地一种备自编程才能 .当前常用地 51系列单片机主要产品有:.需要留意地是 52系列地单片机一般不具*Intel 地: 80C31 、80C51、87C51, 80C32、 80C52、87C52等;*ATMEL地: 89C51、89C52、89C2051等;*Philips 、华邦、 Dallas、SiemensInfineon 等公司地很多产品国产宏晶 STC 单片机以其低功耗、廉价、稳固性能,占据着国内51单片机较大市场 .基础51单片机 .1欢迎下载精品学习资源1.2 51 单片机系统地功能特性1.2.1 51单片机系统地结构8位 CPU4kbyt
5、es 程序储备器 ROM 52 为8K128bytes 地数据储备器 RAM( 52有256bytes 地 RAM )32条 I/O 口线 111条指令,大部分为单字节指令21个专用寄存器2个可编程定时 /计数器 5个中断源, 2个优先级( 52有6个)一个全双工串行通信口外部数据储备器寻址空间为64kB外部程序储备器寻址空间为64kB规律操作位寻址功能 双列直插 40PinDIP 封装单一 +5V 电源供电CPU :由运算和掌握规律组成,同时仍包括中断系统和部格外部特殊功能寄存器; RAM :用以存放可以读写地数据,如运算地中间结果、最终结果以及欲显示地数据; ROM :用以存放程序、一些原
6、始数据和表格;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 脚;
7、4) ,完全兼容keilC51 UV2调试环境 ,可以通过 UV2 环境进行单步 ,断点, 全速等操作;5) ,可以使用C51 语言或者 ASM 汇编语言进行调试;6) ,可以特别便利地进行全部变量观看,包括鼠标取值观看 ,即鼠标放在某 变量上就会立刻显示出它此地值;7) ,可选 使用用户晶振,支持 0 40MHZ 晶振频率;8) ,片上带有 768字节地 xdata,您可以在仿真时选使用他们 ,进行 xdata 地仿真;9) ,可以仿真双 DPTR 指针;10) ,可以仿真去除ALE 信号输出 . ;11) ,自适应 300-38400bps 地全部波特率通讯;12) ,体积特别细小 ,特别
8、便利插入到用户板中. 插入时紧贴用户板 ,没有连接电缆 ,这样可以有效地削减运行中地干扰,防止仿真时显现莫名其妙地故障;13) ,仿真插针采纳优质镀金插针,可以有效地防止日久生锈,挑选优质园脚IC 插座,爱护仿真插针,同时不会损坏目标板上地插座. ;14) ,仿真时监控和用户代码分别,不行能产生不能仿真地软故障;15) , RS-232 接口不计成本采纳MAX202 集成电路 ,串行通讯稳固牢靠 ,绝非一般三极管地简易电路可比 .1.3 8255 芯片原理及其功能8255是 Intel 公司生产地可编程并行I/O 接口芯片,有 3个8位并行 I/O 口 .具有 3个通道 3种工作方式地可编程并
9、行接口芯片(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 口
10、及掌握寄存器,故地址线为两根 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) 与外设接口部分依
11、据定义, 8255有3个通道 A 、B、C 与外设连接,每个通道又有8根线与外设连接,所以8255可以用 24根线与外设连接,如进行开关量掌握,就8255可同时掌握 24路开关 .各通道地引脚编号如下:(1) A 口:编号为 PA0PA7,用于 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
12、组成 A 组, PB0 PB7与 PC0PC3 组成 B 组.如图 7.5所示,相应地掌握器也分为A 组掌握器与 B 组掌握器,各组掌握器地作用如下:( 1)A 组掌握器:掌握 A 口与上 C 口地输入与输出 .( 2)B 组掌握器:掌握 B 口与下 C 口地输入与输出 .1.4 液晶显示模块原理液晶显示模块是一种将液晶显示器件、连接件、集成电路、PCB 线路板、背光源、结构件装配在一起地组件英文名称叫“LCD Module”,简称 “LCM”,中文一般称为 “液晶显示模块”实.际上它是一种商品化地部件依据我国有关国家标准地规定:只有不行拆分地一体化部件才称为 “模块 ”,可拆分地叫作 “组件
13、 ”所.以规范地叫法应称为“液晶显示组件 ”但.是由于长 期以来人们都已习惯称其为“模块”.液晶显示器件是一种高新技术地基础元器件,虽然其应用巳很广泛,但对很多人来说,使用、装配时仍感到困难.特殊是点阵型液晶显示器件,使用者更是会感到无从下手特殊地连接方式和所需地专用设备也非人人明白和具备,故此液晶显示器件地用户期望有人代劳,将 液晶显示器件与掌握、驱动集成电路装在一起,形成一个功能部件,用户只需用传统工艺即可将其装配成一个整机系统.欢迎下载精品学习资源从广义上说,凡是由液晶显示器件和集成电路装配在一起地部件都属于“模块 ”,但实际上我们通常所说地 “模块 ”主要是指点阵液晶显示器件装配地点阵
14、液晶显示模块,特殊由于是点阵液晶显示器件产品除某些专用大批量地一些品种如翻译机、通讯用,生产厂家是直接向用户供应液晶显示器件外,几乎全部通用型点阵液晶显示器件都是加工成模块后才供应用户地,所以很简洁形成 “液晶模块 ”就是 “点阵液晶模块 ”地误会 .其次章 GPS 定位系统简介2.1 GPS简介导航卫星定时测距全球定位系统NavigationSatellite Timingand Ranging GlobalPositionSystem GPS是美国其次代卫星导航系统.它在 1973 年底由美国陆海空三军等单位和谐分工提出地能取代旧式地导航设备,为军用舰船、飞机车辆等用户供应全球全天候、连续
15、实时服务地高精度三维导航系统 .系统由空间部分、地面监控部分和地面接收机部分组成.定位服务包括精密定位服务 PPS和标准定位服务 SPS .PPS 授权地精密定位系统用户需要密码设备和特殊地接收机 .SPS对于一般民用用户,供全世界用户免费、无限制地使用2.由于 GPS 具有全球掩盖以及精度高、定位速度快、实时性好、抗干扰才能强等特点,近年来在国内外得到广泛地应用,在各个领域发挥了极大地作用,已成为信时代不行缺少地一部分. 各种 GPS 民用产品地开发,已是经济和社会进展地必定要求,其前景将会特别宽阔和光明,特殊是在我国 ,通过这些年来对它熟悉不断加深,我国地 GPS 开发应用也肯定会以科技力
16、气推动经济和社会进展地一颗巨星,对我国地经济和社会地进展产生重大地影响.2.2 GPS 定位系统地基本原理GPS 定位原理GPS 定位地基本原理是依据高速运动地卫星瞬时位置作为已知地起算数据,采纳空间距离后方交会地方法,确定待测点位置置.如下列图,假设t 时刻在地面待测点上安置GPS 接收欢迎下载精品学习资源机,可以测定 GPS 信号到达接收机地时间t,再加上接收机所接收到地卫星星历等其它数据可以确定以下四个方程式.2.3 GPS 模块定位流程1. 搜寻可用卫星,接收卫星信号,与卫星信号同步,提取导航电文信息;2. 从导航电文中猎取运算位置所需地信息,这些信息应当包括时钟信息和星历等数据;3.
17、 运算卫星地精确位置,这包括运算卫星地高度和方位角,从而进行必要地对流层校正;4. 运算伪距,并进行电离层校正等;5. 重复上述过程,对全部可用卫星进行相应地运算;6. 进行其他必要地校正,例如依据卫星信号到达GPS 接收机地时间,校正地球旋转所造成地卫星位置地偏差;7. 依据定位原理,运算出GPS 接收机地初始位置,并将其转换成所需地坐标格式进行显示或输出;8. 加入闰秒和UTC (标准世界时)时间补偿运算当前精确地时间;9. 分析可用卫星地信息,运算最好地DOPDilutionof Precision ,进行选星,并运算和修正 GPS 接收机位置置,给出GPS 接收机地三维坐标和精确地时间
18、信息.2.4 NMEA-0183数据格式序号命令说明最大帧长1$GPGGA全球定位数据722$GPGSA卫星 PRN 数据653$GPGSV卫星状态信息2104$GPRMC运输定位数据705$GPVTG地面速度信息346$GPGLL大地坐标信息7$GPZDAUTC 时间和日期欢迎下载精品学习资源第三章 硬件连接电路3.1 单片机硬件核心掌握任务是由单片机来完成地,单片机地采纳使硬件电路设计大大简化,而性能更加牢靠 .目前,可采纳地微处理器有很多种,如:MCS-51 、Me6sol 、280、eopsoo、等 8 位单片机,虽然16 位单片机在 1982 年已经问世,但其进展并不象人们想象地那样
19、快,尽管在某些性能指标方面超过了8 位单片机,但从性能价格比及开发周期等综合效益上不如8 位单片机,因此应用并不普及.在本次设计中,采纳MCS-51 系列单片机,虽然信号处理和运算地功能相对差些,但其结构简洁、体积小、性价比高、牢靠性高、功耗小及应用范畴广,适合于小型化作业.因此, 笔者挑选了AT89C51 单片机作为微掌握器 .它具有全双工异步通信口,可与 GR-87 接口进行数据读取 ,处理和输出 .GPS 信号接收和处理部分与单片机进行串口通信时,由于都采纳 TTL 电平 , 故两者之间不需进行电平转换就可直接通信.3.2 GPS 模块3.2.1 概述依据设计需要, GPS 模块选用GR
20、-87.HOLUXGR-87 是一个高性能,低功耗,小型地并且很简洁联合地GPS 模块,它每次将跟踪12 枚卫星,应用广泛 .当 GR-87 系统最初地自检完成后,它开头处理卫星所获得地数并自动跟踪.在正常情形下,它需要大约45 秒达到位置进行定位,但假如ephemeris 数据知道,只用38 秒即可 .在被运算了之后,合法位置置、速度和时间等信息被传送到输出通道,通过串口传送到单片机设备.GR-87 运用最初地数据,例如前被存放位置置、日期和卫星轨道数据,完成最大猎取.3.2.2 主要技术参数:欢迎下载精品学习资源1. 输入电压: 3.3-5.5 VDC 输入 .输入电流 ;少于 80 mA
21、 没有天线 ;2. RF 接口:天线连接器类型:MMCX , 2.8 VDC 产品 任意产品 VCC_IN ;3. 微小地信号跟踪: -159 dBm ;全 双 工 串 行 通 信CMOS 3V 接口,可选波特速率 4800 默认,择 地9600, 19200 , 38400计选用 4800; NMEA本 设0183版本2.2 ASCII输出GGA,GSAGSV , RMC VTG,任意地 GLL 和 ZDA ; DGPS 协议 RTCM SC-104 消息类型 1,2 和 9;SiRF 二进制位置,速度,高度,状态输出管脚名称3.2.3.功能描述管脚介绍管脚1VCC-5V+3.55.5Vdc
22、 电量输入串行数据输出端口A ( CMOS 3V :2TXAVoh 2.4V V ol 0.4V Ioh=Iol=2mA)3RXA串行数据输入端 A CMOS 3V :Vih 0.7*VCC Vil 0.3*VCC4RXB串行数据输入端 B CMOS 3V :Vih 0.7*VCC Vil 0.3*VCC5GND接地6时钟 /复位时钟 : 1PPS 时钟信号输出 Vil 0.2V 脉冲宽度 10ms.复位: 复位输入4 连 续 端 口 :二 个3.3 显示部分液晶显示 LCD ( Liquid Crystal Display),是利用液晶材料在电场作用下发生位置变化,而遮挡 /通透光线地性能制
23、作成为一种重要平板显示器件.通常使用地LCD器件有 TN 型( Twist Nematic ,扭曲向列型液晶)、STN 型( Super TN ,超扭曲向列型液晶)和TFT型欢迎下载精品学习资源( Thin FilmTransistor,薄膜晶体管型液晶).TN 、STN 、TFT 型液晶,性能依次增强,制作成本也随之增加 .TN 和 STN 型常用作单色LCD.STN 型可以设计成单色多级灰度LCD 和伪彩色 LCD ,TFT 型常用作真彩色 LCD.采纳 LCM液晶显示模块作为人机交互界面.液晶显示模块是一种将液晶显示器件、连接 件、集成电路、 PCB 线路板、背光源、结构件装配在一起地组
24、件.字符型液晶显示模块目前在国际上已经规范化,无论显示屏规格如何变化,其电特性和接口形式都是统一地.从性价比等方面考虑,这里选用长沙太阳人电子有限公司生产地字符型液晶显示模块SMC1602 ,它是一种用 5x7 位图形来显示字符地液晶显示器,依据显示地容量可以分为1 行 16 个字、 2 行 16 个字、 2 行 20 个字等等 .本设计以常用地 2 行 16 个字地 1602 液晶屏来构成整个系统地显示模块.SMC160216 脚接口引 线 号采纳标准地 16 脚接口,具体定义如下 :符 号名 称功 能1Vss接地0V2VDD电路电源5V10%3VL液晶显示偏压信号调剂对比度4RS寄存器挑选
25、信号H: 数据寄存器 L: 指令寄存器5R/W读/写信号H: 读L: 写6E片选信号下降沿触发 ,锁存数据7DB0|数据线数据传输14DB715BLA背光源正极供应背光16BLK背光源负极供应背光主要技术参数:技术参数显示容量162 个字符芯片工作电压4.5 5.5V工作电流2.0mA5.0V模块正确工作电压5.0V字符尺寸2.95 4.35WXHmm欢迎下载精品学习资源第四章 软件设计4.1 系统软件概述系统地软件流程是:开机上电后初始化,然后单片机开头接收GPS 模块发送地数据,并判定数据是否有效,如数据有效就显示所需地信息,数据无效就等待直至收到有效数据.在等待过程中,单片机响应键盘输入
26、地信息,但键盘输入不是必需地.系统图如下列图: 系统软件由以下模块组成:初始化模块、数据处理模块和人机对话模块.初始化模块完成开机上电后对单片机和液晶显示器初始化.对单片机设置串口工作模式和中断工作模式;对液晶显示器设置开机画面和显示模式 .数据处理模块主要是从GPS 模块接收数据,判定数据地有效性,对有效数据进行相应地格式处理,然后等待送液晶显示器显示.数据处理模块地工作从开机上电开头始终连续不断地进行,直到关机为止 .人机对话模块主要是相应地显示器显示.该部分完成从单片机读数据到液晶显示器和从液晶显示器读数据到单片机地双向传输工作.4.2 软件程序地编写4.2.1 初始化模块1. 单片机依
27、据 3.2 对单片机串行通信地具体介绍可知:本设计挑选串行通信工作方式1 并答应接收;挑选定时器1 ,模式 2;依据波特率为4800b/s,运算出定时器计数初值;启动定时器1;开总中断、串口中断.2. 液晶显示通过初始化函数LCMInit 进行初始化,然后又调用显示字符串函数以便让屏幕显示GPS Monitor V1.2字样,表示预备工作,接着延时400Ms 然后调用清屏函数进行一次清屏.欢迎下载精品学习资源4.2.2 数据处理模块数据处理模块负责处理从GPS 模块接收到地数据.由于这些数据格式符合NMEA0183 ASCII 码接口协议,所以接收到地数据会转换为需要地信息.1. 接收总流程图
28、开头定义tmpRI=1.默认进入命令模式命令段计数终止命令判定判别进入命令模式进入数据模式置命令标志命令类型判定数据储存RI=0终止图 5-2 接收总流程图2. 命令类型判定流程图(以GPGGA 为例)欢迎下载精品学习资源接收字符放入类型缓存位计数=4.Ycmd0= G cmd1= P cmd2= G cmd3= G cmd4= A 置为第一种命令置命令模式逗号计数器清空Y图 5-3 命令类型判定流程图当类型数据接收完毕,先判定类型.本设计中有3 种类型数据,即GPGGA 、GPGSV 、GPRMC. 假如接收到地是GPGGA ,就将命令类型置1,接收命令模式赋为2,逗号和位数均清空 .3.
29、GPGGA 数据储备流程图逗号计数值为?2345679欢迎下载精品学习资源接收位 9接收位 1接收位10接收位 1接收位 1接收位 2接收位 6欢迎下载精品学习资源欢迎下载精品学习资源存纬存纬度存经存经度方向度度方向定位使用高度判定卫星处理数欢迎下载精品学习资源图 5-4 GPGGA 数据储备流程图欢迎下载精品学习资源开头接收类型数据.此时,当逗号计数为2 且位计数小于9,就将纬度数据一位一位储备 起来(储备一位后RI 便置 0 以接收下一位) .当接收数据为 “, ”时,就逗号计数加1 为 3 同时位计数清空,假如位计数小于1,就将纬度方向数据一位一位储备起来(同上).当逗号计数再加 1 为
30、 4 时同时位计数清空,这时位计数只要小于10,就将经度数据一位一位储备起来(同上) .依次类推,会顺次将经度方向、定位判定、定位使用地卫星数、高度处理储备起来.然后会接收到 “* ”,说明整句接收完成并将其置为终止模式.同理可知, GPGSV、GPRMC 语句地接收过程 .4.2.3 人机对话模块人机对话模块主要是显示器工作.显示器经过初始化、设置才能正确显示信息,才能够对输入地信息显示出来 .这个要点在前面已有描述.1. 显示总流程图开头定义 i.Bhour系统初始化欢迎下载精品学习资源判定有无 GPS 信号?Y显示 GPS 信息N提示无 GPS信号欢迎下载精品学习资源欢迎下载精品学习资源
31、使用经纬卫星度度数卫星时间速度方位总数角欢迎下载精品学习资源终止图 5-5 显示流程图2. GPRSM 信息显示流程图欢迎下载精品学习资源显示时间N是否定位?显示Y显示速度显示方位角图 GPRSM 信息显示流程图图 5-7 页面切换流程图GPS 接收机打开后,假如有GPS 信号,第一检测是否有按键切换显示.假如没有,就屏幕显示第一页,反之显示其次页(这里只介绍其次页显示).当接收有效数据为GPRMC ,其数据均在其次业显示,先显示时间,然后假如GPS 未定位,就屏幕第一行首末均显示-.- ; 假如已定位,就显示速度,接着显示方位角,然后刷新计数器清空.同理可知,另外两种命令 显示(均显示在其次
32、页).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】张迎新编著 .单片机原理及应用.北京:电子工业出版社,2021【2】何立民编著 .单片机高级教程 .北京:航空航天高校出版社,2000【3】李华主编 .MCS-51 系列单片机有用接口技术.北京:航空航天高校出版社,1998欢迎下载