P89C51与P89V51兼容的问题

[复制链接]
5875|6
 楼主| 高个 发表于 2009-8-11 21:12 | 显示全部楼层 |阅读模式
现在板子上用的芯片是P89C51RC2FBC,由于停产,供应商推荐了P89V51RC2FBC替换,查看资料显示都是基于51内核,引脚定义也是相同,但是我将以前的P89C51的程序直接写进P89V51后,P89V51输出波形和P89C51不相同。我也写了一个简单的输出方波程序如下:
ORG 0000H
LJMP  0020H
MOV P2,#0FFH
HERE:MOV A,#00H
        MOV P2,A
        MOV A,#0FFH
        MOV P2,A
       JNZ HERE
END
但是P89V51输出波形和我预期的也不相同,而且输出波形不连续,即2ms波形,20ms左右的高电平。有没有人用过P89V51,能不能解释这种现象啊?供应商给了8个样品,我试了4片都有问题,我现在初步怀疑是这批芯片坏掉了。
itelectron 发表于 2009-8-11 21:27 | 显示全部楼层
没有感觉不同 我们也换了
 楼主| 高个 发表于 2009-8-11 21:35 | 显示全部楼层
你们的程序有没有改动?我刚才在百度上看到有人也换了,他们说在编程器烧写芯片的时候有个细节没注意,但是是什么细节他没有说,我用编程器烧写芯片的时候,选择型号是“P89V51RC2”。你们选什么啊?
chunyang 发表于 2009-8-11 22:00 | 显示全部楼层
跟芯片配置有关,仔细看器件手册。
YouSelf 发表于 2009-8-12 11:09 | 显示全部楼层
有一个需要注意的地方就是V51RD2默认是12Clock ,而C51RD2应该默认是6Clock的。
 楼主| 高个 发表于 2009-8-12 12:17 | 显示全部楼层
应该不是这个问题,我用的是C51RC2,这个默认也是12CLOCK。C51RD2没有用过。
 楼主| 高个 发表于 2013-8-6 17:09 | 显示全部楼层
4年前的帖子,今天来回下。
对于P89V51的引导程序bootload是可以通过写片机覆盖掉的,为防止该现象,烧写时选择自己需要烧写的FLASH块,但是这样烧写完后如果焊到板上还是不能运行,我们采取的方法是烧写完程序后,再将程序全部读出(含bootload),然后再把读出的程序写入,这样就可以正常运行。
而且读出的程序还可以保存起来,下此次烧写时直接烧写改程序即可,烧写完后也不用再读出。就算覆盖掉原bootload也没关系,因为这个程序中已经含有bootload了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

36

帖子

1

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