单片机指令表最全.docx

上传人:b****6 文档编号:4517493 上传时间:2022-12-01 格式:DOCX 页数:31 大小:20.95KB
下载 相关 举报
单片机指令表最全.docx_第1页
第1页 / 共31页
单片机指令表最全.docx_第2页
第2页 / 共31页
单片机指令表最全.docx_第3页
第3页 / 共31页
单片机指令表最全.docx_第4页
第4页 / 共31页
单片机指令表最全.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

单片机指令表最全.docx

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

单片机指令表最全.docx

单片机指令表最全

单片机指令以A开头的指令有18条,分别为:

1、ACALLaddr11

指令名称:

绝对调用指令

指令代码:

A10A9A810001A7A6A5A4A3A2A1A0

指令功能:

构造目的地址,进行子程序调用。

其方法是以指令提供的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

指令名称:

绝对转移指令

指令代码:

A10A9A810001A7A6A5A4A3A2A1A0

指令功能:

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

其方法是以指令提供的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开头的指令有10条,分别为:

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开头的指令有8条,分别为:

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开头的指令有5条,分别为:

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开头的指令有8条,分别为:

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开头的指令就2条,分别为:

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开头的指令有24条,分别为:

     

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

指令名称:

立即数传送指令

指令代码:

75H

指令功能:

立即数送内部RAM低128单元或专用寄存器

操作内容:

direct←data

字节数:

3

机器周期:

2

13、MOV@Ri,A

指令名称:

累加器数据传送指令

指令代码:

F6H~F7H

指令功能:

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

操作内容:

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

字节数:

1

机器周期:

1

14、MOV@Ri,direct

指令名称:

直接寻址数据传送指令

指令代码:

A6H~A7H

指令功能:

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

操作内容:

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

字节数:

2

机器周期:

2

15、MOV@Ri,data

指令名称:

立即数传送指令

指令代码:

76H~77H

指令功能:

立即数送内部RAM低128单元

操作内容:

(Ri)←data,i=0,1

字节数:

2

机器周期:

1

16、MOVC,bit

指令名称:

位数据传送指令

指令代码:

A2H

指令功能:

内部RAM可寻址位或专用寄存器的位状态送累加位C

操作内容:

C←(bit)

字节数:

2

机器周期:

1

17、MOVbit,C

指令名称:

累加位数据传送指令

指令代码:

92H

指令功能:

累加器状态送内部RAM可寻址位或专用寄存器的指定位

操作内容:

bit←(C)

字节数:

2

机器周期:

2

18、MOVDPTR,#datal6

指令名称:

+六位数据传送指令

指令代码:

90H

指令功能:

十六位立即数送数据指针

操作内容:

DPH←datal5~8

DPL←data7~0

字节数:

3

机器周期:

2

19、MOVCA,@A+DPTR

指令名称:

程序存储器读指令

指令代码:

93H

指令功能:

读程序存储器单元内容送累加器

操作内容:

A←((A)+(DPTR))

字节数:

1

机器周期:

2

使用说明:

变址寄存器A内容加基址寄存器DPTR内容时,低8位产生的进位直接加到高位,不影响进位标志。

20、MOVCA,@A+PC

指令名称:

程序存储器读指令

指令代码:

83H

指令功能:

读程序存储器单元内容送累加器

操作内容:

A←((A)+(PC))

字节数:

1

机器周期:

2

使用说明:

同MOVCA,@A+DPTR指令(序号70)

21、MOVXA,@Ri

指令名称:

寄存器间接寻址外部RAM读指令

指令代码:

E2H~E3H

指令功能:

读外部RAM低256单元数据送累加器

字节数:

1

机器周期:

2

22、MOVXA,@DPTR

指令名称:

数据指针间接寻址外部RAM读指令

指令代码:

E0H

指令功能:

读外部RAM单元数据送累加器

操作内容:

A1←((DPTR))

字节数:

1

机器周期:

2

23、MOVX@Ri,A

指令名称:

寄存器间接寻址外部RAM写指令

指令代码:

F2H~F3H

指令功能:

把累加器内容写入外部RAM低256单元

操作内容:

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

字节数:

1

机器周期:

2

24、MOVX@DPTR,A

指令名称:

数据指针间接寻址外部RAM写指令

指令代码:

F0H

指令功能:

把累加器内容写入外部RAM单元

操作内容:

(DPTR)←(A)

字节数:

1

机器周期:

2

25、MULAB

指令名称:

乘法指令

指令代码:

A4H

指令功能:

实现8位无符号数乘法运算。

两个乘数分别放在累加器A和寄存器B中。

乘积

为16位,低8位在B中,高8位在A中。

操作内容:

AB←(A)×(B)

字节数:

1

机器周期:

4

影响标志位:

进位标志复位。

若乘积大于255,则OV标志置位;否则复位。

MCS-51系列单片机指令以N开头的指令只有1条,就是:

1、NOP

指令名称:

空操作指令

指令代码;00H

指令功能:

不执行任何操作,常用于产生一个机器周期的时间延迟。

操作内容:

PC←(PC)+l

字节数:

1

机器周期:

1

单片机指令以O开头的指令有8条,分别为:

1、ORLA,Rn

指令名称:

逻辑或操作指令

指令代码:

48H~4FH

指令功能:

累加器内容与寄存器内容进行逻辑或操作

操作内容:

A1←(A)∨(Rn),n=0~7

字节数:

1

机器周期:

1

2、ORLA,direct

指令名称:

逻辑或操作指令

指令代码:

45H

操作内容:

A←(A)∨(direct)

字节数:

2

机器周期:

1

3、ORLA,@Ri

指令名称:

逻辑或操作指令

指令代码:

46H~47H

指令功能:

累加器内容与内部RAM低128单元内容进行逻辑或操作

操作内容:

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

字节数:

1

机器周期:

1

4、ORLA,#data

指令名称:

逻辑或操作指令

指令代码:

44H

指令功能:

累加器内容与立即数进行逻辑或操作

操作内容:

A←(A)∨data

字节数:

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

当前位置:首页 > 高中教育 > 英语

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

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