专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 单片机

keilc51 变量存放位置?解决方法

发布时间:2010-06-14 15:47:36 文章来源:www.iduyao.cn 采编人员:星星草
keilc51 变量存放位置?
在keil的small模式中   常量放在rom中  
局部变量放在固定的内存空间?这句不懂,那个内存空间包括R0-R7吗
那么外部变量   全局变量等有放在那里?
如:
char   a;//全局变量
bit   aa;
function1()
{
      char   b;   //局部变量
      bit   bb;
function2();
}

funcion2()
{
bit   cc;
    char   c;//局部变量
}
//那么   a   b   c     aa   bb   cc   在单片机s52中的存放地址大概是在那里?
会不会相互收到影响?

------解决方案--------------------
全变量定义可以用
_at_关键字进行定位,嘿嘿

具体的变量的怎么存放它是编译器去做的事...

那个内存空间包括R0-R7吗?
这个主要是对应PC里的寄存器
------解决方案--------------------
无论什么变量都放在 DATA 区 (包括直接寻址区和间接寻址区),R0 - R7 主要是用来做调用函数时传递参数的
------解决方案--------------------
还有一个问题想问:在89c51ram中高128除了SFR可用外 其他不可以作普通ram单元用??是吗?如果是,那么为什么它们SFR不连续编址,这样不更好记吗?


这是为了硬件设计简单。你没发现sfr中80,88,90。。。的单元都是可位寻址的?这是有原因的。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: