MCS51单片机指令大全.docx

上传人:b****8 文档编号:30509551 上传时间:2023-08-16 格式:DOCX 页数:39 大小:19.81KB
下载 相关 举报
MCS51单片机指令大全.docx_第1页
第1页 / 共39页
MCS51单片机指令大全.docx_第2页
第2页 / 共39页
MCS51单片机指令大全.docx_第3页
第3页 / 共39页
MCS51单片机指令大全.docx_第4页
第4页 / 共39页
MCS51单片机指令大全.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

MCS51单片机指令大全.docx

《MCS51单片机指令大全.docx》由会员分享,可在线阅读,更多相关《MCS51单片机指令大全.docx(39页珍藏版)》请在冰豆网上搜索。

MCS51单片机指令大全.docx

MCS51单片机指令大全

MCS-51系列单片机指令大全

以字母的顺序排列(A--Z)

A:

--------------------------------------------------------------------

1、ACALLaddr11

   指令名称:

绝对调用指令

   指令代码:

A10

A9

A9

1

0

0

0

1

A7

A6

A5

A4

A3

A2

A1

A0

   指令功能:

构造目的地址,进行子程序调用其方法是以指令提供的11位地址(al0~a0),

   取代PC的低11位,PC的高5位不变。

   操作内容:

  PC←(PC)+2

  SP←(SP)+1

  (SP)←(PC)7~0

  SP←(SP)+1

  (SP)←(PC)15~8

  PC10~0←addrl0~0

   字节数:

2

   机器周期:

2

   使用说明:

由于指令只给出子程序入口地址的低11位,因此调用范围是2KB。

2、ADDA,Rn

   指令名称:

寄存器加法指令

   指令代码:

28H~2FH

   指令功能:

累加器内容与寄存器内容相加

   操作内容:

A←(A)+(Rn),n=0~7

   字节数:

1

   机器周期;1

   影响标志位:

C,AC,OV

3、ADDA,direct

   指令名称:

直接寻址加法指令

   指令代码:

25H

   指令功能:

累加器内容与内部RAM单元或专用寄存器内容相加

   操作内容:

A←(A)+(direct)

   字节数:

2

   机器周期:

1

   影响标志位:

C,AC,OV

4、ADDA,@Ri

   指令名称:

间接寻址加法指令

   指令代码:

26H~27H

   指令功能:

累加器内容与内部RAM低128单元内容相加

   操作内容:

A←(A)+((Ri)),i=0,1

   字节数:

1

   机器周期:

1

   影响标志位:

C,AC,OV

5、ADDA,#data

   指令名称:

立即数加法指令

   指令代码:

24H

   指令功能:

累加器内容与立即数相加

   操作内容:

A←(A)+data

   字节数:

2

   机器周期:

1

   影响标志位:

C,AC,OV

6、ADDCA,Rn

   指令名称:

寄存器带进位加法指令

   指令代码:

38H~3FH

   指令功能:

累加器内容、寄存器内容和进位位相加

   操作内容:

A←(A)+(Rn)+(C),n=0~7

   字节数:

1

   机器周期:

1

   影响标志位:

C,AC,OV

7、ADDCA,direct

   指令名称:

直接寻址带进位加法指令

   指令代码:

35H

   指令功能:

累加器内容、内部RAM低128单元或专用寄存器内容与进位位加

   操作内容:

A←(A)+(direct)+(C)

   字节数:

2

   机器周期:

1

   影响标志位:

C,AC,OV

8、ADDCA,@Ri

   指令名称:

间接寻址带进位加法指令

   指令代码:

36H~37H

   指令功能:

累加器内容、内部RAM低128单元内容及进位位相加

   操作内容:

A←(A)+((Ri))+(C),i=0,1

   字节数:

1

   机器周期:

1

   影响标志位:

C,AC,OV

9、ADDCA,#data

   指令名称:

立即数带进位加法指令

   指令代码:

34H

   指令功能:

累加器内容、立即数及进位位相加

   操作内容:

A←(A)+data+(C)

   字节数:

2

   机器周期:

