单片机各个指令的意思
答案:2 悬赏:80 手机版
解决时间 2021-11-29 13:43
- 提问者网友:棒棒糖
- 2021-11-29 00:59
单片机各个指令的意思
最佳答案
- 五星知识达人网友:傲气稳了全场
- 2021-11-29 02:03
MCS-5 系 列 单 片 机 指 令 表
A.1数据传送类指令
助记符 功能说明 机器码 字节数 机器周期
MOV A, Rn 寄存器内容送入累加器 E8~EF 1 1
direct direct送入累加器 E5(direct) 2 1
@Ri @Ri送入累加器 E6~E7 1 1
#data8 8位立即数送入累加器 74(direct) 2 1
MOV Rn, A 累加器内容送入寄存器 F8~FF 1 1
direct direct 送入寄存器 A8(direct) 2 2
#data8 8位立即数送入寄存器 78(data8) 2 1
MOV direct, A 累加器内容送入direct F5(direct) 2 1
Rn 寄存器内送入direct 88~8F(direct) 2 2
direct direct送入direct 85(direct)(direct) 3 2
@Ri @Ri送入直接地址单元 86 87(direct) 2 2
#data8 8位立即数送入直接单元地址 75(direct)(data8) 3 2
MOV @Ri A 累加器内容送入间接RAM单元 F6 F7 1 1
direct direct送入间接RAM单元 A6 A7(direct) 2 2
#data8 #data8送入间接RAM单元 76 77(data8) 2 1
MOV DPTR,#data16 #data16送入DPTR 90(directH)(directL) 3 2
MOVX A, @Ri 外部RAM(8位地址)送入A E3 E2 1 2
@DPTR 外部RAM(16位地址)送入A E0 1 2
MOVX @Ri,A A送入外部RAM(8位地址) F2 F3 1 2
MOV DPTR,A A送入外部RAM(16位地址) F0 1 2
SWAP A 累加器高4位与低4位互换 C4 1 1
XCHD A,@Ri @Ri与A进行低半字节互换 D6 D7 1 1
XCH A, Rn Rn与累加器交换 C8 CF 1 1
direct direct与累加器交换 C5(direct) 2 1
@Ri @Ri与累加器交换 C6 C7 1 1
MOVC A,@A+DPTR 以DPTR为基址查表 93 1 2
MOVC A,@A+PC 以PC为基址查表 83 1 2
PUSH direct 入栈 D0(direct) 2 2
POP direct 出栈 C0(direct) 2 2
……………………………………………………………………………..
A.2算术操作类指令
ADD A, Rn 寄存器内容加 28~2F 1 1
direct 直接地址单元加 25(direct) 2 1
@Ri 间接RAM内容加 26 27 1 1
#data8 8位立即数 24(data8) 2 1
ADDC A, Rn 寄存器内容带进位加 38~3F 1 1
direct 直接地址单元带进位加 35(direct) 2 1
@Ri 间接RAM内容带进位加 36 37 1 1
#data8 8位立即数带进位加 34(data8) 2 1
INC A 累加器加1 04 1 1
Rn 寄存器加1 08~0F 1 1
direct 直接地址单元内容加1 05(direct) 2 1
@Ri 间接RAM内容加1 06 07 1 1
DPTR DPTR加1 A3 1 1
DA A 累加器进行十进制转换 D4 1 1
SUBB A, Rn 带借位减寄存器内容 98~9F 1 1
direct 带借位减直接地址单元 95(direct) 2 1
@Ri 带借位减间接RAM内容 96 97 1 1
#data8 带借位减8位立即数 94(data8) 2 1
DEC A 累加器减1 14 1 1
Rn 寄存器减1 18~1F 1 1
direct 直接地址单元内容减1 15(direct) 2
@Ri 间接RAM内容减1 16 17 1 1
MUL A,B A乘以B A4 1 4
DIV A,B A除以B 84 1 4
……………………………………………………………………………..
A.3逻辑操作类指令
CLR A 累加器清零 E4 1 1
CPL A 累加器求反 F4 1 1
ANL A, Rn 累加器与寄存器相与 58~5F 1 1
direct 累加器与direct相与 55(direct) 2 1
@Ri 累加去与间接RAM内容相与 56 57 1 1
#data8 累加器与8位立即数相与 54(data8) 2 1
ANL direct, A direct与累加器相与 52(direct) 2 1
#data8 Direct与#data8相与 53(direct)(data8 3 2
ORL A, Rn 累加器与寄存器相或 48~4F 1 1
direct 累加器与直接地址单元相或 45(direct) 2 1
@Ri 累加器与间接RAM内容相或 46 47 1 1
#data8 累加器与8位立即数相或 44(dtat8) 2 1
ORL direct
ORL direct A direct与累加器相或 42(direct) 2 1
#data8 direct与#data8相或 43(direct)(data8 3 2
XRL A, Rn 累加器与寄存器相异或 68~6F 1 1
direct 累加器与direct相异或 65(direct) 2 1
@Ri 累加器与@Ri相异或 66 67 1 1
#data8 累加器与#data8相异或 64(data8) 2 1
XLA direct A direct与累加器相异或 62(direct) 2 1
#data8 direct与#data相异或 63(direct)(data8 3 2
循环/移位类指令
RL A 累加器循环左移 23 1 1
RLC A 累加器带进位循环左移 33 1 1
RR A 累加器循环右移 03 1 1
RRC A 累加器带进位循环右移 13 1 1
……………………………………………………………………………..
A.4控制转移类指令
LJMP addr16 长转移 02(addrH)(addrL) 3 2
AJMP addr11 绝对短转移 (addrH*20+1)(addrL) 2 2
SJMP rel 相对转移 80(rel) 2 2
JMP @A+DPTR 相对于DPTR的间接转移 73 1 2
JZ rel 累加器为零转移 60(rel) 2 2
JNZ rel 累加器非零转移 70(rel) 2 2
CJNE A,direct,rel A与direct比较不等则转移 B5(direct)(rel) 3 2
CJNE A,#data8,rel A与#data8比较不等则转移 B4(data)(rel) 3 2
CJNE Rn,#data,rel Rn与#data8比较不等则转移 B8~BF(data8)(rel) 3 2
CJNE @Ri,#data8,rel @Ri与#data8比较不等则转移 B6 B7(data8)(rel) 3 2
DJNZ Rn,rel 寄存器减1非零转移 D8~DF(rel) 3 2
DJNZ direct,rel direct减1非零转移 D5(direct)(rel) 3 2
ACALL addr11 绝对短调用子程序 (addrH*20+1)(addrL) 2 2
LACLL addr16 长调用子程序 12(addrH)(addrL) 3 2
RET 子程序返回 22 1 2
RETI 中断返回 32 1 2
NOP 空操作 00 1 1
………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………......
A.5位操作类指令
CLR C 清进位位 C3 1 1
CLR bit 清直接地址位 C2(bit) 2 1
SETB C 置进位位 D3 1 1
SETB bit 置直接地址位 D2(bit) 2 1
CPL C 进位位求反 B3 1 1
CPL bit 直接地址位求反 B2(bit) 2 1
ANL C,bit 进位位和bit相与 82(bit) 2 2
ANL C,/bit 进位位和bit的反码相与 B0(bit) 2 2
ORL C,bit 进位位和bit相或 72(bit) 2 2
ORL C,/bit 进位位和bit的反码相或 A0(bit) 2 2
MOV C,bit 直接地址位送入进位位 A2(bit) 2 1
MOV bit,C 进位位送入直接地址位 92(bit) 2 2
JC rel 进位位为1则转移 40(rel) 2 2
JNC rel 进位位为0则转移 50(rel) 2 2
JB bit,rel 直接地址位1则转移 20(bit)(rel) 3 2
JNB bir,rel 直接地址为0则转移 10(bit)(rel) 3 2
JNC bit,rel bit为1则转移该位清零 30(bit)(rel) 3 2
A.1数据传送类指令
助记符 功能说明 机器码 字节数 机器周期
MOV A, Rn 寄存器内容送入累加器 E8~EF 1 1
direct direct送入累加器 E5(direct) 2 1
@Ri @Ri送入累加器 E6~E7 1 1
#data8 8位立即数送入累加器 74(direct) 2 1
MOV Rn, A 累加器内容送入寄存器 F8~FF 1 1
direct direct 送入寄存器 A8(direct) 2 2
#data8 8位立即数送入寄存器 78(data8) 2 1
MOV direct, A 累加器内容送入direct F5(direct) 2 1
Rn 寄存器内送入direct 88~8F(direct) 2 2
direct direct送入direct 85(direct)(direct) 3 2
@Ri @Ri送入直接地址单元 86 87(direct) 2 2
#data8 8位立即数送入直接单元地址 75(direct)(data8) 3 2
MOV @Ri A 累加器内容送入间接RAM单元 F6 F7 1 1
direct direct送入间接RAM单元 A6 A7(direct) 2 2
#data8 #data8送入间接RAM单元 76 77(data8) 2 1
MOV DPTR,#data16 #data16送入DPTR 90(directH)(directL) 3 2
MOVX A, @Ri 外部RAM(8位地址)送入A E3 E2 1 2
@DPTR 外部RAM(16位地址)送入A E0 1 2
MOVX @Ri,A A送入外部RAM(8位地址) F2 F3 1 2
MOV DPTR,A A送入外部RAM(16位地址) F0 1 2
SWAP A 累加器高4位与低4位互换 C4 1 1
XCHD A,@Ri @Ri与A进行低半字节互换 D6 D7 1 1
XCH A, Rn Rn与累加器交换 C8 CF 1 1
direct direct与累加器交换 C5(direct) 2 1
@Ri @Ri与累加器交换 C6 C7 1 1
MOVC A,@A+DPTR 以DPTR为基址查表 93 1 2
MOVC A,@A+PC 以PC为基址查表 83 1 2
PUSH direct 入栈 D0(direct) 2 2
POP direct 出栈 C0(direct) 2 2
……………………………………………………………………………..
A.2算术操作类指令
ADD A, Rn 寄存器内容加 28~2F 1 1
direct 直接地址单元加 25(direct) 2 1
@Ri 间接RAM内容加 26 27 1 1
#data8 8位立即数 24(data8) 2 1
ADDC A, Rn 寄存器内容带进位加 38~3F 1 1
direct 直接地址单元带进位加 35(direct) 2 1
@Ri 间接RAM内容带进位加 36 37 1 1
#data8 8位立即数带进位加 34(data8) 2 1
INC A 累加器加1 04 1 1
Rn 寄存器加1 08~0F 1 1
direct 直接地址单元内容加1 05(direct) 2 1
@Ri 间接RAM内容加1 06 07 1 1
DPTR DPTR加1 A3 1 1
DA A 累加器进行十进制转换 D4 1 1
SUBB A, Rn 带借位减寄存器内容 98~9F 1 1
direct 带借位减直接地址单元 95(direct) 2 1
@Ri 带借位减间接RAM内容 96 97 1 1
#data8 带借位减8位立即数 94(data8) 2 1
DEC A 累加器减1 14 1 1
Rn 寄存器减1 18~1F 1 1
direct 直接地址单元内容减1 15(direct) 2
@Ri 间接RAM内容减1 16 17 1 1
MUL A,B A乘以B A4 1 4
DIV A,B A除以B 84 1 4
……………………………………………………………………………..
A.3逻辑操作类指令
CLR A 累加器清零 E4 1 1
CPL A 累加器求反 F4 1 1
ANL A, Rn 累加器与寄存器相与 58~5F 1 1
direct 累加器与direct相与 55(direct) 2 1
@Ri 累加去与间接RAM内容相与 56 57 1 1
#data8 累加器与8位立即数相与 54(data8) 2 1
ANL direct, A direct与累加器相与 52(direct) 2 1
#data8 Direct与#data8相与 53(direct)(data8 3 2
ORL A, Rn 累加器与寄存器相或 48~4F 1 1
direct 累加器与直接地址单元相或 45(direct) 2 1
@Ri 累加器与间接RAM内容相或 46 47 1 1
#data8 累加器与8位立即数相或 44(dtat8) 2 1
ORL direct
ORL direct A direct与累加器相或 42(direct) 2 1
#data8 direct与#data8相或 43(direct)(data8 3 2
XRL A, Rn 累加器与寄存器相异或 68~6F 1 1
direct 累加器与direct相异或 65(direct) 2 1
@Ri 累加器与@Ri相异或 66 67 1 1
#data8 累加器与#data8相异或 64(data8) 2 1
XLA direct A direct与累加器相异或 62(direct) 2 1
#data8 direct与#data相异或 63(direct)(data8 3 2
循环/移位类指令
RL A 累加器循环左移 23 1 1
RLC A 累加器带进位循环左移 33 1 1
RR A 累加器循环右移 03 1 1
RRC A 累加器带进位循环右移 13 1 1
……………………………………………………………………………..
A.4控制转移类指令
LJMP addr16 长转移 02(addrH)(addrL) 3 2
AJMP addr11 绝对短转移 (addrH*20+1)(addrL) 2 2
SJMP rel 相对转移 80(rel) 2 2
JMP @A+DPTR 相对于DPTR的间接转移 73 1 2
JZ rel 累加器为零转移 60(rel) 2 2
JNZ rel 累加器非零转移 70(rel) 2 2
CJNE A,direct,rel A与direct比较不等则转移 B5(direct)(rel) 3 2
CJNE A,#data8,rel A与#data8比较不等则转移 B4(data)(rel) 3 2
CJNE Rn,#data,rel Rn与#data8比较不等则转移 B8~BF(data8)(rel) 3 2
CJNE @Ri,#data8,rel @Ri与#data8比较不等则转移 B6 B7(data8)(rel) 3 2
DJNZ Rn,rel 寄存器减1非零转移 D8~DF(rel) 3 2
DJNZ direct,rel direct减1非零转移 D5(direct)(rel) 3 2
ACALL addr11 绝对短调用子程序 (addrH*20+1)(addrL) 2 2
LACLL addr16 长调用子程序 12(addrH)(addrL) 3 2
RET 子程序返回 22 1 2
RETI 中断返回 32 1 2
NOP 空操作 00 1 1
………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………......
A.5位操作类指令
CLR C 清进位位 C3 1 1
CLR bit 清直接地址位 C2(bit) 2 1
SETB C 置进位位 D3 1 1
SETB bit 置直接地址位 D2(bit) 2 1
CPL C 进位位求反 B3 1 1
CPL bit 直接地址位求反 B2(bit) 2 1
ANL C,bit 进位位和bit相与 82(bit) 2 2
ANL C,/bit 进位位和bit的反码相与 B0(bit) 2 2
ORL C,bit 进位位和bit相或 72(bit) 2 2
ORL C,/bit 进位位和bit的反码相或 A0(bit) 2 2
MOV C,bit 直接地址位送入进位位 A2(bit) 2 1
MOV bit,C 进位位送入直接地址位 92(bit) 2 2
JC rel 进位位为1则转移 40(rel) 2 2
JNC rel 进位位为0则转移 50(rel) 2 2
JB bit,rel 直接地址位1则转移 20(bit)(rel) 3 2
JNB bir,rel 直接地址为0则转移 10(bit)(rel) 3 2
JNC bit,rel bit为1则转移该位清零 30(bit)(rel) 3 2
全部回答
- 1楼网友:忘川信使
- 2021-11-29 02:22
你把指令写出来,我告诉你
51有什么单片机都没说,又没说什么具体指令!!!天知道
51有什么单片机都没说,又没说什么具体指令!!!天知道
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