[51单片机] 89C51程序移植到STC12C5A出现问题,求助!

[复制链接]
 楼主| 电子无聊大神 发表于 2014-7-25 16:41 | 显示全部楼层 |阅读模式
本帖最后由 电子无聊大神 于 2014-7-25 16:47 编辑

今天帮朋友做的项目找BUG。是这样的。
淘宝买的GPS模块--UBLOX。店家给点89C51的程序,用89C51+12864显示正常。
然后将程序移植到STC12C5A60S2后,12864第一页显示正常,但是第二页显示很乱。
最后一张是STC12C5A的不正常显示,下面的89C51的正常显示。





比较可发现,北纬东经这些中文显示正常,就是GPS解析的数据显示不正常。
两个单片机的程序是一样的,为什么会不同呢,我看了程序内容,除了12864有延时函数之外,没有其他程序涉及到时间和运行速度了,就算STC12C5A比较快,应该不影响数据的计算和显示吧?

麻烦有经验的朋友们帮忙看看。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 电子无聊大神 发表于 2014-7-25 16:41 | 显示全部楼层
本帖最后由 电子无聊大神 于 2014-7-25 16:45 编辑

:handshake
rszhao 发表于 2014-7-25 16:51 | 显示全部楼层
是不是 时钟太快了 液晶屏接受数据是乱码 调整发送程序的时间 问题应该能解决
 楼主| 电子无聊大神 发表于 2014-7-25 16:53 | 显示全部楼层
rszhao 发表于 2014-7-25 16:51
是不是 时钟太快了 液晶屏接受数据是乱码 调整发送程序的时间 问题应该能解决
...

液晶显示的启动画面是显示正常,就是第二页显示跟GPS有关的数值时显示错误了,12864驱动程序应该没问题吧
rszhao 发表于 2014-7-25 16:57 | 显示全部楼层
看看 两个发送的程序延时是否一直 只要接受的数据是一直的就不会有问题 开机画面一样 就可能是解析数据是解析的不对 STC的时钟快了12倍
lichuanfa 发表于 2014-7-25 16:57 | 显示全部楼层
89C51是乌龟,STC12C5A60S2是兔子,虽然有点夸张
rszhao 发表于 2014-7-25 16:58 | 显示全部楼层
有些指令也是块的
ayb_ice 发表于 2014-7-25 17:19 | 显示全部楼层
这个是单周期的51,降低速度应该可以的
 楼主| 电子无聊大神 发表于 2014-7-25 18:35 | 显示全部楼层
吗的 出现了最讨厌的情况,程序改着改着莫名其妙的就好了,还不知道哪里出问题啊啊啊啊啊啊    
调单片机经常出现这样的情况,遇到很无厘头的,很诡异的问题,一直找不到答案。
然后没有目的的随意改代码,改着改着不知道什么时候BUG就解决了。
花了时间到最后还不知道BUG在哪。超级郁闷!!
link8001 发表于 2014-7-26 08:18 | 显示全部楼层
遇到过显示时间全是165的,将sprintf参数减少点可以解决;猜测sprintf函数的问题,当然也可能是我撞上死耗子了
鉲┊布奇诺 发表于 2014-7-26 10:58 | 显示全部楼层
您好,看下STC12C5A60S2资料的数据手册,在资料的39页,您可以看下,应该是您的程序问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
ningling_21 发表于 2014-7-26 11:03 | 显示全部楼层
通过前后文件的比较就会发现问题。

也曾遇到类似是问题,最后发现是AUXR寄存器设置不对造成的...
 楼主| 电子无聊大神 发表于 2014-7-26 11:10 | 显示全部楼层
谢谢大家,BUG已经消失,只是莫名其妙的好了...
不知道会留下什么隐患不
volkswagenlj 发表于 2014-7-26 17:00 | 显示全部楼层
学习了
听雨虚竹 发表于 2014-7-26 17:42 | 显示全部楼层
12C5A60S2速度是89c51的12倍,程序时钟需要分频
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:Android Developer !

12

主题

400

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:Android Developer !

12

主题

400

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部