1

   影响标志位:

C,AC,OV

10、AJMPaddr11

   指令名称:

绝对转移指令

   指令代码:

A10

A9

A8

1

0

0

0

1

A7

A6

A5

A4

A3

A2

A1

A0

   指令功能:

构造目的地址,实现程序转移。

其方法是以指令提供的11位地址,取代PC的低11位,.而PC的高5位保持不变。

   操作内容:

PC←(PC)+2

   PCl0~0←addrll

   字节数:

2

   机器周期:

2

   使用说明:

由于addrll的最小值是000H,最大值是7FFH,因此地址转移范围是2KB。

11、ANLA,Rn

   指令名称:

寄存器逻辑与指令

   指令代码:

58H~5FH

   指令功能:

累加器内容逻辑与寄存器内容

   操作内容:

A←(A)∧(Rn),n=0~7

   字节数:

1

   机器周期:

1

12、ANLA,direct

   指令名称:

直接寻址逻辑与指令

   指令代码:

55H

   指令功能:

累加器内容逻辑与内部RAM低128单元或专用寄存器内容

   操作内容:

A←(A)∧(diret)

   字节数:

2

   机器周期:

1

13、ANLA,@Ri

   指令名称:

间接寻址逻辑与指令

   指令代码:

56H~57H

   指令功能:

累加器内容逻辑与内部RAM低128单元内容

   操作内容:

A←(A)∧((Ri))i=0,1

   字节数:

1

   机器周期:

1

14、ANLA,#data

   指令名称:

立即数逻辑与指令

   指令代码:

54H

   指令功能:

累加器内容逻辑与立即数

   操作内容:

A←(A)∧data

   字节数:

2

   机器周期:

1

15、ANLdirect,A

   指令名称:

累加器逻辑与指令

   指令代码:

52H

   指令功能:

内部RAM低128单元或专用寄存器内容逻辑与累加器内容

   操作内容:

direct←(A)∧(direct)

   字节数:

2

   机器周期:

1

16、ANLdirect,#data

   指令名称:

逻辑与指令

   指令代码:

53H

   指令功能:

内部RAM低128单元或专用寄存器内容逻辑与立即数

   操作内容:

direct←(direct)∧data

   字节数:

3

   机器周期:

2

17、ANLC,bit

   指令名称:

位逻辑与指令

   指令代码:

82H

   指令功能:

进位标志逻辑与直接寻址位

   操作内容:

C←(C)∧(bit)

   字节数:

2

   机器周期:

2

18、ANLC,/bit

   指令名称:

位逻辑与指令

   指令代码:

B0H

   指令功能:

进位标志逻辑与直接寻址位的反

   操作内容:

C←(C)∧(bit)

   字节数:

2

   机器周期:

2

 

C:

----------------------------------------------------------------------------------------------------------------------

1、CJNEA,dircet,rel

   指令名称:

数值比较转移指令

   指令代码:

B5H

   指令功能:

累加器内容与内部RAM低128字节或专用寄存器内容比较,不等则转移。

   操作内容:

若(A)=(direct),则PC←(PC)+3,C←0

   若(A)>(direct),则PC←(PC)+3+rel,C←0

   若(A)<(direct),则PC←(PC)+3+rel,C←1

   字节数:

3

   机器周期:

2

2、CJNEA,#data,rel

   指令名称:

数值比较转移指令

   指令代码:

B4H

   指令功能:

累加器内容与立即数比较,不等则转移。

   操作内容:

若(A)=data,则PC←(PC)+3,C←0

   若(A)>data,则PC←(PC)+3+rel,C←0

   若(A)<data,则PC←(PC)+3+rel,C←1

   字节数:

3

   机器周期:

2

3、CJNERn,#data,rel

   指令名称:

数值比较转移指令

   指令代码:

B8H~BFH

   指令功能:

寄存器内容与立即数比较,不等则转移。

   操作内容:

若(Rn)=data,则PC←(PC)+3,C←0

   若(Rn)>data,则PC←(PC)+3+rel,C←0

   若(Rn)<data,则PC←(PC)+3+rel,C←1

   字节数:

