GPS定位液晶显示器的设计_第1页
GPS定位液晶显示器的设计_第2页
GPS定位液晶显示器的设计_第3页
GPS定位液晶显示器的设计_第4页
GPS定位液晶显示器的设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

GPS定位液晶显示器的设计文章发表于:2008-12-0517:50

以前我的一个帖子介绍GPS+AT89S52+LCD1602显示,见下面链接内容/showtopic.aspx?id=42543。很多网友问有没有c版本的,现在提供一个基于51系列lcd128*64显示的GPS接收机。1.GPS模块GPS模块选用常用的GARMINGPS25-LP型GPS-OEM板。

图1.1其管脚功能如下:

引脚1:串行口2数据的输出端。

引脚2:串行口2数据的输入端。

引脚3:秒脉冲输出端,精度为±1us。

引脚4:

串行口1数据的输出端。

引脚5:串行口1数据的输入端。

引脚6:掉电模式控制端。

引脚7:外部备用电源输入端。

引脚8:GND接地端。

引脚9:Vin输入端引脚10:电源输入端,与9脚相连。引脚11:空脚NC。引脚12:NMEA(美国海洋电子协会)0183,Ver1.5格式语句输出端。注意:本人使用的是LVS版本的GARMIN25-LP型。串口是232电平。与计算机连接的串口2无需电平转换。而与单片机连接的串口1要进行电平转换。切记--(^_^)。

voidserial()interrupt4using2

{

ucharpp;

RI=0;

pp=SBUF;

if(ENflag==1)

//串口接收完毕,可以用来显示,清标志位重新开始

{

disp_flag=1;

serial_byte=0;

}

elseif(DFflag==1)

//'$GPGGA'头判断完毕,开始接收$GPGGA,语句的数据

{

if(pp==42)

ENflag="1";

//等待收到'*'结束接收

else

{

serial_buff[serial_counter]=pp;

//没收到'*',继续接收,数据放入串口缓冲

serial_counter++;

}

}

elseif(Aflag==1)

//第六个为'A',判断第七个是不是','

{

if(pp==44)

DFflag="1";

//第七个个是','开始接收$GPGGA,语句的数据

else

serial_byte=0;

//不是',',清标志位

}

elseif(G3flag==1)

//第五个为'G',判断第六个是不是'A'

{

if(pp==65)

Aflag="1";

//第六个是'A'判断下一个是不是','

else

serial_byte=0;

//不是'A',清标志位

}

elseif(G2flag==1)

//第四个为'G',判断第五个是不是'G'

{

if(pp==71)

G3flag=1;

//第五个是'G'判断下一个是不是'A'

else

serial_byte=0;

//不是'G',清标志位

}

elseif(Pflag==1)

//第三个为'P',判断第四个是不是'G'

{

if(pp==71)

G2flag=1;

//第四个是'G'判断下一个是不是'G'

else

serial_byte=0;

//不是'G',清标志位

}

elseif(G1flag==1)

//第二个为'G',判断第三个是不是'P'

{

if(pp==80)

Pflag="1";

//第三个是'P'判断下一个是不是'G'

else

serial_byte=0;

//不是'P',清标志位

}

elseif(Sflag==1)

//第一个为'$',判断第二个是不是'G'

{

if(pp==71)

G1flag=1;

//第二个是'G'判断下一个是不是'P'

else

serial_byte=0;

//不是'G',清标志位

}

elseif(pp==0x24)

//判断第一个是不是$

{

Sflag="1";

//第一个为$,判断下一个是不是G

serial_counter=0;

//串行计数器清零

}

}

2.LCD写函数

voidwr_lcd(uchardat_comm,ucharcontent)

{

uchara,i,j;

delay(50);

a="content";

cs="1";

sclk="0";

std="1";

for(i=0;i<5;i++)

{

sclk="1";

sclk="0";

}

std="0";

sclk="1";

sclk="0";

if(dat_comm)

std="1";

//data

else

std="0";

//command

sclk="1";

sclk="0";

std="0";

sclk="1";

sclk="0";

for(j=0;j<2;j++)

{

for(i=0;i<4;i++)

{

温馨提示

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

评论

0/150

提交评论