网站大量收购闲置独家精品文档,联系QQ:2885784924

基于单片机的GPS串口中断接收程序.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于单片机的GPS串口中断接收程序

#includereg52.h #include 1602.h sbit GPS_SPD=P1^1; //GPS模块速率设置 sbit KEY1=P1^0; //显示内容分屏切换 char code TIME_AREA= 8; //时区 //GPS数据存储数组 unsigned char JD[10]; //经度 unsigned char JD_a; //经度方向 unsigned char WD[9]; //纬度 unsigned char WD_a; //纬度方向 unsigned char date[6]; //日期 unsigned char time[6]; //时间 unsigned char speed[5]={0,0,0,0,0}; //速度 unsigned char high[6]; //高度 unsigned char angle[5]; //方位角 unsigned char use_sat[2]; //使用的卫星数 unsigned char total_sat[2]; //天空中总卫星数 unsigned char lock; //定位状态 //串口中断需要的变量 unsigned char seg_count; //逗号计数器 unsigned char dot_count; //小数点计数器 unsigned char byte_count; //位数计数器 unsigned char cmd_number; //命令类型 unsigned char mode; //0:结束模式,1:命令模式,2:数据模式 unsigned char buf_full; //1:整句接收完成,相应数据有效。0:缓存数据无效。 unsigned char cmd[5]; //命令类型存储数组 //显示需要的变量 unsigned int dsp_count; //刷新次数计数器 unsigned char time_count; bit page; void sys_init(void); bit chk_key(void); main() { unsigned char i; char Bhour; sys_init(); lock=1; use_sat[0]=0; use_sat[1]=0; total_sat[0]=0; total_sat[1]=0; while(1){ if(buf_full==0) //无GPS信号时 { dsp_count++; if(dsp_count=65000){ LCD_cls(); //清屏 LCD_write_string(0,0,No GPS connect..); LCD_write_string(0,1,Please Check..); while(buf_full==0); LCD_cls(); dsp_count=0; } } else{ //有GPS信号时 if(chk_key()){ //检测到按键切换显示 page=!page; LCD_cls(); } if(!page){ //页面1 if(buf_full|0x01){ //GGA语句 if(lock==0){ //如果未定位 LCD_write_string(0,0,*.--. ); LCD_write_string(0,1,* --.--. ); }else{ //如果已定位 LCD_write_char(0,0,JD_a); //显示经度 for(i=0;i10;i++){ LCD_write_char(i+1,0,JD[i]); } LCD_write_char(0,1,WD_a); //显示纬度 LCD_write_char(1,1, ); for(i=0;i9;i++){ LCD_write_char(i+2,1,WD[i]); } } LCD_write_char(14,1,use_sat[0]); //显示接收卫星数 LCD_write_char(15,1,use_sat[1]); buf_full=~0x01; dsp_count=0; } if

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档