3

   机器周期:

2

4、CJNE@Ri,#data,rel

   指令名称:

数值比较转移指令

   指令代码:

B6H~B7H

   指令功能:

内部RAM低128单元内容与立即数比较,不等则转移。

   操作内容:

若((Ri))=data,则PC←(PC)+3,C←0

   若((Ri))>data,则PC←(PC)+3+rel,C←0

   若((Ri))<data,则PC←(PC)+3+rel,C←1

   字节数:

3

   机器周期:

2

5、CLRA

   指令名称:

累加器清0指令

   指令代码:

E4H

   指令功能:

累加器清0

   操作内容:

A←0

   字节数:

1

   机器周期:

1

6、CLRC

   指令名称:

进位标志清0指令

   指令代码:

C3H

   指令功能:

进位位清0

   操作内容:

C←0

   字节数:

1

   机器周期:

1

7、CLRbit

   指令名称:

直接寻址位清0指令

   指令代码:

C2H

   指令功能:

直接寻址位清0

   操作内容:

bit←0

   字节数:

2

   机器周期:

1

8、CPLA

   指令名称:

累加器取反指令

   指令代码:

F4H

   指令功能:

累加器取反

   操作内容:

A←(A)

   字节数:

1

   机器周期:

1

9、CPLC

   指令名称:

进位标志取反指令

   指令代码:

B3H

   指令功能:

进位标志位状态取反

   操作内容:

C←(c取反)

   字节数:

1

   机器周期:

1

10、CPLbit

   指令名称:

直接寻址位取反指令

   指令代码:

B2H

   指令功能:

直接寻址位取反

   操作内容:

bit←(bit取反)

   字节数:

2

   机器周期:

1

 

D:

1、DAA

   指令名称:

十进制调整指令

   指令代码:

D4H

   指令功能:

对BCD码加法运算的结果进行有条件的修正

   操作内容:

若(A)3~0>9∨(AC)=1,则A3~0←(A)3~0+6

   若(A)7~4>9∨(C)=1,则A7~4←(A)7~4+6

   若(A)7~4=9∧(A)3~0>9,则A7~4←(A)7~4+6

   字节数:

1

   机器周期:

1

   使用说明:

DA指令不影响溢出标志

2、DECA

   指令名称:

累加器减1指令

   指令代码:

14H

   指令功能:

累加器内容减1

   操作内容:

A←(A)-1

   字节数:

1

   机器周期:

1

3、DECRn

   指令名称:

寄存器减1指令

   指令代码:

18H~1FH

   指令功能:

寄存器内容减1

   操作内容:

Rn←(Rn)-1,n=0~7

   字节数:

1

   机器周期:

1

4、DECdirect

   指令名称:

直接寻址减1指令

   指令代码:

15H

   指令功能:

内部RAM低128单元及专用寄存器内容减1

   操作内容:

direct←(direct)-1

   字节数:

2

   机器周期:

1

5、DEC@Ri

   指令名称:

间接寻址减1指令

   指令代码:

16H~17H

   指令功能:

内部RAM低128单元内容减1

   操作内容:

(Ri)←((Ri))-1,i=0,1

   字节数:

1

   机器周期:

1

6、DIVAB

   指令名称:

无符号数除法指令;

   指令代码:

84H

   指令功能:

A的内容被B的内容除。

指令执行后,商存于A中,余数存于B中。

   操作内容:

A←(A)/(B)的商

   B←(A)/(B)的余数

   字节数:

1

   机器周期:

4

   影响标志位:

C被清0;若B=00H,除法无法进行,并使OV=1;否则OV=0。

7、DJNZRn,rel

   指令名称:

寄存器减1条件转移指令

   指令代码:

D8H~DFH

   指令功能:

寄存器内容减1。

不为0转移;为0顺序执行。

   操作内容:

Rn←(Rn)-l,n=0~7

   若(Rn)≠0,则PC←(PC)+2+rel

   若(Rn)=0,则PC←(PC)+2

   字节数:

2

   机器周期:

2

