打印
[51单片机]

89C51程序移植到STC12C5A出现问题,求助!

[复制链接]
4474|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 电子无聊大神 于 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驱动程序应该没问题吧

使用特权

评论回复
5
rszhao| | 2014-7-25 16:57 | 只看该作者
看看 两个发送的程序延时是否一直 只要接受的数据是一直的就不会有问题 开机画面一样 就可能是解析数据是解析的不对 STC的时钟快了12倍

使用特权

评论回复
6
lichuanfa| | 2014-7-25 16:57 | 只看该作者
89C51是乌龟,STC12C5A60S2是兔子,虽然有点夸张

使用特权

评论回复
7
rszhao| | 2014-7-25 16:58 | 只看该作者
有些指令也是块的

使用特权

评论回复
8
ayb_ice| | 2014-7-25 17:19 | 只看该作者
这个是单周期的51,降低速度应该可以的

使用特权

评论回复
9
电子无聊大神|  楼主 | 2014-7-25 18:35 | 只看该作者
吗的 出现了最讨厌的情况,程序改着改着莫名其妙的就好了,还不知道哪里出问题啊啊啊啊啊啊    
调单片机经常出现这样的情况,遇到很无厘头的,很诡异的问题,一直找不到答案。
然后没有目的的随意改代码,改着改着不知道什么时候BUG就解决了。
花了时间到最后还不知道BUG在哪。超级郁闷!!

使用特权

评论回复
10
link8001| | 2014-7-26 08:18 | 只看该作者
遇到过显示时间全是165的,将sprintf参数减少点可以解决;猜测sprintf函数的问题,当然也可能是我撞上死耗子了

使用特权

评论回复
11
鉲┊布奇诺| | 2014-7-26 10:58 | 只看该作者
您好,看下STC12C5A60S2资料的数据手册,在资料的39页,您可以看下,应该是您的程序问题

使用特权

评论回复
12
ningling_21| | 2014-7-26 11:03 | 只看该作者
通过前后文件的比较就会发现问题。

也曾遇到类似是问题,最后发现是AUXR寄存器设置不对造成的...

使用特权

评论回复
13
电子无聊大神|  楼主 | 2014-7-26 11:10 | 只看该作者
谢谢大家,BUG已经消失,只是莫名其妙的好了...
不知道会留下什么隐患不

使用特权

评论回复
14
volkswagenlj| | 2014-7-26 17:00 | 只看该作者
学习了

使用特权

评论回复
15
听雨虚竹| | 2014-7-26 17:42 | 只看该作者
12C5A60S2速度是89c51的12倍,程序时钟需要分频

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:Android Developer !

12

主题

400

帖子

2

粉丝