0
问答首页 最新问题 热门问题 等待回答标签广场
我要提问

AT89C51RD2和AT89S52兼容吗

我做一个显示时间的模块,用AT89S5252烧写该程序,时间能正确显示出来,但是换成AT89C51RD2时间显示的是初始化的值,用的时钟芯片是DS12C887,请问这两块芯片有什么不同吗?尤其在访问片外RAM时哪里不一样,对比了芯片手册没看出什么来
提问者:clzkkq 地点:- 浏览次数:4990 提问时间:02-01 01:06
我有更好的答案
提 交
4条回答
滔滔不绝的滔滔 02-06 16:07 回答数: 被采纳数:
52是51的增强型,S52比C51,定时器多一个T2,RAM多128B,ROM多4K,中断多2个,多一个看门狗。
你是不是用到这些了?
guangcai 02-09 04:08 回答数:0 被采纳数:0
差不多的!一个是增强型,照例说应该没问题的!
zym7956138 02-03 15:38 回答数:0 被采纳数:0
二者的片内资源不同,注意52的定时器比51多一个,内存和程序存储器的容量也更大,没有用到T2,程序代码量也不高于4K,内存使用不超过128字节,那么就可以用51代替52,否则则不行,检查这些地方吧。
sk49582628 02-09 11:09 回答数:0 被采纳数:0
问题已解决 把uchar volatile xdata RTCSec  _at_ 0x0000; 改成uchar volatile xdata RTCSec  _at_ 0x8000;就能正确读出时间了,C51RD2和S52片外寻址范围可能不同,还得继续看下手册
撰写答案
提 交
1 / 3
1 / 3