单片机中的寻址是什么意思

回答最好形象一点,看书上的立即寻址,直接寻址之类的,我都被搞晕了

单片机中的寻址就是单片机指令中提供的操作数的形式。也就是寻找操作数或操作数所在地址的方式。

在51系列单片机中,存放数据的存储器空间有4种:内部RAM、特殊功能寄存器SFR、外部RAM和程序存储器ROM。其中,内部RAM和SFR统一编址,外部RAM和程序存储器是分开编址的。为了区别指令中操作数所处的地址空间,对于不同存存储器的数据操作,采用不同的寻址方式。

扩展资料

寻址方式

1、立即数寻址

立即数寻址又称立即寻址,即指令中直接给出操作数的寻址方式称为立即数寻址。在51系列单片机指令系统中,立即数用前面加“#”号的8位数表示(#data,如#30H)或16位数(#data16,如#2052H)表示。举例说明立即数寻址方式,以传送指令为例。

2、直接寻址

指令中直接给出操作数地址(dir)的寻址方式称为直接寻址。寻址对象为:1 内部数据存储器,在指令中以直接地址表示;2特殊功能寄存器SFR,在指令中用寄存器名称表示。

3、寄存器寻址

以通用寄存器的内容为操作数的寻址方式称为寄存器寻址。通用寄存器包括:A、B、DPTR、R0~R7。其中B寄存器仅在乘法、除法指令中为寄存器寻址,在其它指令中为直接寻址。A寄存器可以寄存器寻址,又可以直接寻址(此时写作ACC)。

直接寻址和寄存器寻址的差别在于,直接寻址是操作数所在的字节地址(占一个字节),寄存器寻址是寄存器编码出现在指令码中。寄存器寻址速度比直接寻址要快。除上面所指的几个寄存器外,其它特殊功能寄存器一律为直接寻址。

参考资料来源:百度百科-51系列单片机寻址方式

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-06
你应该学过数字电路吧,单片机的内存空间(RAM)相当于一个寄存器阵列,给其中的寄存器编号,就是地址,寻址就是沿着这个编号取对应寄存器中存储的数据。
MOV A,30H;直接寻址,把地址(编号)30H对应的寄存器单元中的数据传递给A寄存器。
MOV A,#30H;立即寻址,把A寄存器直接写入数据30H。
MOV A,@R0;寄存器间接寻址,功能同“直接寻址”,只是R0可以改变,实现自动改变地址取数据的功能。

带“#”的数字是立即数,由计算机在执行当前立即寻址时产生,它不是由内存单元取出的,用完就没有了,所以叫“立即”,如果所有的操作都是内存单元到内存单元的操作,那内存单元怎么置数呢?所以就要用到立即数了。

不带任何符号的数字是地址,在命令当中根据此地址寻找地址所对应的内存单元中的数进行操作。本回答被提问者采纳
第2个回答  2009-03-26
举个例子,这个例子是在看视频教程的时候看到的,比如有你的一封信,我告诉你这封信就在桌子上放着,桌子上也只有你的这一封信,那么你直接过去拿就可以了,这就是直接寻址;如果我告诉你你的信在桌子上的一个编号001的箱子里放着,那麽你要先找到这个箱子,然后去里面取出你的信,这就是间接寻址。大致意思就是这样的,这里的信比喻的就是数据或者指令,我也是初学者,我们一起加油啊!
第3个回答  2009-03-26
寻址就是解决寻找操作数的问题

1.寄存器寻址 操作数在寄存器中
2.直接寻址 操作数在RAM中
3.立即数寻址 操作数是指令的一部分存放在
ROM中
4.寄存器间接寻址 操作数的地址存放在寄存
器中
5.变址寻址 相对寻址 位寻址 要复杂一点,但都是把操作数换了个地方存起来,以便用在不同的场合
第4个回答  2009-03-26
就是寻找数据或者指令的存储地址。
相似回答