8、DJNZdirect,rel

   指令名称:

直接寻址单元减1条件转移指令

   指令代码:

D5H

   指令功能:

内部RAM低128单元内容减1。

不为0转移;为0顺序执行。

   操作内容:

direct←(direct)-1

   若(direct)≠0,则PC←(PC)+3+rel

   若(direct)=0,则PC←(PC)+3

   字节数:

3

   机器周期:

2

 

I:

1、INCA

   指令名称:

累加器加1指令

   指令代码:

04H

   指令功能:

累加器内容加1

   操作内容:

A←(A)+1

   字节数:

1

   机器周期:

1

2、INCRn

   指令名称:

寄存器加1指令

   指令代码:

08H~0FH

   指令功能:

寄存器内容加1

   操作内容:

Rn←(Rn)+1,n=0~7

   字节数:

1

   机器周期:

1

3、INCdirect

   指令名称:

直接寻址单元加1指令

   指令代码:

05H

   指令功能:

内部BAM低128单元或专用寄存器内容加1

   操作内容:

direct←(direct)+1

   字节数:

2

   机器周期:

1

4、INC@Ri

   指令名称:

间接寻址单元加1指令

   指令代码:

06H~07H

   指令功能:

内部RAM低128单元内容加1

   操作内容:

(Ri)←((Ri))+1;i=0,l

   字节数:

1

   机器周期:

1

5、INCDPTR

   指令名称:

16位数据指针加1指令

   指令代码:

A3H

   指令功能:

数据指针寄存器DPTR内容加1

   操作内容:

DPTR←(DPTR)+1

   字节数:

1

   机器周期:

2

 

J:

1、JBbit,rel

   指令名称:

位条件转移指令。

   指令代码:

20H

   指令功能:

根据指定位的状态,决定程序是否转移。

若为1则转移;否则顺序执行。

   操作内容:

若(bit)=1,则PC←(PC)+3+rel

   若(bit)≠1,则PC←(PC)+3

   字节数:

3

   机器周期:

2

2、JBCbit,rel

   指令名称:

位条件转移清0指令

   指令代码:

10H

   指令功能:

对指定位的状态进行测试。

若为1,则把该位清0并进行转移;否则程序顺序执行。

   操作内容:

若(bit)=1,则PC←(PC)+3+rel,bit←0

   若(bit)≠1,则PC←(PC)+3

   字节数:

3

   机器周期:

2

3、JCrel

   指令名称:

累加位条件转移指令

   指令代码:

40H

   指令功能:

根据累加位(C)的状态决定程序是否转移,若为1则转移,否则顺序执行。

   操作内容:

若(C)=1,则PC←(PC)+2+rel

   若(C)≠1,则PC←(PC)+2

   字节数:

2

   机器周期:

2

4、JMP@A+DPTR

   指令名称:

无条件间接转移指令

   指令代码:

72H

   指令功能:

A内容与DPTR内容相加作为转移目的地址,进行程序转移。

   操作内容:

PC←(A)+(DPTR)

   字节数:

1

   机器周期;2

5、JNBbit,rel

   指令名称:

位条件转移指令

   指令代码:

30H

   指令功能:

根据指定位的状态,决定程序是否转移。

若为0则转移;否则顺序执行。

   操作内容:

若(bit)=0,则PC←(PC)+3+rel

   若(bit)≠0,则PC←(PC)+3

   字节数:

3

   机器周期:

2

6、JNCrel

   指令名称:

累加位条件转移指令

   指令代码:

50H

   指令功能:

根据累加位(C)的状态决定程序是否转移。

若为o则转移;否则顺序执行。

   操作内容:

若(C)=0,则PC←(PC)+2+rel

   若(C)≠0,则PC←(PC)+2

   字节数:

2

   机器周期:

2

7、JNZrel

   指令名称:

判0转移指令

   指令代码:

70H

   指令功能:

累加位(A)的内容不为0,则程序转移;否则程序顺序执行。

   操作内容:

若(A)≠0,则PC←(PC)+2+rel

   若(A)=0,则PC←(PC)+2

   字节数:

