打印
[Atmel]

AT89c51的ROM和RAM问题

[复制链接]
1930|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
丶tiantian|  楼主 | 2015-5-27 16:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位高手,我写了个程序,keil编译后,data=108,code=4643,但是烧写到片子里就不好用。52的ROM是8k的啊,应该可以运行的啊,于是我就减少程序,code小于4096时烧进去就好用了,我现在不明白,rom的8k是全给code用的吗?keil编译时data指的是ram里的吗?我现在完全的蒙了。

相关帖子

沙发
阳光豆苗| | 2015-5-27 17:07 | 只看该作者
code是存在芯片程序区的,是和你的程序放在一起的,8k的rom不是完全给code,数据是在ram里运行,就好像电脑的内存.所以不要过多定义全局变量。

使用特权

评论回复
板凳
ji7411| | 2015-5-27 17:14 | 只看该作者
应该是全局变量问题。

使用特权

评论回复
地板
xuyaqi| | 2015-5-27 17:20 | 只看该作者
明明题目是AT89c51(4kROM),正文就变成52(8kROM)了.

使用特权

评论回复
5
luofeng2g| | 2015-5-27 18:32 | 只看该作者

使用特权

评论回复
6
ddllxxrr| | 2015-5-27 20:23 | 只看该作者
还是芯片的容量没有搞对的问题,51兼容的大芯片有地是,楼主是不是搞混了。

使用特权

评论回复
7
chunyang| | 2015-5-28 00:18 | 只看该作者
注意是否是跳转、调用指令用的不对。

使用特权

评论回复
8
ayb_ice| | 2015-5-28 07:59 | 只看该作者
这只能说明你的减少的代码那部分有问题

使用特权

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

本版积分规则

46

主题

364

帖子

2

粉丝