版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上专心-专注-专业基于单片机的 GPS 定位系统设计摘 要GPS 是全球定位系统英文名词 Global Positioning System 的缩写。该系统是美国布设的第二代卫星无线电导航系统。它能为用户提供全球性、全天候、连续、实时、高精度的三维坐标、三向速度和时间信息。其目的是在全球范围内对地面和空中目标进行准确定位和监测。现在,GPS 接收机作为一种先进的导航和定位仪器,已在军事及民用领域得到广泛的应用。本设计是基于 AT89C51 单片机来实现的简易 GPS 定位信息显示系统。本控制系统主要完成接受数据、时间显示、经度显示、纬度显示等常规功能。此方案基于单片机、
2、GPS 模块和 12864 液晶显示屏等硬件, 并应用 C 语言实现了 GPS信号的提取、显示及基本的键盘控制操作等。经过实践测试 ,这种接收机可以达到基本 GPS 信息的接收以及显示,可以做到体积小、精度高、连续导航,并可广泛应用于个人野外旅游探险、出租汽车定位及海上作业等领域。关键词:GPS 定位系统,单片机,液晶显示屏 精选优质文档-倾情为你奉上专心-专注-专业DESIGN OF GPS RECEIVER BASED ON 51 SINGLE CHIP COMPUTERABSTRACTGPS is the abbreviation of the English term Global P
3、ositioning System global positioning system. The system is the United States laid the second generation satellite radio navigation system. It can provide users with continuous, real-time, global, round-the-clock, high precision three dimensional coordinates, three velocity and time information. Aime
4、d at targets on the ground and in the air around the world an accurate positioning and monitoring. Now, as an advanced GPS receiver navigation and positioning equipment, has a wide range of applications in military and civilian areas.This design based on the AT89C51 microcontroller is used to implem
5、ent a simple GPS positioning information display system. This control system is mainly done to accept the data, time display, latitude, longitude, and other routine functions. This program is based on single-chip, GPS module and 12864 LCD display, hardware, c language implementation and application
6、of the GPS signal extraction, display and keyboard control of basic operations. Practice tests, this receiver can receive and display the basic GPS information. small size, high accuracy, continuous navigation can be done, and can be widely applied to individuals in the wild tour adventure, hire car
7、 positioning and operations at sea, and other areas.KEY WORDS: GPS positioning system, microcontroller, LCD display精选优质文档-倾情为你奉上专心-专注-专业目录精选优质文档-倾情为你奉上专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业前言GPS 卫星导航全球定位系统问世以来,在导航、定位领域发展势头迅猛,引起世界各界人士的关注。具备高精度、全天候、全球覆盖、高效率、多功能、操作简便等特点。广泛应用于地面车辆跟踪和城市智能交通管理方面。车载 GPS 系统配合电子地图,适时
8、掌握自己的方位与目的地,对锁定目标进行跟踪、监控,从而达到防御、求援之目的。满足对机动车辆的指挥、调度、管理、监控、导航、通讯等需求。改变了人们的工作方式,提高了工作效率,带来了巨大的社会效益和经济效益。随着人们对运输载体的监控、跟踪以及智能化管理要求的提高,GPS 在中国即将进入爆发性发展阶段,蕴藏着巨大的发展空间。GPS 系统包括三大部分:空间部分GPS 卫星星座;地面控制部分地面监控系统;用户设备部分GPS 信号接收机。GPS 系统通过使用来自多个卫星的信号来确定地面或近地面任何位置的移动接收机的位置。我国的卫星定位技术综合了 GPS 卫星导航全球定位,GSM 全球数字蜂窝移动通信,GI
9、S 地理信息,计算机网络技术全方位的技术应用。利用 GPS 卫星信号接收机,跟踪这些卫星的运行,对所接收到的 GPS 信号进行变换、放大和处理,测量传播时间,解译导航电文。接收机 24h 不间断地接收卫星发送的数据参数,算出接收的三维位置、三维方向以及运动速度和时间信息。全球定位系统 GPS 是近年来开发的最具有开创意义的高新技术之一,其全球性、全能性、全天候性的导航定位、定时、测速优势必然会在诸多领域中得到越来越广泛的应用。在发达国家,GPS 技术已经开始应用于交通运输和道路工程之中。目前,GPS 技术在我国道路工程和交通管理中的应用还刚刚起步,相信随着我国经济的发展,高等级公路的快速修建和
10、 GPS 技术应用研究的逐步深入,其在道路工程中的应用也会更加广泛和深入,并发挥更大的作用。自 20 世纪 90 年代 GPS 系统向全世界免费开放以来, GPS 系统已广泛应用在导航、大地测量、精确授时、线路巡检及车辆防盗等领域。接收机是获得 GPS系统服务的关键设备,目前已有从手持式到台式数百种型号的接收机可供用户选择。通用接收机功能齐全,除了信号接收单元外,往往还配置有显示单元和人机对话设备。这一方面为用户提供了极大的方便,但 GPS 定位接收机价格比较昂贵精选优质文档-倾情为你奉上专心-专注-专业而且使用灵活性低,难以满足特定条件下的应用需求,造成了资金浪费。因此,众多用户期望按照自己
11、的使用环境和性能要求设计和使用个性化的 GPS 定位接收机。本文首先介绍了 GPS 系统由来及其发展、基本概念、GPS 接收机的工作原理及接收机定位流程。然后对单片机及其串口通信、M-87 及其 NMEA-0183 语句的数据格、液晶显示器进行了详细论述,并且设置了所需的外围电路。接着详细地介绍了该 GPS 接收机的软件设计过程。通过 C 语言实现了 GPS 信号的提取、显示等。经过实践测试,这种接收机可以达到基本 GPS 信息接收以及显示,可以做到方便灵活、优质价廉、精度高、连续导航、抗干扰能力强,并可广泛应用于个人野外旅游探险、出租汽车定位及海上作业等领域。精选优质文档-倾情为你奉上专心-
12、专注-专业 第 1 章 GPS 系统简介1.1 GPS 的由来及发展导航卫星定时测距全球定位系统(Navigation Satellite Timing and Ranging Global Position System GPS)是美国第二代卫星导航系统。它在 1973 年底由美国陆海空三军等单位协调分工提出的能取代旧式的导航设备,为军用舰船、飞机车辆等用户提供全球全天候、连续实时服务的高精度三维导航系统。系统由空间部分、地面监控部分和地面接收机部分组成。定位服务包括精密定位服务(PPS)和标准定位服务(SPS)。PPS 授权的精密定位系统用户需要密码设备和特殊的接收机。SPS 对于普通民用
13、用户,供全世界用户免费、无限制地使用。由于 GPS 具有全球覆盖以及精度高、定位速度快、实时性好、抗干扰能力强等特点,近年来在国内外得到广泛的应用,在各个领域发挥了极大的作用,已成为信息时代不可缺少的一部分。各种 GPS 民用产品的开发,已是经济和社会发展的必然要求,其前景将会非常广阔和光明,尤其是在我国,通过这些年来对它认识不断加深,我国的 GPS 开发应用也一定会以科技力量推动经济和社会发展的一颗巨星,对我国的经济和社会的发展产生重大的影响。1.2 GPS 定位系统的基本原理每颗 GPS 卫星时刻发布其位置和时间数据信号,用户接收机可以测量每颗卫星信号到接收机的时间延迟,根据信号传输的速度
14、可以计算出接收机到不同卫星的距离。同时收集至少 4 颗卫星的数据时,通过变频、放大、 滤波等一系列处理过程,实现对 GPS 卫星信号的跟踪、锁定和测量,从而产生计算位置的数据信息(包括:纬度、经度、高度、速度、日期、时间、航向、卫星状况等),经由 I/O 口输出串行数据。1.3 GPS 模块定位流程精选优质文档-倾情为你奉上专心-专注-专业(1)搜索可用卫星,接收卫星信号,与卫星信号同步,提取导航电文信息。(2)从导航电文中获取计算位置所需的信息,这些信息应该包括时钟信息和星历等数据。(3)计算卫星的准确位置,这包括计算卫星的高度和方位角,从而进行必要的对流层校正。(4)计算伪距,并进行电离层
15、校正等。(5)重复上述过程,对所有可用卫星进行相应的计算。(6)进行其他必要的校正,例如根据卫星信号到达 GPS 接收机的时间,校正地球旋转所造成的卫星位置的偏差。(7)根据定位原理,计算出 GPS 接收机的初始位置,并将其转换成所需的坐标格式进行显示或输出。(8)加入闰秒和 UTC(标准世界时)时间补偿计算当前精确的时间。(9)分析可用卫星的信息,计算最好的 DOP(Dilution of Precision),进行选星,并计算和修正 GPS 接收机的位置,给出 GPS 接收机的三维坐标和准确的时间信息。1.4 本设计的主要工作本文的主要目的是在 GPS 和单片机的理论知识上,选用 Atme
16、l 公司的AT89C51 提取 GPS 模块的接收数据并由 12864 液晶显示接收数据。在此设计过程中,主要熟悉 Holux-M-87 GPS 模块各性能指标,学习 NMEA封包并懂得使用 NMEA 输出命令,结合单片机串行通信知识,实现对 GPS 接收到的卫星信息进行提取,并在 12864 液晶显示平台上选择性的显示数据。精选优质文档-倾情为你奉上专心-专注-专业第 2 章 系统硬件设计课题要求研制的 GPS 接收机要具有接收、处理、显示信息的功能。硬件上必须有相应的接收处理部分、显示部分和配置输入部分,同时需要处理器实现各部分功能的联合。由于单片机集成度高,系统结构简单,价格低廉,同时技
17、术成熟,处理器部分使用单片机实现。本课题设计的硬件系统主要由:单片机、GPS 模块、显示部分等组成。如图2-1 所示:GPS模块电源晶振单片机显示键盘复位图 2-1 系统框图2.1 单片机硬件核心控制任务是由单片机来完成的,单片机的采用使硬件电路设计大大简化,并且性能更加可靠。目前,可采用的微处理器有很多种,如:MCS-51、Me6sol、280、eopsoo 等 8 位单片机,虽然 16 位单片机在 1982 年已经问世,但其发展并不像人们想象的那样快,尽管在某些性能指标方面超过了 8 位单片机,但从性价比及开发周期等综合效益上却不如 8 位单片机,因此应用并不普及。在本次设计中,采用 MC
18、S-51 系列单片机,虽然信号处理和计算的功能相对精选优质文档-倾情为你奉上专心-专注-专业差些,但其结构简单、体积小、性价比高、可靠性高、功耗小及应用范围广,适合于小型化作业。因此,选择 AT89C51 单片机作为微控制器。它具有全双工异步通信口,可与 M-87 接口进行数据读取、处理和输出。GPS 信号接收和处理部分与单片机进行串口通信时,由于都采用了 TTL 电平,故两者之间不需进行电平转换就可直接通信。2.1.1 AT89C51 单片机的结构原理AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8 位微处理器,俗称单片机。单片机的可擦除只读存储器可以
19、反复擦除 100次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效精简微控制器。AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价格低廉的方案,其引脚排列如图2-2 所示:图 2-2 AT89C51 引脚图引脚 XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,精选优质文档-倾情为你奉上专心-专注-专业XTAL2 应不接。有余
20、输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.1.2 AT89C51 单片机的主要特性(1) 与 MCS-51 兼容。 (2) 4K 字节可编程闪烁存储器。 (3) 寿命:1000 写/擦循环。(4) 数据保留时间:10 年。(5) 全静态工作:0Hz-24MHz。(6) 三级程序存储器锁定。(7) 1288 位内部 RAM。(8) 32 可编程 I/O 线。(9) 两个 16 位定时器/计数器。(10) 5 个中断源。 (11) 可编程串行通道。(12) 低功耗的闲置和掉电模式。(13) 片内振荡器和时钟电路。2.2 G
21、PS 模块2.2.1 概述 根据设计需要,GPS 模块选用 M-87,如图 2-3 所示。M-87 是一种根据低耗电 Mediatek GPS 解决方案设计的超小型 25.425.47 mm GPS 引擎机板。它是一个高性能、低功耗、小型并很容易联合的 GPS 模块,应用范围广泛。它对于导航应用提供高达-159dBm 的绝佳灵敏度与快速的第一次定位时间。M-87 是您想要内嵌在使用于 GPS 服务的 PDA、PND、行动电话、可携式装置设计中的最佳选择。精选优质文档-倾情为你奉上专心-专注-专业图 2-3 M-87 GPS 模块2.2.2 主要技术参数及产品特点主要技术参数:(1) 工作电压:
22、3.55V 直流。(2) 接收灵敏度:-159dBm。(3) 体积大小:25.425.47 mm。(4) 模块重量:7 克。(5) 定位精度:= 24) /判断得到的时间是否超过 24 小时,超出变作减 24处理 j - = 24;精选优质文档-倾情为你奉上专心-专注-专业 g_DisTime0 = j/10+0; /将北京时间高一位作码型变换并赋予高一位显示 g_DisTime1 = j%10 +0;/将北京时间高二位作码型变换并赋予高二位显示在调试中出现一个问题,在做了以上的处理后,时间的小时位数据并不完全正确,高位显示的与北京时间相同,但低位却与 UTC 时间相同。在做了各种尝试(如在
23、UTC 时间上做加 9 处理、直接给六位时间 g_DisTime5赋值等)后总结出这样一个问题,以上的算法处理只对六位数据位的高一位处理有效,低五位的显示始终都是正确 UTC 时间。经过分析,初步认定上面的程序并没有被完全的执行。因 GPS 接收模块源源不断的传送数据给单片机处理,在运行过程中定位信息大约每秒钟更新一次,在主函数中对收到的时间进行处理时有可能会出现还没来得及处理完毕时便接收到下一帧数据,故时间的处理就可能会有只对高一位处理完成而没完成处理好低五位时又进入了串行口中断,那么液晶显示的结果就是经过处理的高一位(北京时间)和未经处理的低五位(UTC 时间)。考虑到以上原因,将原放在主
24、函数的时间转换处理程序放置在到中断时一收到 UTC 时间就对其进行转换处理。经过了调试,终于在液晶上显示出来正确的北京时间,证明了以上的分析、推断的正确性。4.3 系统测试结果经过多次的测试和改进,2012 年 5 月 12 日上午在洛阳理工学院实验楼 D 楼进行测试,接收天线放置于户外接收信号,启动 GPS 接收系统,经过测试,液晶显示的结果如下图 5-1:精选优质文档-倾情为你奉上专心-专注-专业图 5-1 液晶显示结果 精选优质文档-倾情为你奉上专心-专注-专业 结论本课题是在了解了当前 GPS 导航系统的条件下,自行开发一套 GPS 接收系统。GPS 接收机的开发和研制,主要是了解 G
25、PS 的原理,熟悉 GPS 接收机的工作原理及其各部分工作流程。GPS 信号处理这一块由 M-87 实现,通过 M-87 与MCS-51 兼容系列单片机串口相连,配备了所需的外围电路,同时配有液晶显示器,可以显示字符,并详细介绍了该 GPS 接收机的硬件和软件设计。开发的 GPS接收机已经可以正常工作,同时显示的定位精度和定位速度等各方面的指标都满足要求。通过实验模拟仿真,结合本课题的人机界面、参数设置与计算等,能够满足课题要求,可以实现导航功能。通过本课题的完成,我对 GPS 的原理有了深入的理解,熟练地掌握了 GPS接收机的工作原理。同时,我对单片机的应用有了更深入的掌握,提高了单片机外围
26、电路设计和软件设计的经验和能力。这些对我今后工作的提高都有所帮助。同时,由于水平有限和时间问题,还存在许多不足。没有进行误差分析,且定位数据可能有误差,这些方面有待改进和提高。精选优质文档-倾情为你奉上专心-专注-专业谢 辞在此,首先我要感谢耐心细致、知识丰富,给我们很大帮助的王老师!在毕业设计期间,从设计题目的选择,到资料的查找、原理的讲解,再到后来毕业论文的结构布局和报告内容的修改都给予我们耐心的辅导。在这里我要向老师表示最衷心最诚挚地感谢!我们有很多基础理论知识掌握不牢,一面帮我们查漏补缺,一面发挥我们的特长,让我们的课题能够顺利有序地进行到满足要求。其次,我还要感谢我们课题组一起奋斗的
27、同学,在共同的学习中,我们互帮互助,愉快地完成了毕业设计!此外,还要感谢以前的代课老师,他们在各方面都给了我不少帮助,愿他们工作愉快,身体健康!最后,向在这三年期间帮助过、关心过我的老师和同学致以衷心地感谢,愿大家身体健康、工作愉快轻松、生活幸福安康!精选优质文档-倾情为你奉上专心-专注-专业参考文献1洪大永. GPS 全球定位系统技术及应用M. 福建: 厦门大学出版社, 19982高锋. 单片微型计算机原理与接口技术M. 北京: 科学出版社, 20033徐惠民, 安德宁. 单片微型计算机原理接口与应用M. 北京: 北京邮电大学出版社, 19964郑晓霞. D. 内蒙古大学 20095戴佳,
28、戴卫恒. 51 单片机 C 语言应用程序设计M. 北京: 电子工业出版社, 20066何立民. 从 Cygnal 80C51F 看 8 位单片机发展之路J. 单片机与嵌入式系统应用, 2002 年,第 5 期: 587郝振涛,张建北,江恒,乔曼. P. 中国专利: CNU, 2010-11-108俞海红, 陈素珊, 何勇. J. 浙江大学学报(农业与生命科学版). 2004 年,第 6 期: 76819,基于 AT89C2051 单片机的 GPS 时钟系列J. 电子世界.2011 年,第 5 期: 3910张俊中, 杨传宽, 雷伟伟. J. 黑龙江科技信息. 2008 年,第 25 期: 17
29、11张海龙. J. 网络与信息. 2009 年,第 4 期: 4712 A. Proceedings of the 2010 IEEE International Conference on Progress in Informatics and ComputingC. 201013 ; a; ; b; ; ; . The Key Technology Research of GPS Positioning System Based on Single Chip MicrocomputerC. 201014吴迅. J. 电子世界. 2009 年,第 1 期: 464815张新强. 点阵 LCD
30、 驱动显控原理与实践M. 北京: 北京航天航空出版社, 2010, 316莫禾胜,唐晓辉. J. 科技信息. 2010 年,第 21 期: 10610717吴忻. D. 西安电子科技大学 200618 Ling Huang. GPS Information Processing System Based on Single Chip Microcomputer. Modern Electronics TechniqueC. 2007精选优质文档-倾情为你奉上专心-专注-专业附录 附录 A 软件程序#includereg51.h#include stdio.h#include intrins.h
31、#includeSystem.h#define FALSE 0#define TRUE 1sbit SCLK = P17;sbit MISO = P16;sbit MOSI = P15;sbit LCD_SH = P12;sbit LCD_CS = P11;#define LCD_SCLK SCLK#define LCD_MISO MISO#define LCD_MOSI MOSI#define LCD_16dot_mode 1#define LCD_12dot_mode 2#define LCD_DRAW_mode 3#define LCD_FD_DRAW_mode 4#define LCD
32、_FD_DATA 1#define LCD_FD_ADDR 0#define LCD_FD_CMD 0 /LCD 命令及参数定义#define LCD_CMD_HEAD 0 x80#define LCD_CMD_END 0 x93#define LCD_16DOT_MODE_CMD 0 x81#define LCD_12DOT_MODE_CMD 0 x82#define LCD_DRAW_MODE_CMD 0 x83#define LCD_FD_MODE_CMD 0 x84精选优质文档-倾情为你奉上专心-专注-专业#define LCD_SET_CONTRAST_CMD 0 x85#defin
33、e LCD_SET_BK_LCD_CMD 0 x86#define LCD_CLR_CMD 0 x88#define LCD_SLEEP_CMD 0 x89#define LCD_Cursor_CMD 0 x8b#define LCD_Hilight_CMD 0 x8c#define LCD_BK_Light_Ctl_Cmd 0 x8d#define LCD_ALL_Hilight 0#define LCD_TXT_Hilight 1#define LCD_DRAW_PIC_CMD 0 x90/命令画图模式下的画图模式设置#define LCD_DRAW_WHOLE_PIC 0 x01#def
34、ine LCD_DRAW_SPECIAL_ICON 0 x02#define LCD_DRAW_PROGRESS 0 x03#define LCD_EXIT_SLEEP_STA 0 x9f#define LCD_SET_NEW_POS_WORD 0 x20#define LCD_SET_DEF_POS_WORD 0 x00#define LCD_BK_ON 0 x01#define LCD_BK_OFF 0 x00#define LCD_START_ADC_CMD 0 x87#define LCD_READ_CMD 0 x00unsigned char idata temp_bu20;unsi
35、gned char idata temp_buf20;unsigned char idata gps_time112; unsigned char idata gps_mode3; unsigned char idata gps_longitude15; unsigned char idata gps_longitude_dir3; unsigned char idata gps_latitude15; unsigned char idata gps_latitude_dir3; unsigned char idata gps_speed8; unsigned char idata gps_s
36、peed_dir8; unsigned char idata gps_time210; unsigned char gps_data_ok_flag; unsigned char idata gps_height10; 精选优质文档-倾情为你奉上专心-专注-专业unsigned char rx_height_mode; unsigned char rx_height_count;#define MAX_RX_BUF 12unsigned char gps_rx_mode;unsigned char rx_pointer;unsigned char com_rx_bufMAX_RX_BUF+1;
37、void cal_position_disp_datalatitude(void);void cal_position_disp_datalongitude(void);void TR_LCD_SPI_BYTE_FD(unsigned char dat,mode);unsigned char TR_LCD_SPI_BYTE(unsigned char dat);void Change_lcd_mode(unsigned char LCD_mode);void LCD_Send_CMD_END(void);void SET_LCD_POS(unsigned char mode ,Y,X);voi
38、d LCD_print_char(unsigned char Y,X,unsigned char *char_ptr,unsigned char End_flag);void LCD_print_Curr_char(unsigned char *char_ptr,unsigned char End_flag);void Send_LCD_string(unsigned char *char_ptr);void Draw_lcd_whole_PIC(unsigned char ST_PIC,END_PIC,time);void Draw_LCD_Specail_ICON(unsigned cha
39、r mode,Y,X,height,width,unsigned char *data_ptr);void Draw_LCD_Srepress(unsigned char Y,X,mode,width,curr_POS);void Set_LCD_contrast(unsigned char CON_dat);void Set_LCD_BK(unsigned char BKL_dat);unsigned char Read_LCD_ADC(void);unsigned char Check_LCD_Busy(unsigned char mode);void Draw_LCD_Big_PIC(u
40、nsigned char Y,X,height,width,unsigned char *PIC_ptr);void LCD_Exit_FD_DRAW_MODE(unsigned char new_mode);void SET_LCD_SLEEP_MODE(void);unsigned char SET_LCD_Exit_SLEEP(void);void LCD_CLR_ALL(unsigned char At_once );void LCD_Open_Cursor(unsigned char Cursor_width);void LCD_Close_Cursor(void);精选优质文档-倾
41、情为你奉上专心-专注-专业void LCD_Open_hilight(unsigned char Hilight_mode);void LCD_Close_hilight(unsigned char Hilight_mode);void LCD_BK_Light_SET(unsigned char Light_MODE);void Init_LCD(void);void Init_GPS_module(void);unsigned char Cal_gas_data_to_disp(void);void rx_gps_data(unsigned char com_rx_byte);void d
42、elay_time(unsigned short t)unsigned short n,m;for(n=0;nt;n+) for(m=0;m1000;m+) ;void main(void)unsigned char i;Init_GPS_module();Init_LCD(); EA=1;while(1)LCD_BK_Light_SET(TRUE); Set_LCD_BK(1); LCD_Open_Cursor(1); LCD_Send_CMD_END();delay_time(500);LCD_CLR_ALL(TRUE);if(gps_data_ok_flag) i=Cal_gas_dat
43、a_to_disp(); if(i=1)精选优质文档-倾情为你奉上专心-专注-专业 LCD_print_char(0, 0, 该地时间为, FALSE); LCD_Open_Cursor(0); LCD_print_Curr_char(gps_time1,TRUE); delay_time(200); LCD_Open_Cursor(1); LCD_print_char(1, 0, 该地经度为, FALSE); LCD_Open_Cursor(0); LCD_print_Curr_char(temp_bu , TRUE); delay_time(200); LCD_Open_Cursor(0)
44、; LCD_print_char(3, 0, 该地纬度为, FALSE); LCD_Open_Cursor(0); LCD_print_Curr_char(temp_buf ,TRUE); delay_time(20000);void Delay_3US(void)unsigned char t;for(t=0;t10;t+) /- _nop_(); #ifdef HARD_SPIunsigned char TR_LCD_SPI_BYTE(unsigned char dat)while(!LCD_SH); LCD_CS=0;SPDAT=dat;while(!(SPSTAT&0 x80)
45、;精选优质文档-倾情为你奉上专心-专注-专业SPSTAT=0 xc0;LCD_CS=1;return SPDAT;#elseunsigned char TR_LCD_SPI_BYTE(unsigned char dat)unsigned char temp_data,i;while(!LCD_SH); LCD_SCLK=0; temp_data=dat;LCD_CS=0;MOSI=0;for(i=0;i8;i+) if(temp_data&0 x80) LCD_MOSI=1; else LCD_MOSI=0; temp_data=1; LCD_SCLK=1; if(LCD_MISO)
46、temp_data|=0 x01; /_nop_(); LCD_SCLK=0; /_nop_(); LCD_CS=1;return temp_data;#endifvoid Change_lcd_mode(unsigned char LCD_mode)unsigned char temp_data;精选优质文档-倾情为你奉上专心-专注-专业if(LCD_mode) if(LCD_mode=LCD_FD_DRAW_mode) temp_data=0 x80+LCD_mode; TR_LCD_SPI_BYTE(LCD_CMD_HEAD);TR_LCD_SPI_BYTE(temp_data); /L
47、CD_Send_CMD_END(); void LCD_Send_CMD_END(void)TR_LCD_SPI_BYTE(LCD_CMD_END);Delay_3US();Delay_3US();void SET_LCD_POS(unsigned char mode ,Y,X)unsigned char temp_data;TR_LCD_SPI_BYTE(LCD_CMD_HEAD);if(mode) temp_data=Y; temp_data&=0 x0f; temp_data|=LCD_SET_NEW_POS_WORD; else temp_data=LCD_SET_DEF_PO
48、S_WORD;TR_LCD_SPI_BYTE(temp_data);if(mode) TR_LCD_SPI_BYTE(X);void LCD_print_char(unsigned char Y,X,unsigned char *char_ptr,unsigned char 精选优质文档-倾情为你奉上专心-专注-专业End_flag)SET_LCD_POS(TRUE, Y, X); Send_LCD_string(char_ptr);if(End_flag) LCD_Send_CMD_END();void LCD_print_Curr_char(unsigned char *char_ptr,
49、unsigned char End_flag)SET_LCD_POS(FALSE, 0, 0); Send_LCD_string(char_ptr);if(End_flag) LCD_Send_CMD_END();void Send_LCD_string(unsigned char *char_ptr)while(*char_ptr!=) TR_LCD_SPI_BYTE(*char_ptr); char_ptr+; void Set_LCD_BK(unsigned char BKL_dat) TR_LCD_SPI_BYTE(LCD_CMD_HEAD); TR_LCD_SPI_BYTE(LCD_
50、SET_BK_LCD_CMD); TR_LCD_SPI_BYTE(BKL_dat);void LCD_CLR_ALL(unsigned char At_once )TR_LCD_SPI_BYTE(LCD_CMD_HEAD);TR_LCD_SPI_BYTE(LCD_CLR_CMD);if(At_once)LCD_Send_CMD_END();精选优质文档-倾情为你奉上专心-专注-专业void LCD_Open_Cursor(unsigned char Cursor_width)TR_LCD_SPI_BYTE(LCD_CMD_HEAD);TR_LCD_SPI_BYTE(LCD_Cursor_CMD
51、);TR_LCD_SPI_BYTE(0 x01);TR_LCD_SPI_BYTE(Cursor_width);void LCD_Open_hilight(unsigned char Hilight_mode)TR_LCD_SPI_BYTE(LCD_CMD_HEAD);TR_LCD_SPI_BYTE(LCD_Hilight_CMD);TR_LCD_SPI_BYTE(Hilight_mode);TR_LCD_SPI_BYTE(0 x01);void LCD_BK_Light_SET(unsigned char Light_MODE)TR_LCD_SPI_BYTE(LCD_CMD_HEAD);TR_
52、LCD_SPI_BYTE(LCD_BK_Light_Ctl_Cmd );TR_LCD_SPI_BYTE(Light_MODE);void Init_LCD(void)unsigned char i;for(i=0;i250;i+)Delay_3US();LCD_SH=1; while(!LCD_SH); void Init_GPS_module(void)rx_pointer=0;gps_rx_mode=0;gps_data_ok_flag=0;精选优质文档-倾情为你奉上专心-专注-专业RI=0;TI=0;SCON=0 x40; PCON=0 x00; TMOD=0 x20; TH1=0 xF
53、D;TL1=0 xFD; TR1=1; REN=1; ES=1; void Uart_Isr(void) interrupt 4if(RI) rx_gps_data(SBUF); if(TI) ;RI=0;TI=0;void rx_gps_data(unsigned char com_rx_byte)unsigned char i;if(com_rx_byte=$) gps_rx_mode=0; rx_pointer=0; for(i=0;i5;i+) com_rx_bufi=0; 精选优质文档-倾情为你奉上专心-专注-专业else if(rx_pointerMAX_RX_BUF) com_r
54、x_bufrx_pointer+=com_rx_byte; switch(gps_rx_mode) case 0: if(com_rx_byte=,) if(com_rx_buf0=G)&(com_rx_buf1=P)&(com_rx_buf2=R)& (com_rx_buf3=M)&(com_rx_buf4=C) gps_rx_mode=1; else if(com_rx_buf0=G)&(com_rx_buf1=P)&(com_rx_buf2=G)& (com_rx_buf3=G)&(com_rx_buf4=A) rx_hei
55、ght_count=0; rx_height_mode=0; gps_rx_mode=12; rx_pointer=0; break; case 1: if(com_rx_byte=,) for(i=0;irx_pointer;i+) gps_time1i=com_rx_bufi; /gps_time1i=|;精选优质文档-倾情为你奉上专心-专注-专业 gps_rx_mode=2; rx_pointer=0; break; case 2: if(com_rx_byte=,) for(i=0;irx_pointer;i+) gps_modei=com_rx_bufi; /gps_modei=|;
56、 gps_rx_mode=3; rx_pointer=0; break; case 3: if(com_rx_byte=,) for(i=0;irx_pointer;i+) gps_latitudei=com_rx_bufi; /gps_longitudei=|; gps_rx_mode=4; rx_pointer=0; break; case 4: if(com_rx_byte=,) for(i=0;irx_pointer;i+) gps_latitude_diri=com_rx_bufi;精选优质文档-倾情为你奉上专心-专注-专业 /gps_longitude_diri=|; gps_rx
57、_mode=5; rx_pointer=0; break; case 5: if(com_rx_byte=,) for(i=0;irx_pointer;i+) gps_longitudei=com_rx_bufi; /gps_latitudei=|; gps_rx_mode=6; rx_pointer=0; break; case 6: if(com_rx_byte=,) for(i=0;irx_pointer;i+) gps_longitude_diri=com_rx_bufi; /gps_latitude_diri=|; gps_rx_mode=7; rx_pointer=0; break
58、; case 7: if(com_rx_byte=,) for(i=0;irx_pointer;i+)精选优质文档-倾情为你奉上专心-专注-专业 gps_speedi=com_rx_bufi; gps_rx_mode=8; rx_pointer=0; break; case 8: if(com_rx_byte=,) for(i=0;irx_pointer;i+) gps_speed_diri=com_rx_bufi; gps_rx_mode=9; rx_pointer=0; break; case 9: if(com_rx_byte=,) for(i=0;irx_pointer;i+) gps
59、_time2i=com_rx_bufi; gps_rx_mode=10; rx_pointer=0; break; case 10: if(com_rx_byte=,) gps_rx_mode=11; rx_pointer=0; 精选优质文档-倾情为你奉上专心-专注-专业 break; case 11: if(com_rx_byte=,) gps_data_ok_flag=1; gps_rx_mode=0; rx_pointer=0; break; case 12: /接收海拔高度数据 if(com_rx_byte=,) if(rx_height_mode=0) rx_height_count
60、+; if(rx_height_count=8) rx_height_mode=1;rx_pointer=0; else for(i=0;i=24)hh-=24; temp_buff0=hh/10+0; temp_buff1=hh%10+0; temp_buff2=:; temp_buff3=gps_time12; temp_buff4=gps_time13; temp_buff5=:; temp_buff6=gps_time14; temp_buff7=gps_time15; temp_buff8=; for(i=0;i9;i+) gps_time1i=temp_buffi; unsigned char Cal_gas_data_to_disp(void)Cal_gps
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年张家港市大新镇人民医院自主招聘编外合同制卫技人员备考题库及答案详解参考
- 2025年山西省脑瘫康复医院公开招聘编制外合同制工作人员备考题库完整答案详解
- 2025年菏泽检察机关公开招聘59人备考题库及1套参考答案详解
- 2026年儿童早教服务合同
- 2026年生物多样性损害保险合同中
- 2025年遂宁市大数据中心遂宁数字经济研究院的招聘备考题库及一套答案详解
- 2025年达州银行股份有限公司社会招聘备考题库完整答案详解
- 2025年象州县机关事务管理局公开招聘编外工作人员备考题库带答案详解
- 2025年中国科学院遗传与发育生物学研究所综合管理部交通助理岗位招聘备考题库有答案详解
- 2025年固镇县司法局选聘专职人民调解员16人备考题库及答案详解1套
- 2025年临沂市公安机关第四季度招录警务辅助人员(400名)考试题库新版
- 2025年公务员考试申论真题模拟环境治理与污染对策深度解析
- 2025西藏日喀则市萨嘎县招聘公益性岗位考试笔试参考题库及答案解析
- 2025福建三明市农业科学研究院招聘专业技术人员3人笔试考试备考题库及答案解析
- 2025年10月自考14107人体工程学.试题及答案
- 2025年南网能源公司社会招聘(62人)考试笔试参考题库附答案解析
- 《下肢深静脉血栓形成介入治疗护理实践指南》的解读2025
- 经营区域保护合同范本
- 汽车制造工程的核心技术及四大工艺流程开发体系-
- 安徽省合肥市各县区乡镇行政村村庄村名明细及行政区划代码
- 公园绿化养护景观绿化维护项目迎接重大节会活动的保障措施
评论
0/150
提交评论