51单片机指令表

数据传输类指令
指令 功能说明 指令代码 B T P OV AC CY
MOV A,Rn 寄存器送累加器 E8~EF 1 1 × × ×
MOV A,direct 直接寻址单元送累加器 E5 direct 2 1 × × ×
MOV A,@Ri 内部RAM单元送累加器 E6~E7 1 1 × × ×
MOV A,#data 立即数送累加器 74 data 2 1 × × ×
MOV Rn,A 累加器送寄存器 F8~FF 1 1 × × × ×
MOV Rn,direct 直接寻址单元送寄存器 A8~AF direct 2 2 × × × ×
MOV Rn,#data 立即数送寄存器 78~7F data 2 1 × × × ×
MOV direct,Rn 寄存器送直接寻址单元 88~8F direct 2 2 × × × ×
MOV direct2,direct1 直接寻址单元送直接寻址单元 85 direct1 direct2 3 2 × × × ×
MOV direct,A 累加器送直接寻址单元 F5 direct 2 1 × × × ×
MOV direct,@Ri 内部RAM单元送直接寻址单元 86~87 direct 2 2 × × × ×
MOV direct,#data 立即数送直接寻址单元 75 direct data 3 2 × × × ×
MOV @Ri,A 累加器送内部RAM F6~F7 1 1 × × × ×
MOV @Ri,direct 直接寻址单元送内部RAM单元 A6~A7 direct 2 2 × × × ×
MOV @Ri,#data 立即数送内部RAM单元 76~77 data 2 1 × × × ×
MOV DPTR,#data16 16 位立即数送数据指针 90 data15~8 data7~0 3 2 × × × ×
MOVC A,@A+DPTR 查表数据送累加器(DPTR为基址) 93 1 2 × × ×
MOVC A,@A+PC 查表数据送累加器(PC为基址) 83 1 2 × × ×
MOVX A,@Ri 外部RAM单元送累加器(8位地址) E2~E3 1 2 × × ×
MOVX A,@DPTR 外部RAM单元送累加器(16位地址) E0 1 2 × × ×
MOVX @Ri,A 累加器送外部RAM单元(8位地址) F2~F3 1 2 × × × ×
MOVX @DPTR,A 累加器送外部RAM单元(16位地址) F0 1 2 × × × ×
PUSH direct 直接寻址单元压入栈顶 C0 direct 2 2 × × × ×
POP direct 栈顶弹至直接寻址单元 D0 direct 2 2 × × × ×
XCH A,Rn 累加器和寄存器交换 C8~CF 1 1 × × ×
XCH A,direct 累加器与直接寻址单元交换 C5 direct 2 1 × × ×
XCH A,@Ri 累加器与内部RAM单元交换 C6~C7 1 1 × × ×
SWAP A 累加器高4位与低4位交换 C4 1 1 × × × ×
XCHD A,@Ri 累加器与内部RAM单元低4 位交换 D6~D7 1 1 × × ×
算术运算类指令
指令 功能说明 指令代码 B T P OV AC CY
INC A 累加器加1 04 1 1 × × ×
INC Rn 寄存器加1 08~0F 1 1 × × × ×
INC direct 直接寻址单元加1 05 direct 2 1 × × × ×
INC @Ri 内部RAM单元加1 06~07 1 1 × × × ×
INC DPTR 数据指针加1 A3 1 2        
DEC A 累加器减1 14 1 1 × × ×
DEC Rn 寄存器减1 18~1F 1 1 × × × ×
DEC direct 直接寻址单元减1 15 direct 2 1 × × × ×
DEC @Ri 内部RAM单元减1 16~17 1 1 × × × ×
MUL A B 累加器A乘寄存器B A4 1 4 × 0
DIV A B 累加器A除以寄存器B 84 1 4 × 0
DA A 十进制调整 D4 1 1 ×
ADD A,Rn 累加器加寄存器 28~2F 1 1
ADD A,direct 累加器加直接寻址单元 25 direct 2 1
ADD A,@Ri 累加器加内部RAM单元 26~27 1 1
ADD A,#data 累加器加立即数 24 data 2 1
ADDC A,Rn 累加器加寄存器和进位标志 38~3F 1 1
ADDC A,direct 累加器加直接寻址单元和进位标志 35 direct 2 1
ADDC A,@Ri 累加器加内部RAM单元和进位标志 36~37 1 1
ADDC A,#data 累加器加立即数和进位标志 34 data 2 1
SUBB A,Rn 累加器减寄存器和进位标志 98~9F 1 1
SUBB A,direct 累加器减直接寻址单元和进位标志 95 direct 2 1
SUBB A,@Ri 累加器减内部RAM单元和进位标志 96~97 1 1
SUBB A,#data 累加器减立即数和进位标志 94 data 2 1
逻辑运算类指令
指令 功能说明 指令代码 B T P OV AC CY
ANL A,Rn 寄存器“与”到累加器 58~5F 1 1 × × ×
ANL A,direct 直接地址“与”到累加器 55 direct 2 1 × × ×
ANL A,@Ri 间接RAM“与”到累加器 56~57 1 1 × × ×
ANL A,#data 立即数“与”到累加器 54 data 2 1 × × ×
ANL direct,A 累加器“与”到直接地址 52 direct 2 1 × × × ×
ANL direct,#data 立即数“与”到直接地址 53 direct data 3 2 × × × ×
ORL A,Rn 寄存器“或”到累加器 48~4F 1 2 × × ×
ORL A,direct 直接地址“或”到累加器 45 direct 2 1 × × ×
ORL A,@Ri 间接RAM“或”到累加器 46~47 1 1 × × ×
ORL A,#data 立即数“或”到累加器 44 data 2 1 × × ×
ORL direct,A 累加器“或”到直接地址 42 direct 2 1 × × × ×
ORL direct,#data 立即数“或”到直接地址 43 direct #data 3 1 × × × ×
XRL A,Rn 寄存器“异或”到累加器 68~6F 1 2 × × ×
XRL A,direct 直接地址“异或”到累加器 65 direct 2 1 × × ×
XRL A,@Ri 间接RAM“异或”到累加器 66~67 1 1 × × ×
XRL A,#data 立即数“异或”到累加器 64 data 2 1 × × ×
XRL direct,A 累加器“异或”到直接地址 62 direct 2 1 × × × ×
XRL direct,#data 立即数“异或”到直接地址 63 direct #data 3 1 × × × ×
CLR A 累加器清零 E4 1 2 × × ×
CPL A 累加器求反 F4 1 1 × × × ×
RL A 累加器循环左移 23 1 1 × × × ×
RLC A 带进位累加器循环左移 33 1 1 × ×
RR A 累加器循环右移 03 1 1 × × × ×
RRC A 带进位累加器循环右移 13 1 1 × ×
控制转移类指令
指令 功能说明 指令代码 B T P OV AC CY
JMP @A+DPTR 相对长转移 73 1 2 × × × ×
JZ rel 累加器为0转移 60 rel 2 2 × × × ×
JNZ rel 累加器为1转移 70 rel 2 2 × × × ×
CJNE A,direct,rel 累加器与直接寻址单元不等转移 B5 direct rel 3 2 × × × ×
CJNE A,#data,rel 累加器与立即数不等转移 B4 data rel 3 2 × × ×
CJNE Rn,#data,rel 寄存器与立即数不等转移 B8~BF data rel 3 2 × × ×
CJNE @Ri,#data,rel 内部RAM单元与立即数不等转移 B6~B7 data rel 3 2 × × ×
DJNZ Rn,rel 寄存器减1,不为0转移 D8~DF rel 2 2 × × ×
DJNZ direct,rel 直接寻址单元减1,不为0转移 D5 direct rel 3 2 × × × ×
NOP   空操作 00 1 1 × × × ×
ACALL addr11 2KB范围内绝对调用 &0 addr(a7~a0) 2 2 × × × ×
LCALL addr16 64KB范围内绝对调用 12 addr15~8 addr7~0 3 2 × × × ×
RET   子程序返回 22 1 2 × × × ×
RETI   中断返回 32 1 2 × × × ×
AJMP addr11 2KB范围内绝对转移 &1 addr(a7~a0) 2 2 × × × ×
LJMP addr16 64KB范围内绝对转移 02 addr15~8 addr7~0 3 2 × × × ×
SJMP rel 相对短转移 80 rel 2 2 × × × ×
注:&0   a10a9a8 10001        &1   a10a9a8 00001
位操作指令
指令 功能说明 指令代码 B T P OV AC CY
CLR C C内容清零 C3 1 1 × × ×
CLR bit 直接寻址位清零 C2 bit 2 1 × × ×  
SETB C C置位 D3 1 1 × × ×
SETB bit 直接寻址位置位 D2 bit 2 1 × × ×  
CPL C C内容取反 B3 1 1 × × ×
CPL bit 直接寻址位取反 B2 bit 2 1 × × ×  
ANL C,bit 直接寻址位与到进位位 82 bit 2 2 × × ×
ANL C,/bit 直接寻址位的反码与到进位位 B0 bit 2 2 × × ×
ORL C,bit 直接寻址位或到进位位 72 bit 2 2 × × ×
ORL C,/bit 直接寻址位的反码或到进位位 A0 bit 2 2 × × ×
MOV C,bit 直接寻址位送入C A2 bit 2 1 × × ×
MOV bit,C C内容送入直接寻址位 92 bit 2 2 × × × ×
JC rel C为1转移 40 rel 2 2 × × × ×
JNC rel C为0转移 50 rel 2 2 × × × ×
JB bit,rel 直接寻址位为1转移 20 bit rel 3 2 × × × ×
JNB bit,rel 直接寻址位为0转移 30 bit rel 3 2 × × × ×
JBC bit,rel 直接寻址位为1转移并清除该位 10 bit rel 3 2 × × × ×
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>