ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:1.11MB ,
资源ID:18059386      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18059386.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(GPS全球定位Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

GPS全球定位Word格式.docx

1、1.4.2 GPS消息格式GPS 以NMEA 协议格式发送消息,要正确解析出信息首先要了解NMEA 协议的格式。基本NMEA 指令是一个ASCII 字符串,它以$字符开始、以CRLF序列结束。NMEA 标准消息以GP开始,然后是三个字符的消息标识码。消息头和后面的内容通过逗号进行分隔,消息以校检码结束(校检码由一个*和两个16 位的校验字组成。校验码字段并不用逗号进行分隔。目前,校验码得到的方式是从$到*之间的字符进行逐位计算。作为ASCII表示法,每个字段的长度是随着精度的不同而变化的,因此记录的长短是变化的。这里以$GPRMC为例分校NMEA协议的格式字段格式描述消息标识$GPRMCRMC

2、协议头时间Hhmmss.sss时间精确到1ms状态CharA:有效 V:无效纬度Float度*100+分N/SN:北纬S:南纬经度E/WE:东经W:西经速度单位:knots(节)地面航向0359度,以北为参考基准日期Ddmmyy日月年格式磁偏角0180度磁偏角方向东 W:西校验码*xx2digits消息结尾LFASCII, 13ASCII, 10下面以实际的例子分析NMEA 消息格式$GPRMC, 161229.487, A, 3723.2475, N, 12158.3416, W, 0.13, 309.62, 120598, , *10从上面的消息可以得到对于消息$GPRMC时间 第一个逗号

3、后面161229.487 表示时间为 16点12分29.487秒有效位 第二个逗号后面A 表示这条消息是有效的纬度 第三个逗号后面3723.2475 和N 表示 北纬 3723.2475经度 第五个逗号的12158.3416和E表示 东经 12158.34162、硬件系统设计SPCE061A开发板2.1 LCD液晶显示1.3 SPLC501液晶模组SPLC501 液晶显示模组为128*64 点阵,面板采用STN(Super Twisted Nematic)超扭曲向列技术制成并且由128 Segment 和64 Common 组成,LCM 非常容易通过接口被访问。下面为SPLC501 液晶显示模

4、组的基本参数:显示模式黄色模式STN液晶显示格式128*64点阵地图液晶显示输入数据兼容68/80系列MPU数据输入背光黄绿色LED模块尺寸72.8(长)73.6(宽)9.5(高)mm视屏尺寸 58.84(宽)35.79(长)mm点大小0.42(宽)0.51(长)mm像素尺寸0.46(宽)0.56(长)mm模组上的液晶显示器采用的驱动控制芯片为凌阳科技的SPLC501A 芯片,该芯片为液晶显示控制驱动器,集行、列驱动器和控制器于一体,广泛用于小规模液晶显示模块。SPLC501A 单芯片液晶驱动,可以直接与其他微控制器接口总线相连。微控制器可以将显示数据通过8 位数据总线或者串行接口写到SPLC

5、501A 的显存中。下列是SPLC501A 的特点: 内置8580 位显示RAM。RAM 中的一位数据控制液晶屏上的一个象素点的亮、暗状态。“1”亮“0”暗。 具有65 行驱动输出和132 列驱动输出(注:模组中的液晶显示面板仅为64 行、128 列) 可以直接与80 系列和68 系列微处理器相连。 内置晶振电路,也可以外接晶振 工作温度范围为40 摄氏度85 摄氏度为方便学生进行单片机接口方面的学习专门设计的模块,SPLC501 液晶显示模组可以方便的和61 板连接,可进行字符显示、汉字显示以及图形显示;应用在需要图形、文本显示的系统中。SPLC501 液晶模组的电路图如图2.7所示图 SP

6、LC501液晶模组SPLC501液晶显示模组引出了时序操作的接口引脚,还引出了对操作时序进行选择的C86和PS接线。模组中的接口引脚“+”、“V3”分别为电源输入端和高电平引针(供时序选择跳线用),而“”、“GND”都是接地引脚。模组接口定义表接口引脚名说明CS1片选,低电平有效RES复位脚A0数据命令选择脚R/W对于6800系列MPU的读/写信号(R/W)对于8080系列MPU的写信号(W/R)EP对于6800系列MPU的时钟信号使能脚(EP)对于8080系列MPU的读信号(RD)DB0 8位数据总线DB1DB2DB3DB4DB5DB6DB7VR端口输出电压C86C86=H选择6800MPU

7、系列C86=L选择8080MPU系列PS串、并行时序选择SPLC501 液晶模组的实物图如图2.4所示:2.2 GPS模组GPS 模组是一款高性能的GPS(Global Positioning System)信号接收模组,该模组采用APM7101 主芯片,定位精度在10米以内。它集成了SiRFstar GPS 处理器,LNA 电路,SAW 滤波器,振荡和校准电路,该模组具有以下特性: 20 个通道接收 弱信号下快速TTFFs(Time to First Fix) 两个UART 收发通道 接收灵敏度可达-159dBm 支持NMEA-0183 和SiRF 协议 支持SBAS(WAAS、EGONS)

8、GPS模组电路如图:图 GPS模组电路图GPS模组带有一个10针的接口,该接口可以在使用时直接与单片机MCU连接,或者通过RS232转换模块和PC机相连接使用。通过串口发送或接受数据。在连接好以后,需要将GPS的短天线接到GPS模组,如果室内信号不好,需要外加长天线。下表是GPS Module接口定义表:Pin No功能1电源,3V6.5V2复位信号RST3备选复位信号45678串行数据接收口Rx9串行数据输出口Tx10地GPS模组实物图(左侧为天线):2.3 GPS全球定位系统硬件连接图3、系统软件设计3.1 软件构成本系统软件包括下面程序模块:主程序: 首先完成硬件模块的初始化,进行键盘扫

9、描,处理键盘信息,再根椐键值跳转到各功能子模块;键盘扫描模块: 完成对61 板三个按键的扫描并加入去抖功能;UART 接收模块: 完成对UART 接口的初始化,利用中断接收数据;Queue 队列模块: 配合UART 中断使用,完成对接收信息的保存与提取;SPLC501 驱动模块: 驱动SPLC501 LCD ;GPS 消息解析模块: 完成GPS 消息的解析;GPS 各功能子模块: 实现地图显示、经纬度显示、日历功能。语音播报子模块: 实现经纬度、时间语音播报3.2 主程序主程序流程如图。程序运行后首先初始化各个硬件模块,然后程序进入主循环,不断进行按键扫描,根据按键进入相应的功能模块。图3.2

10、 主程序流程图/ 工程名称: GPS_061A/ 功能描述: 通过GPS模块接收到的信息,显示时间,经纬度及在地图上定位当前位置./ 涉及的库: CMacro1016.lib/ clib.lib/ 组成文件: main.c / china.c china.h DataOSfortLCD.asm SPLC501Driver_IO.asm / gps.c gps.h picture.c picture.h Key.c Key.h/ Queue.c uart.c/ / 硬件连接: GPS 61板/ 电源-电源/ 地-地/ TX-IOB7/ RX-IOB10/ R4-IOB8/ SPLC501 61板

11、/ LCD D0D7 - 接IOA8IOA15/ LCD EP - 接IOB6/ LCD RWP - 接IOB5/ LCD A0 - 接IOB4/ LCD /CS1 - 接IOB9 或接地也可/ IO高电平:3.3V / 维护记录: 2007-08-9 v1.0 /=/ 文件名称: main.c GPS定位 2007-08-9 v1.0#include spce061a.hUART.hgps.hchina.hKey.h./c501/SPLC501User.hpicture.h#define SIZE 16/ 语法格式: int CPU_Init(void)/ 实现功能: 初始化CPU时钟49M

12、Hz/ 参数: 无/ 返回值: 0/= int Init_CPU() *P_SystemClock = C_Fosc_49M | C_Fosc; / 设置系统时钟与CPU时钟全为49MHz *P_INT_Ctrl_New = *P_INT_Ctrl_New | C_IRQ5_2Hz | C_IRQ5_4Hz ; / 打开2Hz中断用于滚动显示信息. return 0; void Open_IRQ_2Hz() 打开2Hz中断 无void Open_IRQ_2Hz() *P_INT_Ctrl_New |= C_IRQ5_2Hz ; / 打开2Hz中断用于滚动显示信息. void Close_IRQ

13、_2Hz() 关闭2Hz中断void Close_IRQ_2Hz() *P_INT_Ctrl_New &= C_IRQ5_2Hz ; int main(void)int main() int Key; unsigned int i; Init_CPU(); Init_Key(); Init_UART(); Init_GPS(); / LCD501_Init(5);/ LCD501_ClrScreen(0);/ LCD501_SetPaintMode(PAINT_COVER); for(i = 0xf;i 0;i -) / 凌阳科技DEMO, 仅供演示 *P_Watchdog_Clear=1;

14、LCD501_Bitmap(1 * SIZE, 1 * SIZE,encoding_23); / 演 LCD501_Bitmap(2 * SIZE, 1 * SIZE,encoding_24); / 示 LCD501_Bitmap(3 * SIZE, 1 * SIZE,encoding_25); / 程 LCD501_Bitmap(4 * SIZE, 1 * SIZE,encoding_26); / 序 LCD501_Bitmap(5 * SIZE, 1 * SIZE,encoding_27); / 严 LCD501_Bitmap(6 * SIZE, 1 * SIZE,encoding_28)

15、; / 禁 LCD501_Bitmap(1 * SIZE, 2 * SIZE,encoding_29); / 用 LCD501_Bitmap(2 * SIZE, 2 * SIZE,encoding_2a); / 于 LCD501_Bitmap(3 * SIZE, 2 * SIZE,encoding_2b); / 毕 LCD501_Bitmap(4 * SIZE, 2 * SIZE,encoding_2c); / 业 LCD501_Bitmap(5 * SIZE, 2 * SIZE,encoding_2d); / 设 LCD501_Bitmap(6 * SIZE, 2 * SIZE,encodi

16、ng_2e); / 计 LCD501_ClrScreen(0); *P_Watchdog_Clear = 1; LCD501_Bitmap(2 * SIZE, 1 * SIZE,encoding_10); / 凌 LCD501_Bitmap(3 * SIZE, 1 * SIZE,encoding_11); / 阳 LCD501_Bitmap(4 * SIZE, 1 * SIZE,encoding_12); / 科 LCD501_Bitmap(5 * SIZE, 1 * SIZE,encoding_13); / 技 LCD501_Bitmap(0.5 * SIZE, 2 * SIZE,encod

17、ing_14); / G LCD501_Bitmap(1.5 * SIZE, 2 * SIZE,encoding_15); / P LCD501_Bitmap(2.5 * SIZE, 2 * SIZE,encoding_16); / S LCD501_Bitmap(3.5 * SIZE, 2 * SIZE,encoding_17); / 定 LCD501_Bitmap(4.5 * SIZE, 2 * SIZE,encoding_18); / 位 LCD501_Bitmap(5.5 * SIZE, 2 * SIZE,encoding_19); / 系 LCD501_Bitmap(6.5 * SI

18、ZE, 2 * SIZE,encoding_1a); / 统 while(1) Key=Key_GetValue(); switch(Key) case C_KEY2 : Close_IRQ_2Hz(); / 关闭2Hz中断,在显示地图时并不显示流动信息. Show_Map(); Open_IRQ_2Hz(); *P_Watchdog_Clear = 1; LCD501_Bitmap(2 * SIZE, 1 * SIZE,encoding_10); / 凌 LCD501_Bitmap(3 * SIZE, 1 * SIZE,encoding_11); / 阳 LCD501_Bitmap(4 *

19、SIZE, 1 * SIZE,encoding_12); / 科 LCD501_Bitmap(5 * SIZE, 1 * SIZE,encoding_13); / 技 LCD501_Bitmap(0.5 * SIZE, 2 * SIZE,encoding_14); / G LCD501_Bitmap(1.5 * SIZE, 2 * SIZE,encoding_15); / P LCD501_Bitmap(2.5 * SIZE, 2 * SIZE,encoding_16); / S LCD501_Bitmap(3.5 * SIZE, 2 * SIZE,encoding_17); / 定 LCD5

20、01_Bitmap(4.5 * SIZE, 2 * SIZE,encoding_18); / 位 LCD501_Bitmap(5.5 * SIZE, 2 * SIZE,encoding_19); / 系 LCD501_Bitmap(6.5 * SIZE, 2 * SIZE,encoding_1a); / 统 break; case C_KEY1: Show_Num(); LCD501_Bitmap(2 * SIZE, 1 * SIZE,encoding_10); / 凌 LCD501_Bitmap(3 * SIZE, 1 * SIZE,encoding_11); / 阳 LCD501_Bitm

21、ap(4 * SIZE, 1 * SIZE,encoding_12); / 科 LCD501_Bitmap(5 * SIZE, 1 * SIZE,encoding_13); LCD501_Bitmap(0.5 * SIZE, 2 * SIZE,encoding_14); LCD501_Bitmap(1.5 * SIZE, 2 * SIZE,encoding_15); / P LCD501_Bitmap(2.5 * SIZE, 2 * SIZE,encoding_16); LCD501_Bitmap(3.5 * SIZE, 2 * SIZE,encoding_17); LCD501_Bitmap(4.5 * SIZE, 2 * SIZE,encoding_18); LCD501_Bitmap(5.5 * SIZE, 2 * SIZE,encoding_19); LCD501_Bitmap(6.5 * SIZE, 2 * SIZE,encoding_1a); / 统 case C_KEY3: Show_Time(); / 凌 LCD501_Bitmap(3 * SIZE, 1 * SIZE,encoding_11); / 阳 LCD501_Bitmap(4

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1