8051中的数据传输组

在8051微控制器中,数据传输组下有28条不同的指令。总共有79个操作码。这些标志不受使用数据传输指令的影响,但是如果使用数据传输指令更改A寄存器的值,则P(奇偶校验)标志可能会更改。同样,当数据传输到PSW寄存器时,标志也会改变。

在下表中,我们将以机器周期,操作码数量等形式查看助记符,长度,执行时间。

助记符
字节数
执行时间处理时间
操作码计数
MOV A,Rn
1
1
8
MOV A8
2
1
1
MOV A,@ Ri
1
1
2
MOV A,#d8
2
1
1
MOV Rn,A
1
1
8
MOV Rn,a8
2
2
8
MOV Rn,#d8
2
1
8
MOV a8,A
2
1
1
MOV a8,Rn
2
2
8
MOV a8,a8
3
2
1
MOV a8,@ Ri
2
2
2
MOV a8,#d8
3
2
1
MOV @Ri,A
1
1
2
MOV @ Ri,a8
2
2
2
MOV @ Ri,#d8
2
1
2
MOV DPTR,#d16
3
2
1
MOVC A,@ A + DPTR
1
2
1
MOVC A,@ A + PC
1
2
1
MOVX A,@ Ri
1
2
2
MOVX A,@ DPTR
1
2
1
MOVX @ Ri,A
1
2
2
MOVX @ DPTR,A
1
2
1
推a8
2
2
1
流行音乐a8
2
2
1
XCH A,Rn
1
1
8
XCH A,a8
2
1
1
XCH A,@ Ri
1
1
2
XCHD A,@ Ri
1
1
2


如果时钟频率为12MHz,则执行1机器周期将花费1 µs。

例子


序号说明及描述
1MOV R2,35H
是MOV Rn,a8的示例。内部存储器的位置35H的内容被移至寄存器R2。
2MOV 0F0H,#12H
是MOV a8,#d8类型的示例。这里的12H将存储在寄存器B中。这一等效指令是MOV B,#25H
3PUSH 0F0H
这是PUSH a8的示例。此处,寄存器B的内容被压入堆栈。
4POP 40H
这就像POP a8。它指示堆栈顶部的内容已移动到内部RAM位置40H。
5XCH A,R2
这就像XCH A,Rn。该指令用于交换A和寄存器R2的内容。
6XCHD A @ R0
该指令类似于XCHD A,@ Ri指令。使用该指令交换由R0指向的A的LS位和内部RAM位置的LS位。