单片机指令大全Word格式.docx

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

单片机指令大全Word格式.docx

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

单片机指令大全Word格式.docx

direct,Rn 

寄存器送直接寻址单元 

Rn,direct 

直接寻址单元送寄存器 

direct,@Ri 

内部RAM单元送直接寻址单元 

@Ri,direct 

直接寻址单元送内部RAM单元 

direct2,direct1 

直接寻址单元送直接寻址单元 

DPTR,#data16 

16位立即数送数据指针 

MOVX 

A,@Ri 

外部RAM单元送累加器(8位地址) 

@Ri,A 

累加器送外部RAM单元(8位地址) 

A,@DPTR 

外部RAM单元送累加器(16位地址) 

@DPTR,A 

累加器送外部RAM单元(16位地址) 

MOVC 

A,@A+DPTR 

查表数据送累加器(DPTR为基址) 

A,@A+PC 

查表数据送累加器(PC为基址) 

XCH 

A,Rn 

累加器与寄存器交换 

累加器与内部RAM单元交换 

XCHD 

A,direct 

累加器与直接寻址单元交换 

累加器与内部RAM单元低4位交换 

SWAP 

累加器高4位与低4位交换 

POP 

direct 

栈顶弹出指令直接寻址单元 

PUSH 

direct 

直接寻址单元压入栈顶 

二、算术运算类指令

ADD 

累加器加寄存器 

A,@Ri 

累加器加内部RAM单元 

A,direct 

累加器加直接寻址单元 

A,#data 

累加器加立即数 

ADDC 

A,Rn 

累加器加寄存器和进位标志 

A,@Ri 

累加器加内部RAM单元和进位标志 

A,#data 

累加器加立即数和进位标志 

A,direct 

累加器加直接寻址单元和进位标志 

INC 

累加器加1 

Rn 

寄存器加1 

直接寻址单元加1 

@Ri 

内部RAM单元加1 

DPTR 

数据指针加1 

DA 

十进制调整 

SUBB 

累加器减寄存器和进位标志 

累加器减内部RAM单元和进位标志 

累加器减立即数和进位标志 

累加器减直接寻址单元和进位标志 

DEC 

累加器减1 

寄存器减1 

内部RAM单元减1 

直接寻址单元减1 

MUL 

AB 

累加器乘寄存器B 

4

DIV 

累加器除以寄存器B 

三、逻辑运算类指令

ANL 

累加器与寄存器 

累加器与内部RAM单元 

累加器与立即数 

累加器与直接寻址单元 

direct,A 

直接寻址单元与累加器 

direct,#data 

直接寻址单元与立即数 

ORL 

累加器或寄存器 

A,@Ri 

累加器或内部RAM单元 

A,#data 

累加器或立即数 

A,direct 

累加器或直接寻址单元 

直接寻址单元或累加器 

直接寻址单元或立即数 

XRL 

累加器异或寄存器 

累加器异或内部RAM单元 

累加器异或立即数 

累加器异或直接寻址单元 

直接寻址单元异或累加器 

直接寻址单元异或立即数 

RL 

累加器左循环移位 

RLC 

累加器连进位标志左循环移位 

RR 

累加器右循环移位 

RRC 

累加器连进位标志右循环移位 

CPL 

累加器取反 

CLR 

累加器清零 

四、控制转移类指令类

ACCALLaddr11 

2KB范围内绝对调用 

AJMP 

addr11 

2KB范围内绝对转移 

LCALL 

addr16 

2KB范围内长调用 

LJMP 

addr16 

2KB范围内长转移 

SJMP 

rel 

相对短转移 

JMP 

@A+DPTR 

相对长转移 

RET 

子程序返回 

RET1 

中断返回 

JZ 

累加器为零转移 

JNZ 

rel 

累加器非零转移 

CJNE 

A,#data,rel 

累加器与立即数不等转移 

A,direct,rel 

