




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于 51 单片机的 GPS 接收机摘 要全球定位系统(GPS)是由美国国防部开发的一种先进的无线电导航系统。该系统能够全天候、全方位的为海陆空用户提供连续的、高精度的三维坐标、三维速度和时间等信息。它所具有的诸多优点是其他导航设备所无法比拟地。现在,GPS 接收机作为一种先进的导航和定位仪器,已在军事及民用领域得到广泛的应用。本设计详细介绍了一种成本低又能满足性能使用要求的经济型 GPS 接收机的设计方案。此方案基于单片机、GPS 模块和 1602 液晶显示屏等硬件 , 并应用 C 语言实现了 GPS 信号的提取、显示及基本的键盘控制操作等。经过实践测试 ,这种接收机可以达到基本 GPS 信息接收以及显示,可以做到体积小、精度高、连续导航,并可广泛应用于个人野外旅游探险、 出租汽车定位及海上作业等领域。关键词: GPS,单片机,接收机,GR-87,LCDI DESIGN OF GPS RECEIVER BASED ON 51 SINGLE CHIP COMPUTERABSTRACTGlobal Positioning System(GPS) is the most advanced radio navigation system which was developed by the U.S Department of Defence. The system can be used under any weather conditions, all day long and anywhere on the earth. It can provide land, marine and airborne user with continuous, highly accurate three-dimension position, velocity, time dataetc. It has various advantages that are unexampled other kind of navigation equipment. Now GPS receivers, as a type of advanced equipment on navigation and positioning, have been widely used in both military and civil field.This design introduced in detail one kind of low-cost economy GPS receivers design proposal which can satisfy the performance operation requirements .This plan is based on single chip computer、GPS and 1602 liquid crystal display monitors, and has realized the GPS signal extraction, the demonstration and the basic keyboard control operation and so on using the C language. By practical measurement, the receiver can achieve GPS information receive and display. It has small size and low cost, can be used in wild adventure tourism, taxi positioning and operations at sea.KEY WORDS: GPS,single chip computer,receiver,GR-87,LCD0目录前言3第 1 章 GPS 系统简介及设计方案选择51.1 GPS 系统简介51.1.1 GPS 由来及发展51.1.2 GPS 定位基本原理51.1.3 GPS 接收机定位流程61.1.4 任务的描述61.2 设计方案选择61.2.1 方案一71.2.2 方案二7第 2 章 系统硬件设计82.1 单片机82.2 GPS 模块92.2.1 概述92.2.2 主要技术参数92.2.3 管脚介绍92.3 显示部分102.4 电源部分112.5 晶体振荡器112.6 键盘部分12第 3 章 系统相关协议介绍133.1 GR-87 协议133.1.1 协议简介133.1.2 数据格式133.2 串行通信143.2.1 异步通信特点143.2.2 异步通信协议143.2.3 中断153.3 液晶显示协议1913.3.1 基本操作时序193.3.2 显示与控制命令19第 4 章 系统软件设计214.1 系统软件概述214.2 软件程序的编写224.2.1 初始化模块224.2.2 数据处理模块224.2.3 人机对话模块264.3 代码实现28结 论30谢 辞31参考文献32外文资料翻译342前言GPS 主系统是美国发射运行的卫星系统,包含了 27 颗能持续发送地理位置海拔高度和时间信号的卫星,24 个正常使用,3 个备用,这些卫星平均分布运行在六个轨道上。一般来说,在地面上的 GPS 接收器能接收 512 个卫星信号,而为了获得地面上的定位坐标,GPS 导航至少需要 4 个卫星信号,三个用来确定 GPS 接收器的纬度、经度和海拔高度,第四个则提供同步校正时间1。全球定位系统由三部分构成:太空卫星部份:由 24 颗绕极使用卫星所组成,分成六个轨道,运行于约 20200 公里的高空,绕行地球一周约 12 小时。每个卫星均持续着发射载有卫星轨道数据及时间的无线电波,提供地球上的各种接收机来应用。地面管制部份:这是为了追踪及控制上述卫星运转,所设置的地面管制站,主要工作为负责修正与维护每个卫星能保持正常运转的各项参数数据,以确保每个卫星都能提供正确的讯息给使用者接收机来接收。使用者接收机:追踪所有的 GPS 卫星,并实时地计算出接收机所在 位置的坐标、移动速度及时间,各种蓝牙 GPS 即属于此部份。我们通常所说的 GPS, 就是第 3 部分。它可以实时提供全天候、全球性的三维定位、测速与授时功能的卫星系统 ,具有测量精度高、速度快、用户数量不限、抗干扰能力强等一系列优点 ,除了可用于军事领域外 ,还可以广泛用于工农业生产、交通运输、野外探险等领域。自 20 世纪 90 年代 GPS 系统向全世界免费开放以来 , GPS 系统已广泛应用在导航、大地测量、精确授时、线路巡检及车辆防盗等领域。接收机是获得 GPS 系统服务的关键设备 ,目前已有从手持式到台式数百种型号的接收机可供用户选择。通用接收机功能齐全 ,除了信号接收单元外,往往还配置有显示单元和人机对话设备。这一方面为用户提供了极大的方便 但 GPS 定位接收机价格比较昂贵而且使用灵活性低 ,难以满足特定条件下的应用需求 ,造成了资金浪费。因此 ,众多用户期望按照自己的使用环境和性能要求设计和使用个性化的 GPS定位接收机。 本文首先介绍了 GPS 系统由来及其发展、基本概念、GPS 接收机的工作原理及接收机定位流程。然后对单片机及其串口通信、GR-87 及其 NMEA-0183 语句的数据格、液晶显示器进行了详细论述。并且设置了所需的外围电路。接着详细地介绍了该 GPS 接收机的软件设计过程。通过 C 语言实现了 GPS 信号的提取、显示及基本的键盘控制操作等。经过实践测试,这种接收机可以达到基本 GPS 信息接收以及显示,可以做到方便灵活、优质价廉、精度高、连续导航、抗干扰能力强,并可广泛应用于个人野外旅游探险、出租汽车定位及海上作业等领域。34第 1 章 GPS 系统简介及设计方案选择1.1 GPS 系统简介1.1.1 GPS 由来及发展导航卫星定时测距全球定位系统(Navigation Satellite Timing and Ranging Global Position System GPS)是美国第二代卫星导航系统。它在 1973 年底由美国陆海空三军等单位协调分工提出的能取代旧式的导航设备 ,为军用舰船、飞机车辆等用户提供全球全天候、连续实时服务的高精度三维导航系统。系统由空间部分、地面监控部分和地面接收机部分组成。定位服务包括精密定位服务( PPS)和标准定位服务(SPS) 。PPS 授权的精密定位系统用户需要密码设备和特殊的接收机。SPS 对于普通民用用户 ,供全世界用户免费、无限制地使用2。由于 GPS 具有全球覆盖以及精度高、定位速度快、实时性好、抗干扰能力强等特点,近年来在国内外得到广泛的应用 ,在各个领域发挥了极大的作用 ,已成为信时代不可缺少的一部分。各种 GPS 民用产品的开发 ,已是经济和社会发展的必然要求 ,其前景将会非常广阔和光明 ,尤其是在我国 ,通过这些年来对它认识不断加深 ,我国的 GPS 开发应用也一定会以科技力量推动经济和社会发展的一颗巨星 ,对我国的经济和社会的发展产生重大的影响。1.1.2 GPS 定位基本原理GPS 定位技术的基本原理是采用测量学中通用的测距交会方法GPS 接收机在某一时刻接收到 4 颗以上的 GPS 卫星信号导航电文, 通过变频、放大、 滤波等一系列处理过程,实现对 GPS 卫星号的跟踪、锁定、测量,从而产生计算位置的数据信息(包括:纬度、经度、高度、速度、日期、时间、航向、卫星状况等),经由 I/O 口输出串行数据1.1.3 GPS 接收机定位流程1搜索可用卫星,接收卫星信号,与卫星信号同步,提取导航电文信息;2从导航电文中获取计算位置所需的信息,这些信息应该包括时钟信息和星历等数据;3计算卫星的准确位置,这包括计算卫星的高度和方位角,从而进行必要的对流层校正;4计算伪距,并进行电离层校正等;55重复上述过程,对所有可用卫星进行相应的计算;6进行其他必要的校正,例如根据卫星信号到达 GPS 接收机的时间,校正地球旋转所造成的卫星位置的偏差;7根据定位原理,计算出 GPS 接收机的初始位置,并将其转换成所需的坐标格式进行显示或输出;8加入闰秒和 UTC(标准世界时)时间补偿计算当前精确的时间;9分析可用卫星的信息,计算最好的 DOP(Dilution of Precision),进行选星,并计算和修正 GPS 接收机的位置,给出 GPS 接收机的三维坐标和准确的时间信息。1.1.4 任务的描述我们针对全球定位系统 GPS,自行研制了一套 GPS 接收机,具有接收、处理、显示信息能力并能进行键盘操作。本设计着重对 NMEA-0183 语句的数据格式、单片机串行通信、液晶显示格式进行了详细论述,同时给出了硬件电路和软件设计。工作要求:准确地进行定位,显示出纬度、经度、速度、时间、方位角、天空中的卫星总数以及使用的卫星数。通过按键可以进行复位与页面切换功能。1.2 设计方案选择1.2.1 方案一系统由 GPS-OEM 板、电平转换电路(MAX232)、控制电路(8051 单片机) 、显示部分(SED1335 彩色液晶显示器)组成。但在和单片机进行串行通信时由于电平不同,必须附加电平转换电路(MAX232) 而且价格比较昂贵。单片机采用 8051 功能全面,但其内部 ROM 一般是掩膜 ROM,不可更新改写。SED1335 彩色液晶显示器其有效显示点阵为 320 240 ,显示颜色为 4 色,但根据我们设计要求,单色显示完全可以。故不采用。1.2.2 方案二系统由 GPS 模块(GR-87)、控制电路(89C51 单片机) 、显示部分(SMC1602 液晶显示器)组成。HOLUX GR-87 是一个高性能,低功耗,小型的并且很容易联合的 GPS 模块。该芯片每次将跟踪 12 枚卫星,应用广泛。而且不用附加电平转换电路,可以直接与单片机进行串行通信。单片机采用 89C51,其功能完全可以满足设计要求,而且相对于 8051,其内部 ROM 是FLASH-ROM,可多次更新改写,价格也便宜。1602 字符型液晶模块是一种用 5x7 位图形来显6示字符的单色液晶显示器,显示 2 行 16 个字,可以满足设计要求而且经济实惠。 可以看出方案二更加实用,根据现实生活的需要,设计采用此方案。7第 2 章 系统硬件设计课题要求研制的 GPS 接收机要具有接收、处理、显示信息、键盘操作,硬件上必须有相应的接收处理部分、显示部分和配置输入部分。同时需要处理器实现各部分功能的联结。由于单片机集成度高,系统结构简单,价格低廉,同时技术成熟,处理器部分使用单片机实现。本课题设计的硬件系统主要由:单片机、 GPS 模块、显示部分等组成。如图 2-1 所示: 单片机显示键盘复位GPS模块电源晶振图 2-1 系统框图2.1 单片机硬件核心控制任务是由单片机来完成的,单片机的采用使硬件电路设计大大简化,而性能更加可靠。目前,可采用的微处理器有很多种,如:MCS-51、Me6sol、280、eopsoo、等 8位单片机,虽然 16 位单片机在 1982 年已经问世,但其发展并不象人们想象的那样快,尽管在某些性能指标方面超过了 8 位单片机,但从性能价格比及开发周期等综合效益上不如 8 位单片机,因此应用并不普及。在本次设计中,采用 MCS-51 系列单片机,虽然信号处理和计算的功能相对差些,但其结构简单、体积小、性价比高、可靠性高、功耗小及应用范围广,适合于小型化作业。因此,笔者选择了 AT89C51 单片机作为微控制器。它具有全双工异步通信口 ,可与 GR-87 接口进行数据读取 ,处理和输出。GPS 信号接收和处理部分与单片机进行串口通信时,由于都采用 TTL8电平 ,故两者之间不需进行电平转换就可直接通信。2.2 GPS 模块2.2.1 概述根据设计需要,GPS 模块选用 GR-87。HOLUX GR-87 是一个高性能,低功耗,小型的并且很容易联合的 GPS 模块,它每次将跟踪 12 枚卫星,应用广泛。当 GR-87 系统最初的自检完成后,它开始处理卫星所获得的数并自动跟踪。在正常情况下,它需要大约 45 秒达到位置进行定位,但如果 ephemeris 数据知道,只用 38 秒即可。在被计算了之后,合法的位置、速度和时间等信息被传送到输出通道,通过串口传送到单片机设备。GR-87 运用最初的数据,例如前被存放的位置、日期和卫星轨道数据,完成最大获取。2.2.2 主要技术参数1输入电压:3.3-5.5 VDC 输入。输入电流 ;少于 80 mA (没有天线);2 RF 接口:天线连接器类型:MMCX,2.8 VDC 产品 (任意产品 VCC_IN);3极小的信号跟踪:-159 dBm;4连续端口: 二个全双工串行通信 CMOS 3V 接口,可选择的波特速率(4800 默认, 9600, 19200, 38400)本设计选用 4800;NMEA 0183 版本 2.2 ASCII 输出(GGA, GSA, GSV, RMC (VTG,任意的 GLL 和 ZDA); DGPS 协议 RTCM SC-104 消息类型 1,2 和 9;SiRF二进制位置,速度,高度,状态输出。2.2.3 管脚介绍表 2-1 管脚管脚管脚名称功能描述1VCC-5V+3.55.5Vdc 电量输入2TXA串行数据输出端口 A (CMOS 3V:Voh 2.4V Vol 0.4V Ioh=Iol=2mA)3RXA串行数据输入端 A (CMOS 3V: Vih0.7*VCC Vil0.3*VCC)94RXB串行数据输入端 B (CMOS 3V: Vih0.7*VCC Vil0.3*VCC)5GND接地6时钟/复位时钟 :1PPS 时钟信号输出(Vil0.2V 脉冲宽度 10ms)。 复位: 复位输入 2.3 显示部分液晶显示 LCD(Liquid Crystal Display) ,是利用液晶材料在电场作用下发生位置变化,而遮蔽/通透光线的性能制作成为一种重要平板显示器件。通常使用的 LCD 器件有 TN 型(Twist Nematic,扭曲向列型液晶) 、STN 型(Super TN,超扭曲向列型液晶)和 TFT 型(Thin Film Transistor,薄膜晶体管型液晶) 。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 脚接口,具体定义如下:表 2-2 16 脚接口引 线 号符 号名 称功 能1Vss接地0V2VDD电路电源5V10%3VL液晶显示偏压信号调节对比度4RS寄存器选择信号H:数据寄存器 L:指令寄存器5R/W读/写信号H:读 L:写6E片选信号下降沿触发,锁存数据10主要技术参数:表 2-3 技术参数显示容量162 个字符芯片工作电压4.55.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符尺寸2.954.35(WXH)mm2.4 电源部分本电路使用集成稳压芯片 7805,它可以把频率为 50Hz、有效值为 220V 的单相交流电压转换为幅值稳定的 5V 直流电压。其主要原理是把单相交流经过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。2.5 晶体振荡器石英晶体振荡器是高精度和高稳定度的振荡器,被广泛应用于单片机、计算机、遥控器等各类振荡电路中,以及通信系统中用于频率发生器、为数据处理设备产生时钟信号和为特定系统提供基准信号。如图 2-2 所示。7|14DB0|DB7数据线数据传输15BLA背光源正极提供背光16BLK背光源负极提供背光11K1470R510KR620uFC1VCCRST 图 2-2 石英晶体振荡器2.6 键盘部分切换按键由单片机的 P2.0 控制,接上拉电阻,未按时 P2.0 为高电平。切换键盘输入信息的过程是:首先,单片机判断是否有键按下;然后,单片机把该键代表的信息转换成相应的代码,如图 2-3 所示。复位按键由单片机 RST 控制,如图 2-2 所示。 89C51 P2.0+5V图 2-3 页面切换按键 12第 3 章 系统相关协议介绍3.1 GR-87 协议3.1.1 协议简介GR-87 接口协议是以美国国家海洋电子协会(NMEA-The National Marine Electronics Association)制定的 NMEA-0183 2.0 版协议为依据的。NMEA-0183 数据格式设置为 1 个起始位,8 个数据位 ,1 个停止位,无奇偶校验,波特率默认为 4800。NMEA-0183 输出数据为 ASCII码,常用语句包括 GPGG A、GPGLL、GPGSA、GPRMC 等 ,其内容主要有经度、纬度、高度、速度、时间等4。3.1.2 数据格式根据所需数据的需要 ,只选用 GPGGA、GPGSV、GPRMC 语句。1$GPGAAGPS 定位信息例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,0000*1F它的起始引导符及语句格式说明(只列出了系统关心的一些参数) :字段 2:纬度 ddmm.mmmm,度分格式(前导位数不足则补 0)字段 3:纬度 N(北纬)或 S(南纬)字段 4:经度 dddmm.mmmm,度分格式(前导位数不足则补 0)字段 5:经度 E(东经)或 W(西经)字段 6:GPS 状态,0=未定位,1=非差分定位,2=差分定位,3=无效 PPS,6=正在估算字段 7:正在使用的卫星数量(00 - 12) (前导位数不足则补 0)字段 9:海拔高度(-9999.9 - 99999.9)2GPGSV可见卫星信息例:$GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,13,32,252,45*70它的起始引导符及语句格式说明(只列出了系统关心的一些参数) :字段 3:当前可见卫星总数(00 - 12) (前导位数不足则补 0)3$GPRMC推荐定位信息 13例:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,A*50 它的起始引导符及语句格式说明(只列出了系统关心的一些参数):字段 1:UTC 时间,hhmmss.sss 格式字段 7:速度,节,Knots 或 Km/h字段 8:方位角,度3.2 串行通信串行通信指数据是一位一位按顺序传送的通信方式。同步和异步都属于串行数据传送方式。由于本设计只涉及异步通信,所以重点介绍异步通信(以 AT89C51 为例) 。3.2.1 异步通信特点一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。每一个字符的前面都有一位起始位(低电平,逻辑值) ,字符本身由 5-8 位数据位组成(本设计中为 8 位,规定低位在前,高位在后) ,接着字符后面是一位校验位(本设计中无校验位) ,最后是一位或一位半或二位停止位,停止位后面是不定长的空闲位(可有可无) 。停止位和空闲位都规定为高电平(逻辑值) ,这样就保证起始位开始处一定有一个下跳沿。3.2.2 异步通信协议1起始位通信上没有数据被传送时,处于逻辑 1 状态。当发送设备要发送一个字符数据时,首先发出一个逻辑 0 信号,这个逻辑低电平就是起始位。起始位通过通信线传向接收设备,接收设备检测到这个逻辑低电平后,就开始准备接受数据位信号。起始位所起的作用就是设备同步,通信双方必须在传送数据位前协调同步。2数据位当接收设备收到起始位后,紧接着就会接收数据位。89C51 采用的是 9 或 8 位数据传送,这些数据被接收到移位寄存器中,构成传送数据字符。在传送过程中,数据位从最低有效位开始发送,依次顺序在接受设备中被转换为并行数据。3停止位14 停止位是一个字符数据的结束标志,可以是 1 位、1.5 位或 2 位的高电平。接收设备收到停止位后,通信线路上便又恢复逻辑 1 状态,直至下一个字符数据的起始位到来。4波特率通信线上传送的所有位信号都保持一致的信号持续时间,每一位的信号持续时间都由数据传送速度确定,这个传送速度即波特率。波特率的设置方式见 3.2.33.2.3 中断 中断系统简单实用,其基本特点是:有 5 个固定的可屏蔽中断源,3 个在片内,2 个在片外,它们在程序存储器中各有固定的中断入口地址,由此进入中断服务程序;5 个中断源有两级中断优先级,可形成中断嵌套。中断系统的结构:5 个中断源的符号、名称及产生的条件如下:INT0:外部中断 0,由P32 端口线引入,低电平或下跳沿引起。INT1:外部中断 1,由 P33 端口线引入,低电平或下跳沿引起。T0:定时器计数器 0 中断,由 T0 计满回零引起。T1:定时器计数器 l 中断,由 T1 计满回零引起。TIRI:串行 IO 中断,串行端口完成一帧字符发送接收后引起。根据需要,本设计只应用了 TI/RI 一个中断源。串行中断有发送(TI)和接收(R1)的区别;其打开与否,受中断自身的允许位和全局允许位的控制。89C51 有 4 个用于中断控制的寄存器 IE、IP、TCON(用 6 位) 、SCON(用 2 位) 。下面分别对它们进行介绍:中断允许寄存器IE:表 3-1 中断允许寄存器EAESET1EX1ET0EX0EA:全局中断允许位。EA0,关闭全部中断;EA1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断的打开或关闭。ES:串行 IO 中断允许位。ES1,打开串行 IO 中断;ES0,关闭串行 IO 中断。中断优先寄存器IP:由于本设计只应用一个中断源,不用优先级设置,在此不予介绍。T0/T1 中断控制寄存器TCON:表 3-2 中断控制寄存器15TF1TR1TF0TR0IE1IT1IE0IT0除了 TR1 和 TR0,其余 6 个用于中断控制,由于本设计中未使用定时器做中断,在此不予详细介绍。因为在设计中使用定时器来设置串行通信的波特率,在此对定时器予以介绍:以上的TR1 和 TR0 用于定时器的启动;TMOD 则用于控制定时器的工作模式,如 3-3 表所示:表 3-3 定时器控制寄存器GATEC/TM1M0GATEC/TM1M0由表可见,TMOD 的高 4 位用于 T1,低 4 使用于 T0,4 种符号的含义如下:GATE:门控制位。GATE 和软件控制位 TR、外部引脚信号 INT 的状态,共同控制定时器计数器的打开或关闭。CT:定时器计数器选择位。C/T1,为计数器方式;CT0,为定时器方式。当定时器/计数器为定时工作方式时,计数器的加 1 信号由振荡器的 12 分频信号产生,即每过一个机器周期,计数器加 1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于 12 个振荡周期,所以计数频率 f=1/12fosc。如果晶振为12MHz,则计数周期为:T=1/(12106)Hz1/12=1s;当定时器/计数器为计数工作方式时,通过引脚 T0 和 T1 对外部信号计数,外部脉冲的下降沿将触发计数。计数器在每个机器周期的 S5P2 期间采样引脚输入电 平。若一个机器周期采样值为 1,下一个机器周期采样值为 0,则计数器加 1。此后的机器周期 S3P1 期间,新的计数值装入计数器。所以检测一个由1 至 0 的跳 变需要两个机器周期,故外部事年的最高计数频率为振荡频率的 1/24。例如,如果选用 12MHz 晶振,则最高计数频率为 0.5MHz。虽然对外部输入信号 的占空比无特殊要求,但为了确保某给定电平在变化前至少被采样一次,外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以上5。M1M0:工作方式选择位,定时器计数器的 4 种工作方式由 M1M0 设定。如表 3-4 所示:表 3-4 工作方式选择M1M0工作方式功能描述00工作方式 013 位计数器01工作方式 116 位计数器1610工作方式 2自动再装入 8 位计数器11工作方式 3定时器 0:分成两个 8 位计数器;定时器 1:停止计数定时器/计数器方式控制寄存器 TMOD 不能进行位寻址,只能用字节传送指令设置定时器工作方式,低半字节定义为定时器 0,高半字节定义为定时器 1。复位时,TMOD 所有位均为 0。串行中断 单片机串行接口是一个可编程的全双工串行通信接口。它可用作异步通信方式(UART) ,与串行传送信息的外部设备相连接。通过管脚 RXD(P3.0,串行数据接收端)和管脚TXD(P3.1,串行数据发送端)与外界通信。SBUF 是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被 CPU读出数据,一个只能被 CPU 写入数据。串行口的控制与状态寄存器为 SCON 和 PCON。1SCON 用于定义串行口的工作方式及实施中断接收和发送控制。字节地址为 98H,其各位定义如表 3-5 所示:表 3-5 串行控制寄存器D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISM0、SM1:串行口工作方式选择位,其定义如表 3-6 所示: 表 3-6 串行口工作方式选择SM0、SM1工作方式功能描述波特率0 0方式 08 位移位寄存器Fosc/120 1方式 110 位 UART可变1 0方式 211 位 UARTFosc/或 fosc/321 1方式 311 位 UART可变其中 fosc 为晶体震荡器频率。根据 NMEA - 0183 数据格式及设计要求,选用工作方式117REN:接收允许控制位。由软件置位以允许接收,又由软件清 0 来禁止接收。TI:发送中断标志。在方式 0 中,第 8 位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。TI 置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的办法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。TI 必须用软件清 0。RI:接收中断标志位。在方式 0,当接收完第 8 位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于 SM2 的说明) 。RI 置位表示一帧数据接收完毕,可用查询的办法获知或者用中断的办法获知。RI 也必须用软件清 0。以上只列出了本设计所关心的说明。2PCON 是为了在单片机上实现电源控制而附加的。其中最高位是 SMOD。SMOD=1 时,方式 1、方式 2 和方式 3 的波特率加倍。本设计 SMOD 设置为 0。波特率设置:波特率,即数据传送速率,表示每秒传送二进制代码的位数,它的单位是b/s。异步通信的传送速率为 5019200b/s.由于本设计选用工作方式 1,这里只介绍方式 1的波特率设置规则。单片机的工作方式 1 一般选择定时器 T1 作为波特率发生器。当 T1 作为波特率发生器时,通常选用定时器模式 2(能够自动重装初值定时器) ,比较实用。应设置定时器 T1 为定时方式(C/T=0) ,让 T1 计数内部脉冲,即计数率为 fosc/12。先设定 TH1 和 TL1定时计数初值为 X,那么每过(256-X)个机器周期,定时器就会产生一次溢出。因此,T1 溢出率= T1 计数率/产生溢出所需的周期数;波特率=定时器 T1 溢出率 3.3 液晶显示协议3.3.1 基本操作时序1.读状态:输入:RS=L,RW=H,E=H 输出:D0_D7=状态字2.写指令:输入:RS=L,RW=L,D0_D7=指令码,高脉冲 输出:无3.读数据:输入:RS=H,RW=H,E=H 输出:D0_D7=数据4.写数据:输入:RS=H,RW=L,D0_D7=数据,E=高脉冲 输出:无183.3.2 显示与控制命令模块内部的字符发生内存(CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。11602 液晶模块内部的控制器共有 11 条控制指令,它的读写操作、屏幕和光标的操作都是通过指令编程来实现。 (说明:1 为高电平、0 为低电平)指令 1:清显示,指令码 01H,光标复位到地址 00H 位置指令 2:光标复位,光标返回到地址 00H指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有游标,低电平表示无游标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁指令 5:光标或显示移位元 S/C:高电平时移动显示的文字,低电平时移动光标 指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符指令 7:字符发生器 RAM 地址设置指令 8:DDRAM 地址设置指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令 10:写数据指令 11:读数据2液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,如表 3-8 所示:表 3-8 1602 的内部显示地址显 示 位 序 号1 2 3 4 5 40第 一 行00 01 02 03 04 . 27DD RAM地 址(HEX)第 二 行40 41 42 43 44 . 6719第 4 章 系统软件设计4.1 系统软件概述系统的软件流程是:开机上电后初始化,然后单片机开始接收 GPS 模块发送的数据,并判断数据是否有效,若数据有效则显示所需的信息,数据无效则等待直至收到有效数据。在等待过程中,单片机响应键盘输入的信息,但键盘输入不是必须的。系统图如图 5.1 所示: 开开始始串串口口初初始始化化设设置置数数据据存存储储区区接接收收子子程程序序显显示示是是否否退退出出退退出出 NY图 5-1 系统总流程图 系统软件由以下模块组成:初始化模块、数据处理模块和人机对话模块。初始化模块完成开机上电后对单片机和液晶显示器初始化。对单片机设置串口工作模式和中断工作模式;对液晶显示器设置开机画面和显示模式。数据处理模块主要是从 GPS 模块接收数据,判断数据的有效性,对有效数据进行相应的格式处理,然后等待送液晶显示器显示。数据处理模块的工作从开机上电开始一直连续不断20的进行,直到关机为止。人机对话模块主要是相应的显示器显示。该部分完成从单片机读数据到液晶显示器和从液晶显示器读数据到单片机的双向传输工作。4.2 软件程序的编写4.2.1 初始化模块1单片机 根据 3.2 对单片机串行通信的详细介绍可知:本设计选择串行通信工作方式 1 并允许接收;选择定时器 1,模式 2;根据波特率为 4800b/s,计算出定时器计数初值;启动定时器 1;开总中断、串口中断。2液晶显示通过初始化函数 LCMInit()进行初始化,然后又调用显示字符串函数以便让屏幕显示GPS Monitor V1.2字样,表示准备工作,接着延时 400Ms 然后调用清屏函数进行一次清屏。4.2.2 数据处理模块数据处理模块负责处理从 GPS 模块接收到的数据。由于这些数据格式符合 NMEA 0183 ASCII 码接口协议,所以接收到的数据会转换为需要的信息。1接收总流程图 21开开始始定定义义tmpRI=1?默默认认进进入入命命令令模模式式命命令令段段计计数数结结束束命命令令判判断断判判别别RI=0命命令令类类型型判判断断数数据据储储存存结结束束进进入入命命令令模模式式进进入入数数据据模模式式置置命命令令标标志志图 5-2 接收总流程图2命令类型判断流程图(以 GPGGA 为例)22接接收收字字符符放放入入类类型型缓缓存存位位计计数数=4?cmd0=Gcmd1=Pcmd4=Acmd3=Gcmd2=GYY置置为为第第一一种种命命令令置置命命令令模模式式逗逗号号计计数数器器清清空空 图 5-3 命令类型判断流程图 当类型数据接收完毕,先判断类型。本设计中有 3 种类型数据,即GPGGA、GPGSV、GPRMC。如果接收到的是 GPGGA,则将命令类型置 1,接收命令模式23赋为 2,逗号和位数均清空。 3GPGGA 数据存储流程图逗逗号号计计数数值值为为?接接收收位位1存存纬纬度度高高度度处处理理使使用用卫卫星星数数定定位位判判断断存存经经度度方方向向存存经经度度存存纬纬度度方方向向接接收收位位10接接收收位位9接接收收位位1接接收收位位1接接收收位位6接接收收位位22345679图 5-4 GPGGA 数据存储流程图 开始接收类型数据。此时,当逗号计数为 2 且位计数小于 9,就将纬度数据一位一位存储起来(存储一位后 RI 便置 0 以接收下一位) 。当接收数据为“, ”时,则逗号计数加 1 为 3同时位计数清空,如果位计数小于 1,则将纬度方向数据一位一位存储起来(同上) 。当逗号计数再加 1 为 4 时同时位计数清空,这时位计数只要小于 10,就将经度数据一位一位存储起来(同上) 。依次类推,会顺次将经度方向、定位判断、定位使用的卫星数、高度处理存储起来。然后会接收到“*” ,说明整句接收完成并将其置为结束模式。 同理可知,GPGSV、GPRMC 语句的接收过程。244.2.3 人机对话模块人机对话模块主要是显示器工作。显示器经过初始化、设置才能正确显示信息,才能够对输入的信息显示出来。这个要点在前面已有描述.1显示总流程图 开开始始定定义义i.Bhour系系统统初初始始化化判判断断有有无无GPS信信号号?显显示示GPS信信息息经经度度纬纬度度使使用用卫卫星星数数卫卫星星总总数数时时间间速速度度方方位位角角结结束束提提示示无无GPS信信号号NY 图 5-5 显示流程图2GPRSM 信息显示流程图25显显示示时时间间是是否否定定位位?显显示示速速度度显显示示方方位位角角显显示示.-YN图 5-6 GPRSM 信息显示流程图GPS 接收机打开后,如果有 GPS 信号,首先检测是否有按键切换显示。如果没有,则屏幕显示第一页,反之显示第二页(这里只介绍第二页显示) 。当接收有效数据为 GPRMC,其数据均在第二业显示,先显示时间,然后如果 GPS 未定位,则屏幕第一行首末均显示.-;如果已定位,则显示速度,接着显示方位角,然后刷新计数器清空。同理可知,另外两种命令显示(均显示在第二页) 。3页面切换流程图 26是是否否有有页页面面切切换换显显示示?Page=!page!page=1第第二二页页显显示示清清屏屏YN图 5-7 页面切换流程图 4.3 代码实现单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于 MCS-51 单片机的汇编软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发 MCS-51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部份组合在一起。运行 Keil 软件需要 Pentium 或以上的 CPU,16MB27或更多 RAM、20M 以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。所以本设计使用 C 语言编程。28结 论本课题是在了解了当前 GPS 导航系统的条件下,自行开发一套 GPS 接收机。GPS 接收机的开发和研制,主要是了解 GPS 的原理,熟悉 GPS 接收机的工作原理及其各部分工作流程。GPS 信号处理这一块由 GR-87 实现,通过 GR-87 与 MCS-51 兼容系列单片机串口相连,配备了所需的外围电路,同时配有液晶显示器,可以显示字符,并详细介绍了该GPS 接收机的硬件和软件设计。开发的 GPS 接收机已经可以正常工作,同时显示的定位精度和定位速度等各方面的指标都满足要求。通过实验模拟仿真,结合本课题的人机界面、参数设置与计算等,能够满足课题要求,可以实现导航功能。通过本课题的完成,我对 GPS 的原理有了深入的理解,熟练地掌握了 GPS 接收机的工作原理。同时,我对单片机的应用有了更深入的掌握,提高了单片机外围电路设计和软件设计的经验的能力。这些对我今后的工作的提高都有所帮助。同时,由于水平有限和时间问题,有许多不足。没有进行误差分析,定位数据可能有误差,这有待改进和提高。29谢 辞在此,首先,我要感谢老师!老师学识渊博、治学严谨、耐心细致。在毕业设计期间,无论是在资料的查找、原理的讲解,还是在做人处世的风格上,都让我受益匪浅,得到的启示是难以详尽。在这里我要向老师表示最忠心最诚挚地感谢!我有很多基础理论知识掌握不牢,一面帮我查缺补露,一面发挥我的特长,让我的课题能够顺利有序地进行到满足要求。其次,我还要感谢我们课题组的*等同学,在共同的学习中,我们互帮互助,愉快地完成了毕业设计!此外,还要感谢以前的代课老师,他们在各方面都给于了我不少帮助,愿他们工作愉快,身体健康!最后,向在这三年期间帮助过、关心过我的老师和同学致以忠心地感谢!愿大家身体健康、工作愉快轻松、生活幸福安康!谢谢大家!参考文献3011刘基余, 李征航等. 全球定位系统原理及应用. 北京: 测绘出版社,199322洪大永. GPS 全球定位系统技术及应用. 福建: 厦门大学出版社,199833张守信. GPS 卫星测量定位理论与应用. 长沙: 国防科技大学出版社,199644刘基余. GPS 卫星导航定位原理与方法. 北京: 北京科学出版社,200355李贵奇,吴延忠等. 地球同步卫星定位. 北京: 北京解放军出版社,199166王广运,陈增强等. GPS 精密测地系统原理. 北京: 测绘出版社,198977邱致和,王万义. GPS 原理与应用. 北京: 电子工业出版社,200288李华. MCS51 系列单片机实用接口技术. 北京: 北京航空航天大学,199399何立民. 单片机高级教程. 北京: 北京航空航天大学出版社,20001010高锋. 单片微型计算机原理与接口技术. 北京: 科学出版社,20031111窦振中. 单片机外围器件实用手册. 北京: 北京航空航天大学出版社,19981212肖洪兵. 跟我学用单片机. 北京: 北京航空航天大学出版社,2002.81313李广第. 单片机基础. 北京: 北京航空航天大学出版社,1999 1414徐惠民,安德宁. 单片微型计算机原理接口与应用. 北京: 北京邮电大学出版社,1996 1515GB9078-1996, 工业炉窑大气污染物排放标准.1616何立民. 从 Cygnal 80C51F 看 8 位单片机发展之路. 单片机与嵌入式系统应用,2002 年,第 5 期,P581717Wolf W, 孙玉芳等译. 嵌入式计算系统设计原理. 北京: 机械工业出版社,2002 1818洪大永. GPS 全球定位系统技术及应用. 厦门:厦门大学出版社,19981919李朝青. 单片机原理及接口技术. 北京:北京航空航天大学出版社, 20062020刘瑞华. MCS-51 单片机与 GPS-OEM 板的串行通信. 电子通讯技术,2004, (5):93-9531外文资料翻译1.GPS obtains the wide-spread application, but it still had the insufficiency. GPS has become a global high and new technology industry, which is one kind of information infrastructure and is entering peopl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三基技能操作试题及答案
- 2025年医学影像技术工程师认证考试题库
- 技能抽考客服试题及答案
- 中职技能护理试题及答案
- 2025年军休服务管理招聘考试热点解析与预测题
- 2025年健康管理咨询公司项目经理招聘模拟题及答案详解
- 2025年中级香席布席师考试技巧与答题技巧
- 2025年健康照护师中级考试护理计划制定与执行流程详解
- 2025供应商合同付款协议
- 四年级上册英语期末试卷及答案
- 学校护学岗岗位制度
- 医院感染的典型病例分析与学习
- 工程造价咨询服务投标方案(专家团队版-)
- 2024-2025学年统编版小学道德与法治一年级上册全册教案及反思
- 《质量管理体系培训》课件
- 摩托车的安全驾驶教育与培训考核试卷
- 尿脓毒血症护理查房
- GB/T 44713-2024节地生态安葬服务指南
- 【译林】八上英语专题12 阅读回答问题15篇
- 代持房屋合作协议书范本
- 人美版小学六年上册书法教案
评论
0/150
提交评论