单片机什么情况下地址发生了重叠?

[复制链接]
查看11 | 回复4 | 2010-9-25 12:42:08 | 显示全部楼层 |阅读模式
如果单片机有不同的寻址指令,那么单片机的地址就可能发生重叠。重叠不是必须的,而是设计使之,方便实用。例如51单片机的RAM,和SFR寄存器就是重叠的。寻址方式不同,并不会造成使用上的问题。一个是直接寻址,一个是间接寻址。直接地址寻址MOV A,32H//把地址32H的值放入A间接寻址MOV R0,#32H//R0寄存器放RAM地址MOV A,@R0
//取值,方式类似于指针
回复

使用道具 举报

千问 | 2010-9-25 12:42:08 | 显示全部楼层
同一个地址号码,涉及到多个存储单元,这就是地址重叠。如: “片内RAM”和“特殊功能寄存器SFR”,它们的地址,都是 80H~FFH。 “片外RAM”和“ROM”,它们的地址,都是 0000H~FFFFH。如果不在硬件和寻址方式加以区别,以保证一一对应,这样的地址,就不可用了。
回复

使用道具 举报

千问 | 2010-9-25 12:42:08 | 显示全部楼层
什么是地址重叠?地址重叠,有多种解释。重叠,这个词,已经被玩坏了。---------------------比如:数据块传送。源块的地址范围、目的块地址范围,有互相交叉的部分。如果编程不当,数据,可能被覆盖,难以实现完整的传送。---------------------又比如:地址号码相同。51 单
回复

使用道具 举报

千问 | 2010-9-25 12:42:08 | 显示全部楼层
如果你是用keil的C语言来写程序,下面提示出现重叠,那上有相同的函数名。 如果是汇编,就要注意org
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行