累加器与直接寻址单元不等转移 

Rn,#data,rel 

寄存器与立即数不等转移 

@Ri,#data,rel 

RAM单元与立即数不等转移 

DJNZ 

Rn,rel 

寄存器减1不为零转移 

,rel 

直接寻址单元减1不为零转移 

NOP 

空操作 

五、布尔操作类指令

C,bit 

直接寻址位送C 

bit,C 

C送直接寻址位 

C清零 

bit 

直接寻址位清零 

C取反 

直接寻址位取反 

SETB 

C置位 

bit 

直接寻址位置位 

C逻辑与直接寻址位 

C,/bit 

C逻辑与直接寻址位的反 

C逻辑或直接寻址位 

C逻辑或直接寻址位的反 

JC 

C为1转移 

JNC 

C为零转移 

JB 

bit,rel 

直接寻址位为1转移 

JNB 

bit,rel 

直接寻址为0转移 

JBC 

直接寻址位为1转移并清该位 

[1].以累加器A为目的操作数类指令(4条)

这4条指令的作用是把源操作数指向的内容送到累加器A。

有直接、立即数、寄存器和寄存器间接寻址方式:

MOVA,data;

(data)→(A)直接单元地址中的内容送到累加器A

MOVA,#data;

#data→(A)立即数送到累加器A中

MOVA,Rn;

(Rn)→(A)Rn中的内容送到累加器A中

MOVA,@Ri;

((Ri))→(A)Ri内容指向的地址单元中的内容送到累加器A

[2].以寄存器Rn为目的操作数的指令(3条)

这3条指令的功能是把源操作数指定的内容送到所选定的工作寄存器Rn中。

有直接、立即和寄存器寻址方式:

MOVRn,data;

(data)→(Rn)直接寻址单元中的内容送到寄存器Rn中

MOVRn,#data;

#data→(Rn)立即数直接送到寄存器Rn中

MOVRn,A;

(A)→(Rn)累加器A中的内容送到寄存器Rn中

[3].以直接地址为目的操作数的指令(5条)

这组指令的功能是把源操作数指定的内容送到由直接地址data所选定的片内RAM中。

有直接、立即、寄存器和寄存器间接4种寻址方式:

MOVdata,data;

(data)→(data)直接地址单元中的内容送到直接地址单元

MOVdata,#data;

#data→(data)立即数送到直接地址单元

MOVdata,A;

(A)→(data)累加器A中的内容送到直接地址单元

MOVdata,Rn;

(Rn)→(data)寄存器Rn中的内容送到直接地址单元

MOVdata,@Ri;

((Ri))→(data)寄存器Ri中的内容指定的地址单元中数据送到直接地址单元

[4].以间接地址为目的操作数的指令(3条)

这组指令的功能是把源操作数指定的内容送到以Ri中的内容为地址的片内RAM中。

有直接、立即和寄存器3种寻址方式:

MOV@Ri,data;

(data)→((Ri))直接地址单元中的内容送到以Ri中的内容为地址的RAM单元

MOV@Ri,#data;

#data→((Ri))立即数送到以Ri中的内容为地址的RAM单元

MOV@Ri,A;

(A)→((Ri))累加器A中的内容送到以Ri中的内容为地址的RAM单元

[5].查表指令(2条)

这组指令的功能是对存放于程序存储器中的数据表格进行查找传送,使用变址寻址方式:

MOVCA,@A+DPTR;

((A))+(DPTR)→(A)表格地址单元中的内容送到累加器A中

MOVCA,@A+PC;

((PC))+1→(A),((A))+(PC)→(A)表格地址单元中的内容送到累加器A中

[6].累加器A与片外数据存储器RAM传送指令(4条)

这4条指令的作用是累加器A与片外RAM间的数据传送。

使用寄存器寻址方式:

MOVX@DPTR,A;

(A)→((DPTR))累加器中的内容送到数据指针指向片外RAM地址中

