⑴ MCS-51单片机的指令系统有几种寻址方式。
MCS-51单片机的指令系统有七种寻址方式,分别是:
一、立即寻址
立即寻址就是将操作数紧跟在操作码后面,与操作码一起放在指令代码段中,在程序运行时,程序直接调用该操作数,而不需要到其他地址单元中去取相应的操作数,上述的写在指令中的操作数也称作立即数。
二、直接寻址
直接寻址在指令格式的地址的字段中直接指出操作数在内存的地址。由于操作数的地址直接给出而不需要经过某种变换,所以称这种寻址方式为直接寻址方式。在指令中直接给出参与运算的操作数及运算结果所存放的主存地址,即在指令中直接给出有效地址。
三、寄存器寻址
寄存器寻址是指操作数在寄存器中,由指令操作码中的rrr三位的值和PSW中RS1及RS0的状态,选中某个工作寄存器区的某个寄存器,然后进行相应的指令操作。
四、寄存器间接寻址
寄存器间接寻址是将指定的寄存器内容为地址,由该地址所指定的单元内容作为操作数。MCS-51规定R0或R1为间接寻址寄存器,它可寻址内部RAM低位地址的128个字节单元内容。还可采用数据指针(DPTR)作为间接寻址寄存器,寻址外部数据存储器的64K字节空间,但不能用本寻址方法寻址特殊功能寄存器。
五、相对寻址
相对寻址以程序计数器PC的当前值(R15中的值)为基地址,指令中的地址标号作为偏移量,将两者相加后得到操作数的有效地址。
六、变址寻址
把变址寄存器的内容(通常是位移量)与指令地址码部分给出的地址(通常是首地址)之和作为操作数的地址来获得所需要的操作数就称为变址寻址。
七、位寻址
对位地址中的内容进行位操作的寻址方式称为位寻址。由于单片机中只有内部RAM和 特殊功能寄存器的部分单元有位地址,因此位寻址只能对有位地址的这两个空间进行寻址操作。
(1)51单片机寻址方式扩展阅读:
MCS-51单片机是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
⑵ mcs-51单片机指令系统的寻址方式
直接寻址,间接寻址,寄存器寻址,立即数寻址,基址加变址寄存器寻址
⑶ 80c51单片机有几种寻址方式,各涉及那些存储空间
80c51有七种寻址方式:
1、立即寻址,寻址空间为rom;
2、直接寻址,寻址空间为片内ram的低128b和特殊功能寄存器;
3、寄存器寻址,寻址空间为a、b、dptr、cy、通用工作寄存器等;
4、寄存器间接寻址,片内ram低128b、片外ram;
5、相对寻址,寻址空间为rom;
6、变址寻址,寻址空间为rom;
7、位寻址,寻址空间为片内ram低128b的位寻址区的128个位,其字节地址为20h~2fh;以及部分可以位寻址的特殊功能寄存器。
⑷ mcs-51单片机有几种寻址方式 适用于什么地址空间
直接寻址方式:操作数的地址由指令直接给出,适用于片内RAM的所有地址空间;如MOV A, 68HMOV A,PSW
寄存器寻址方式:指令给出的是寄存器的编码,操作数在编码指定的寄存器中,适用于片内00H至1FH的32个字节,用RO,-,R7表示,通过PSW的RS1和RSO选择组号确定对应32个字节中的其中8个,还有累加器A,以及乘除法指令中的A和B寄存器,位寻址方式中的布尔累加器C;
MOV A, R1
MUL AB
INC DPTR
寄存器间接寻址方式:指令给出的是寄存器的编码,操作数地址在编码指定的寄存器中,适用于片内RAM的全部空间,其中52系列中的80H至FFH只能用寄存器间接寻址;如MOV A, @RO
MOV A,@R1
MOVX A, @DPTR
立即寻址方式:操作数本身在指令中直接,给出适用于用8位立即数对片内RAM所有地址单元赋值,也可用16位立即数对DPTR赋值; 如
MOV A,#0E2H
MOV DPTR, #2000H
变址寻址方式:以DPTR或PC作为基地址寄存器,以累加器A作为变址寄存器,将基址寄存器与变址寄存器的内容相加形成操作数的实际地址的一种寻址方式,变址寻址方式适用于程序存储器ROM,仅有三条指令如下:
MOVC A, @A+DPTR
MOVC A, @A+PC
JMP @A+DPTR
位寻址方式:指令中直接给出操作数所在单元的位地址,适用于片内RAM中地址20H至2FH中的16个字节中的128个位地址空间和80H至FFH中地址中可以被8整除的所有SFR中的每个位地址空间;如
MOV C,7FH
MOV F0, C
MOV C,ACC. 7
相对寻址方式:为相对转移指令而设,指令中直接给出转移的相对偏移量,其转移目标在当前指令-128至+127字节范围内的地址空间。如
SJMP START
HERE: SJMP HERE ;等效于: SJMP $
⑸ MCS-51单片机寻址方式有哪些如何设置寻址方式
51单片机有以下寻址方式:
1、立即数寻址
2、直接寻址
3、寄存器寻址
4、寄存器间接寻址
5、变址寻址
6、位寻址
7、相对寻址
寻址方式不是设置的,而是通过操作数来确定的。
⑹ 请问,那位知道51单片机常用哪几种寻址方式分别在什么情况下使用最好能举一个例子.谢谢.
立即寻址;
直接寻址;
寄存器寻址;
寄存器间接寻址;
......
看看我的网络空间吧.
实例很多的.
⑺ mc-51单片机4种寻址方式
立即、直接、寄存器、寄存器间接。
⑻ 51系列单片机寻址方式的寻址方式
立即数寻址又称立即寻址,即指令中直接给出操作数的寻址方式称为立即数寻址。在51系列单片机指令系统中,立即数用前面加“#”号的8位数表示(#data,如#30H)或16位数(#data16,如#2052H)表示。举例说明立即数寻址方式,以传送指令为例。
例:MOV A, #80H ;80H——>A
MOV DPTR, #2000H ;2000H——>DPTR 指令中直接给出操作数地址(dir)的寻址方式称为直接寻址。寻址对象为:1 内部数据存储器,在指令中以直接地址表示;2特殊功能寄存器SFR,在指令中用寄存器名称表示。
下面举例说明。
例:MOV A, 25H ;内部RAM的(25H)——>A
MOV P0, #45H ;45H——>P0 ,P0为直接寻址的SFR
MOV 30H,20H ;内部RAM的(20H)——>(30H) 以通用寄存器的内容为操作数的寻址方式称为寄存器寻址。通用寄存器包括:A、B、DPTR、R0~R7。其中B寄存器仅在乘法、除法指令中为寄存器寻址,在其它指令中为直接寻址。A寄存器可以寄存器寻址,又可以直接寻址(此时写作ACC)。直接寻址和寄存器寻址的差别在于,直接寻址是操作数所在的字节地址(占一个字节),寄存器寻址是寄存器编码出现在指令码中。寄存器寻址速度比直接寻址要快。除上面所指的几个寄存器外,其它特殊功能寄存器一律为直接寻址。
例:MOV A, R0 ;R0——>A,R0为寄存器寻址
MUL AB ;A×B——>BA,A,B为寄存器寻址
MOV B, R0 ;R0——>B,R0为寄存器寻址,B为直接寻址
PUSH ACC ;A的内容入栈,A为直接寻址
ADD A, ACC ;A为寄存器寻址,ACC为直接寻址 以寄存器中的内容为地址,该地址的内容为操作数的寻址方式称为寄存器间接寻址。能够进行寄存器间接寻址的寄存器有:R0、R1、DPTR,用前面加@表示,如@R0、@R1、@DPTR。寄存器间接寻址的存储空间包括内部数据存储器和外部数据存储器。由于内部数据存储器共有128字节,因此用一字节的R0和R1可间接寻址整个空间。而外部数据存储器最大可达64K,仅R0或R1无法寻址整个空间,为此需要由P2端口提供外部RAM高8位地址,由R0或R1提供低8位地址,由此共同寻址64K字节范围。也可用16位的DPTR寄存器间接寻址64K字节存储空间。
在指令中,是对内部RAM还是对外部RAM寻址,区别在于对外部RAM的操作仅有数据传送指令,并且用MOVX作为操作助记符。
例:MOV @R0, A ;A——>以R0内容为地址的内部RAM中
MOVX @DPTR, A ;A——>以DPTR内容为地址的外部RAM中 由寄存器DPTR或PC中的内容加上A累加器内容之和而形成操作数地址的寻址方式称为变址寻址。变址寻址只能对程序存储器中的数据进行寻址操作。由于程序存储器是只读存贮器,因此变址寻址只有读操作而无写操作。在指令符号上采用MOVC的形式。
例:MOVC A, @A+DPTR ;(A+DPTR)——>A
MOVC A, @A+PC ; (PC)+1——PC ((A)+(PC))——>A
图4 MOVC A, @A+DPTR
图5 MOVC A, @A+PC 对位地址中的内容进行位操作的寻址方式称为位寻址。由于单片机中只有内部RAM和特殊功能寄存器的部分单元有位地址,因此位寻址只能对有位地址的这两个空间进行寻址操作。位寻址是一种直接寻址方式,由指令给出直接位地址。与直接寻址不同的是,位寻址只给出位地址,而不是字节地址。
例:SETB 20H ;1——>20H位
MOV 32H, C ;进位Cy(即指令中的C)——>32H位 以当前程序计数器PC的内容为基址,加上指令给出的一字节补码数(偏移量)形成新的PC值的寻址方式称为相对寻址。相对寻址方式只修改PC值,故主要用于实现程序的分支转移。
例:SJMP 08H ;PC+2+08H——>PC (该指令为两字节,所以有PC+2)
⑼ mcs-51单片机有哪几种寻址方式
51单片机有7种寻址方式:
1、立即寻址方式
采用立即寻址的指令一般是双字节的。第一个字节是指令的操作码,第二个字节是立即数。因此,操作数就是放在程序存储器中的常数。立即数前面应加前缀“#”号。
2、直接寻址方式
采用直接寻址的指令一般是双字节或三字节指令,第一字节为操作码,第二,三字节为操作数的地址码。单片机中,直接地址只能用来表示片内低128字节单元、专用寄存器和片内RAM的位地址空间。其中专用寄存器和位地址空间只能用直接寻址方式来访问。
3、寄存器寻址方式
寄存器寻址方式用于访问选定的工作寄存器R0~R7、A、B、DPTR和进位CY中的数。其中R0~R7由操作码低三位的8种组合表示,A、B、DPTR、C则隐含在操作码之中。
4、寄存器间接寻址方式
这种寻址方式中,指令指定寄存器中的内容为操作数的地址。寄存器间接寻址是用于访问片内数据存储器或片外数据存储器。当访问片内RAM
或片外的低256字节空间时,可用R0或R1做为间址寄存器;当访问片外整个64KB的地址RAM空间时,用16位寄存器DPTR做间址寄存器。这类指令都为单字节的指令,操作码的最低位表示是采用R0还是R1做间址器。
(9)51单片机寻址方式扩展阅读:
51单片机功能特性
1,可以仿真63K程序空间,接近64K的16位地址空间;
2,可以仿真64Kxdata空间,全部64K的16位地址空间;
3,可以真实仿真全部32条IO脚;
4,完全兼容keilC51UV2调试环境,可以通过UV2环境进行单步,断点,全速等操作;
5,可以使用C51语言或者ASM汇编语言进行调试;
6,可以非常方便地进行所有变量观察,包括鼠标取值观察,即鼠标放在某变量上就会立即显示出它此的值;
7,可选使用用户晶振,支持0-40MHZ晶振频率;
8,片上带有768字节的xdata,您可以在仿真时选使用他们,进行xdata的仿真;
9,可以仿真双DPTR指针;
10,可以仿真去除ALE信号输出.;
11,自适应300-38400bps的所有波特率通讯。