[Atmel] AT89c51的ROM和RAM问题

[复制链接]
 楼主| 丶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)了.
luofeng2g 发表于 2015-5-27 18:32 | 显示全部楼层
ddllxxrr 发表于 2015-5-27 20:23 | 显示全部楼层
还是芯片的容量没有搞对的问题,51兼容的大芯片有地是,楼主是不是搞混了。
chunyang 发表于 2015-5-28 00:18 | 显示全部楼层
注意是否是跳转、调用指令用的不对。
ayb_ice 发表于 2015-5-28 07:59 | 显示全部楼层
这只能说明你的减少的代码那部分有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

364

帖子

2

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