MOVXA,@DPTR;

((DPTR))→(A)数据指针指向片外RAM地址中的内容送到累加器A中

MOVXA,@Ri;

((Ri))→(A)寄存器Ri指向片外RAM地址中的内容送到累加器A中

MOVX@Ri,A;

(A)→((Ri))累加器中的内容送到寄存器Ri指向片外RAM地址中

[7].堆栈操作类指令(2条)

这4类指令的作用是把直接寻址单元的内容传送到堆栈指针SP所指的单元中,以及把SP所指单元的内容送到直接寻址单元中。

这类指令只有两条,下述的第一条常称为入栈操作指令,第二条称为出栈操作指令。

需要指出的是,单片机开机复位后,(SP)默认为07H,但一般都需要重新赋值,设置新的SP首址。

入栈的第一个数据必须存放于SP+1所指存储单元,故实际的堆栈底为SP+1所指的存储单元。

PUSHdata;

(SP)+1→(SP),(data)→(SP)堆栈指针首先加1,直接寻址单元中的数据送到堆栈指针SP所指的单元中

POPdata;

(SP)→(data)(SP)-1→(SP),堆栈指针SP所指的单元数据送到直接寻址单元中,堆栈指针SP再进行减1操作

[8].交换指令(5条)

这5条指令的功能是把累加器A中的内容与源操作数所指的数据相互交换。

XCHA,Rn;

(A)←→(Rn)累加器与工作寄存器Rn中的内容互换

XCHA,@Ri;

(A)←→((Ri))累加器与工作寄存器Ri所指的存储单元中的内容互换

XCHA,data;

(A)←→(data)累加器与直接地址单元中的内容互换

XCHDA,@Ri;

(A3-0)←→((Ri)3-0)累加器与工作寄存器Ri所指的存储单元中的内容低半字节互换

SWAPA;

(A3-0)←→(A7-4)累加器中的内容高低半字节互换

[9].16位数据传送指令(1条)

这条指令的功能是把16位常数送入数据指针寄存器。

MOVDPTR,#data16;

#dataH→(DPH),#dataL→(DPL)16位常数的高8位送到DPH,低8位送到DPL

MCS-51算术运算指令

算术运算指令共有24条,算术运算主要是执行加、减、乘、除法四则运算。

另外MCS-51指令系统中有相当一部分是进行加、减1操作,BCD码的运算和调整,我们都归类为运算指令。

虽然MCS-51单片机的算术逻辑单元ALU仅能对8位无符号整数进行运算,但利用进位标志C,则可进行多字节无符号整数的运算。

同时利用溢出标志,还可以对带符号数进行补码运算。

需要指出的是,除加、减1指令外,这类指令大多数都会对PSW(程序状态字)有影响。

这在使用中应特别注意。

[1].加法指令(4条)

这4条指令的作用是把立即数,直接地址、工作寄存器及间接地址内容与累加器A的内容相加,运算结果存在A中。

ADDA,#data;

(A)+#data→(A)累加器A中的内容与立即数#data相加,结果存在A中

ADDA,data;

(A)+(data)→(A)累加器A中的内容与直接地址单元中的内容相加,结果存在A中

ADDA,Rn;

(A)+(Rn)→(A)累加器A中的内容与工作寄存器Rn中的内容相加,结果存在A中

ADDA,@Ri;

(A)+((Ri))→(A)累加器A中的内容与工作寄存器Ri所指向地址单元中的内容相加,结果存在A中

[2].带进位加法指令(4条)

这4条指令除与[1]功能相同外,在进行加法运算时还需考虑进位问题。

ADDCA,data;

(A)+(data)+(C)→(A)累加器A中的内容与直接地址单元的内容连同进位位相加,结果存在A中

ADDCA,#data;

(A)+#data+(

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

当前位置:首页 > 职业教育 > 职高对口

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

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