论坛风格切换切换到宽版
  • 11903阅读
  • 49回复

BG4UVR 老兄请进,请教下问题,呵呵 89s52+1602 gps [复制链接]

上一主题 下一主题
离线BG4UVR
发帖
11287
只看该作者 40楼 发表于: 2009-02-05
哈,红屏漂亮。

不过这个版本的程序存在些不足,现在又不搞51了,真觉得对不起大家。要是哪位有空把程序改一改,整完善些放出来,那做过这个板子的朋友就有福了。
离线dzyj
发帖
2277
只看该作者 41楼 发表于: 2009-02-05
'
哈,红屏漂亮。
不过这个版本的程序存在些不足,现在又不搞51了,真觉得对不起大家。要是哪位有空把程序改一改,整完善些放出来,那做过这个板子的朋友就有福了。
'
说的是呀,我用摩托罗拉的板子,就出现方向不变化的问题,一直放着呢,没空研究了,不过还要感谢uvr的无私奉献,剩下的就要自己学习了.
离线dzyj
发帖
2277
只看该作者 42楼 发表于: 2009-02-05
离线BG7NJC
发帖
42
只看该作者 43楼 发表于: 2009-02-05
m8版本是我下一个diy的目标
离线BG4UVR
发帖
11287
只看该作者 44楼 发表于: 2009-02-06
'
http://www.hellocq.net/forum/showthread-t-160030&highlight=240.avr%20m8+240128屏全中文显示航海用gps解码装置.html
再把这个翻出来吧,这个是最好的,感谢uvr的无私奉献.
'

是的,这个版本的程序,是目前我写的所有版本中,考虑最完善的一个了。只是这个屏太贵,实在不太适合用来diy玩。
离线BG7NJC
发帖
42
只看该作者 45楼 发表于: 2009-02-09
这几天放车上测试,速度显示是实际的一半
离线BG4UVR
发帖
11287
只看该作者 46楼 发表于: 2009-02-10
'
这几天放车上测试,速度显示是实际的一半
'

这个错误很早前就已经发现了,原因是把gps输出的速度信号是英制单位,写程序时误当做是公制单位进行处理了。
离线BG4UVR
发帖
11287
只看该作者 47楼 发表于: 2009-02-11
'
您还是帮大家个忙把它改成km吧 :d 求您啦 :d   :d
'

找到源代码中这一段:
  1. if(spd_type)
  2. {             //km/h显示
  3.      for(i=0;i<5;i++)
  4.      {
  5.            lcd_write_char(i,0,speed[i]);
  6.      }
  7. }
  8. else
  9. {                   //knot显示
  10.      knots=   (((speed[0]-0x30)*1000
  11.            +(speed[1]-0x30)*100
  12.            +(speed[2]-0x30)*10
  13.            +(speed[4]-0x30))*1000)/1852;
  14.      lcd_write_char(0,0,knots/1000+0x30);
  15.      lcd_write_char(1,0,(knots%1000)/100+0x30);
  16.      lcd_write_char(2,0,(knots%100)/10+0x30);
  17.      lcd_write_char(3,0,'.');
  18.      lcd_write_char(4,0,knots%10+0x30);
  19. }


改为:
  1. if(spd_type)      //km/h显示
  2. {            
  3.      knots=   (((speed[0]-0x30)*1000
  4.            +(speed[1]-0x30)*100
  5.            +(speed[2]-0x30)*10
  6.            +(speed[4]-0x30))*1852)/1000;
  7.      lcd_write_char(0,0,knots/1000+0x30);
  8.      lcd_write_char(1,0,(knots%1000)/100+0x30);
  9.      lcd_write_char(2,0,(knots%100)/10+0x30);
  10.      lcd_write_char(3,0,'.');
  11.      lcd_write_char(4,0,knots%10+0x30);
  12. }
  13. else            //knot显示
  14. {                  
  15.      for(i=0;i<5;i++)
  16.      {
  17.            lcd_write_char(i,0,speed[i]);
  18.      }
  19. }


重新编译即可,找不到源代码的朋友可以在下面这个链接里找到:
http://www.bestcfan.net/article.asp?id=364
离线BG7NJC
发帖
42
只看该作者 48楼 发表于: 2009-03-20
我用keil编译出错,是软件问题还是?
离线BG4UVR
发帖
11287
只看该作者 49楼 发表于: 2009-03-20
你需要把错误的详细信息帖出来,才能知道