2

   机器周期:

2

8、JZrel

   指令名称:

判0转移指令

   指令代码:

60H

   指令功能:

累加位(A)的内容为o,则程序转移;否则程序顺序执行。

   操作内容:

若(A)=0,则PC←(PC)+2+rel

   若(A)≠0,则PC←(PC)+2

   字节数:

2

   机器周期:

2

 

L:

 

------------------------------------------------------------------------------------------------------------======

1、LCALLaddr16

   指令名称:

长调用指令

   指令代码:

12H

   指令功能:

按指令给定地址进行子程序调用

   操作内容:

PC←(PC)+3

   SP←(SP)+1

   (SP)←(PC)7~0

   SP←(SP)+1

   (SP)←(PC)15~8

   PC←addrl6

   字节数:

3

   机器周期:

2

   使用说明:

在64KB的范围内调用子程序

2、LJMPaddrl6

   指令名称:

长转移指令

   指令代码:

02H

   指令功能:

使程序按指定地址进行无条件转移

   操作内容:

PC←addrl6

   字节数:

3

   机器周期:

2

 

M:

-------------------------------------------------------------------------------------------------------------------

1、MOVA,Rn

   指令名称:

寄存器数据传送指令

   指令代码:

E8H~EFH

   指令功能:

寄存器内容送累加器

   操作内容:

A←(Rn),n=0~7

   字节数:

1

   机器周期:

1

2、MOVA,direct

   指令名称:

直接寻址数据传送指令

   指令代码:

E5H

   指令功能:

内部RAM低126单元或专用寄存器内容送累加器

   操作内容:

A←(direct)

   字节数:

2

   机器周期:

1

3、MOVA,@Ri

   指令名称:

间接寻址数据传送指令

   指令代码:

E6H~E7H

   指令功能:

内部RAM低128单元内容送累加器

   操作内容:

A←((Ri)),i=0,1

   字节数:

1

   机器周期:

1

4、MOVA,#data

   指令名称:

立即数据传送指令

   指令代码:

74H

   指令功能:

立即数送累加器

   操作内容:

A←data

   字节数:

2

   机器周期:

1

5、MOVRn,A

   指令名称:

累加器数据传送指令

   指令代码:

F8H~FFH

   指令功能:

累加器内容送寄存器

   操作内容:

Rn←(A)

   字节数:

1

   机器周期:

1

6、MOVRn,direct

   指令名称:

直接寻址数据传送指令

   指令代码:

A8H~AFH

   指令功能:

内部RAM低128单元或专用寄存器内容送累加器

   操作内容:

Rn←(direct),n=0~7

   字节数:

2

   机器周期:

2

7、MOVRn,#data

   指令名称:

立即数据传送指令

   指令代码:

78H~7FH

   指令功能:

立即数送寄存器

   操作内容:

Rn←data,n=0~7

   字节数:

2

   机器周期:

1

8、MOVdirect,A

   指令名称:

累加器数据传送指令

   指令代码:

F5H

   指令功能:

累加器内容送内部RAM低128单元或专用寄存器

   操作内容:

direct←(A)

   字节数:

2

   机器周期:

1

9、MOVdirect,Rn

   指令名称:

寄存器数据传送指令

   指令代码:

88H~8FH

   指令功能:

寄存器内容送内部RAM低128单元或专用寄存器

   操作内容:

direct←(Rn),n=0~7

   字节数:

2

   机器周期:

2

10、MOVdirect2,direct1

   指令名称:

直接寻址数据传送指令

   指令代码:

85H

   指令功能:

内部RAM低123单元或专用寄存器之间的相互传送

   操作内容:

direct2←(direct1)

   字节数:

3

   机器周期:

2

11、MOVdirect,@Ri

   指令名称:

间接寻址数据传送指令

   指令代码:

86H~87H

   指令功能:

内部RAM低128单元内容送内部RAM低128单元或专用寄存器

   操作内容:

direct←((Ri)),i=0,1

   字节数:

2

   机器周期:

2

12、MOVdirect,#data

   指令名称:

立即数传送指令

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1