我的毕业设计用STC89C52,在keil中用at89C52头文件编译时提示ram不够,怎样可以解决?

 我来答
ghost4063
2012-10-29 · TA获得超过6523个赞
知道大有可为答主
回答量:2940
采纳率:75%
帮助的人:2791万
展开全部
RAM不够明显是你在RAM使用中太大手大脚了,52差不多有200字节可以使用,应该能满足大部分项目的要求了。你看看是不是全局数组开太多了,建议你开个数组后,尽量用指针。变量能用局部的就不要开全局。
另外,这两个芯片是兼容的,RAM大小也一样。
更多追问追答
追问
STC89c52 RAM比AT89C52的多了一倍,我想使用起来  暂时不考虑用指针,还有什么解决办法么,定义头文件似乎可以,但是没找到相关案例
追答
前面是我没说清楚,STC89C52的data区RAM是和AT89C52是一样的,但STC89C52还有256字节的RAM是作为XDATA存在的,如果你把AUX_RAM寄存器打开后,就可以把变量定义在这个区域了,但必须申明成xdata存储类型。你只需要在AT89X52.H中,把几个STC专用的寄存器地址添加进去就可以了。
孙永超fight
2012-10-29 · TA获得超过732个赞
知道小有建树答主
回答量:603
采纳率:0%
帮助的人:678万
展开全部
RAM空间大小不足的主要原因是未赋初值的或初值为0的变量太多
方法一:把不需要的变量删除
方法二:再片上RAM基础上扩展一个外部RAM
追问
RAM全部都需要,我找一个89系列可以在keil上直接编译的单片机型号,不知那个可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4df86d0
2012-10-29 · 超过15用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:26万
展开全部
自己解决
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式