51单片机的指令集与及单片机中常见缩写的注解.docx
- 文档编号:18053125
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:14
- 大小:20.16KB
51单片机的指令集与及单片机中常见缩写的注解.docx
《51单片机的指令集与及单片机中常见缩写的注解.docx》由会员分享,可在线阅读,更多相关《51单片机的指令集与及单片机中常见缩写的注解.docx(14页珍藏版)》请在冰点文库上搜索。
51单片机的指令集与及单片机中常见缩写的注解
51单片机的指令集
与及单片机中常见缩写的注解
目录:
第一部分51单片机的指令集…………1
第二部分51指令助记符英文注释及功能…………4
第三部分寄存器、端口等常见缩写的注解…………7
第一部分51单片机的指令集
51系列单片机的指令系统,按功能分类可分为:
数据传送、算术操作、逻辑操作、控制转移和布尔变量操作等五种。
具体指令如下列表格所示:
1、数据传送类指令
助记符
功能说明
字节
周期
MOV A,Rn
寄存器内容送入累加器
1
12
MOV A,direct
直接地址单元中的数据送入累加器
2
12
MOV A,@Ri
间接RAM中的数据送入累加器
1
12
MOV A,#data8
8位立即数送入累加器
2
12
MOV Rn,A
累加器内容送入寄存器
1
12
MOV Rn,direct
直接地址单元中的数据送入寄存器
2
24
MOV Rn,#data8
8位立即数送入寄存器
2
12
MOV direct,A
累加器内容送入直接地址单元
2
12
MOV direct,Rn
寄存器内容送入直接地址单元
2
24
MOV direct,direct
直接地址单元中的数据送入直接地址单元
3
24
MOV direct,@Ri
间接RAM中的数据送入直接地址单元
2
24
MOV direct,#data8
8位立即数送入直接地址单元
3
24
MOV @Ri,A
累加器内容送入间接RAM单元
1
12
MOV @Ri,direct
直接地址单元中的数据送入间接RAM单元
2
24
MOV @Ri,#data8
8位立即数送入间接RAM单元
2
12
MOV DPTR,#data16
16位立即数地址送入地址寄存器
3
24
MOVC A,@A+DPTR
以DPTR为基地址变址寻址单元中的数据送入累加器
1
24
MOVC A,@A+PC
以PC为基地址变址寻址单元中的数据送入累加器
1
24
MOVX A,@Ri
外部RAM(8位地址)送入累加器
1
24
MOVX A,@DPTR
外部RAM(16位地址)送入累加器
1
24
MOVX @Ri,A
累加器送入外部RAM(8位地址)
1
24
MOVX @DPTR,A
累加器送入外部RAM(16位地址)
1
24
PUSH direct
直接地址单元中的数据压入堆栈
2
24
POP DIRECT
堆栈中的数据弹出到直接地址单元
2
24
XCH A,Rn
寄存器与累加器交换
1
12
XCH A,direct
直接地址单元与累加器交换
2
12
XCH A,@Ri
间接RAM与累加器交换
1
12
XCHD A,@Ri
间接RAM与累加器进行低半字节交换
1
12
2、算术操作类指令
助记符
功能说明
字节
周期
ADD A,Rn
寄存器内容加到累加器
1
12
ADD A,direct
直接地址单元加到累加器
2
12
ADD A,@Ri
间接RAM内容加到累加器
1
12
ADD A,#data8
8位立即数加到累加器
2
12
ADDC A,Rn
寄存器内容带进位加到累加器
1
12
ADDC A,direct
直接地址单元带进位加到累加器
2
12
ADDC A,@Ri
间接RAM内容带进位加到累加器
1
12
ADDC A,#data8
8位立即数带进位加到累加器
2
12
SUBB A,Rn
累加器带借位减寄存器内容
1
12
SUBB A,direct
累加器带借位减直接地址单元
2
12
SUBB A,@Ri
累加器带借位减间接RAM内容
1
12
SUBB A,#data8
累加器带借位减8位立即数
2
12
INC A
累加器加1
1
12
INC Rn
寄存器加1
1
12
INC direct
直接地址单元内容加1
2
12
INC @Ri
间接RAM内容加1
1
12
INC DPTR
DPTR加1
1
24
DEC A
累加器减1
1
12
DEC Rn
寄存器减1
1
12
DEC direct
直接地址单元内容减1
2
12
DEC @Ri
间接RAM内容减1
1
12
MUL A,B
A乘以B
1
48
DIV A,B
A除以B
1
48
DA A
累加器进行十进制转换
1
12
3、逻辑操作类指令
助记符
功能说明
字节
周期
ANL A,Rn
累加器与寄存器相“与”
1
12
ANL A,direct
累加器与直接地址单元相“与”
2
12
ANL A,@Ri
累加器与间接RAM内容相“与”
1
12
ANL A,#data8
累加器与8位立即数相“与”
2
12
ANL direct,A
直接地址单元与累加器相“与”
2
12
ANL direct,#data8
直接地址单元与8位立即数相“与”
3
24
ORL A,Rn
累加器与寄存器相“或”
1
12
ORL A,direct
累加器与直接地址单元相“或”
2
12
ORL A,@Ri
累加器与间接RAM内容相“或”
1
12
ORL A,#data8
累加器与8位立即数相“或”
2
12
ORL direct,A
直接地址单元与累加器相“或”
2
12
ORL direct,#data8
直接地址单元与8位立即数相“或”
3
24
XRL A,Rn
累加器与寄存器相“异或”
1
12
XRL A,direct
累加器与直接地址单元相“异或”
2
12
XRL A,@Ri
累加器与间接RAM内容相“异或”
1
12
XRL A,#data8
累加器与8位立即数相“异或”
2
12
XRL direct,A
直接地址单元与累加器相“异或”
2
12
XRL direct,#data8
直接地址单元与8位立即数相“异或”
3
24
CLR A
累加器清0
1
12
CPL A
累加器求反
1
12
RL A
累加器循环左移
1
12
RLC A
累加器带进位循环左移
1
12
RR A
累加器循环右移
1
12
RRC A
累加器带进位循环右移
1
12
SWAP A
累加器半字节交换
1
12
4、控制转移类指令
助记符
功能说明
字节
周期
ACALL addr11
绝对短调用子程序
2
24
LACLL addr16
长调用子程序
3
24
RET
子程序返回
1
24
RETI
中断返回
1
24
AJMP addr11
绝对(短)转移
2
24
LJMP addr16
长转移
3
24
SJMP rel
相对(短)转移
2
24
JMP @A+DPTR
相对于DPTR的间接转移
1
24
JZ rel
累加器为零转移
2
24
JNZ rel
累加器非零转移
2
24
CJNE A,direct,rel
累加器与直接地址单元比较,不等则转移
3
24
CJNE A,#data8,rel
累加器与8位立即数比较,不等则转移
3
24
CJNE Rn,#data8,rel
寄存器与8位立即数比较,不等则转移
3
24
CJNE @Ri,#data8,rel
间接RAM单元,不等则转移
3
24
DJNZ Rn,rel
寄存器减1,非零转移
3
24
DJNZ direct,rel
直接地址单元减1,非零转移
3
24
NOP
空操作
1
12
5、布尔变量操作类指令
助记符
功能说明
字节
周期
CLR C
清进位位
1
12
CLR bit
清直接地址位
2
12
SETB C
置进位位
1
12
SETB bit
置直接地址位
2
12
CPL C
进位位求反
1
12
CPL bit
直接地址位求反
2
12
ANL C,bit
进位位和直接地址位相“与”
2
24
ANL C,bit
进位位和直接地址位的反码相“与”
2
24
ORL C,bit
进位位和直接地址位相“或”
2
24
ORL C,bit
进位位和直接地址位的反码相“或”
2
24
MOV C,bit
直接地址位送入进位位
2
12
MOV bit,C
进位位送入直接地址位
2
24
JC rel
进位位为1则转移
2
24
JNC rel
进位位为0则转移
2
24
JB bit,rel
直接地址位为1则转移
3
24
JNB bit,rel
直接地址位为0则转移
3
24
JBC bit,rel
直接地址位为1则转移,该位清零
3
24
第二部分:
51指令助记符英文注释及功能
(1)数据传送类指令(7种助记符)
助记符 英文注释 功能
MOV Move 对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送
MOVC MoveCode 读取程序存储器数据表格的数据传送
MOVX MoveExternalRAM 对外部RAM的数据传送
XCH Exchange 字节交换
XCHD Exchangelow-nibbleDigit 低半字节交换
PUSH PushontoStack 入栈
POP PopfromStack 出栈
(2)算术运算类指令(8种助记符)
ADD Addition 加法
ADDC AddwithCarry 带进位加法
SUBB SubtractwithBorrow 带借位减法
DA DecimalAdjust 十进制调整
INC Increment 加1
DEC Decrement 减1
MUL Multiply 乘法
DIV Divide 除法
(3)逻辑运算类指令(10种助记符)
ANL AndLogic 逻辑与
ORL ORLogic 逻辑或
XRL Exclusive-ORLogic 逻辑异或
CLR Clear 清零
CPL Complement 取反
RL RotateLeft 循环左移
RLC RotateLeftthroughCarry带进位循环左移
RR RotateRight 循环右移
RRC RotateRightthroughCarry带进位循环右移
SWAP Swap 低4位与高4位交换
(4)控制转移类指令(17种助记符)
ACALL AbsolutesubroutineCall 子程序绝对调用
LCALL LongsubroutineCall 子程序长调用
RET Returnfromsubroutine 子程序返回
RETI ReturnfromInterruption 中断返回
JMP JumpIndirectly
SJMP ShortJump 短转移
AJMP AbsoluteJump 绝对转移
LJMP LongJump 长转移
CJNE CompareandJumpifNotEqual 比较转移(比较不相等则转移)
DJNZ DecreaseandJumpifNotZero 循环转移(减1后不为0则转移)
JZ JumpifZero 结果(累加器)为0则转移
JNZ JumpifNotZero 结果(累加器)不为0则转移
JC JumpiftheCarryisset 有进位则转移
JNC JumpifNoCarry 无进位则转移
JB JumpifHavingSettheBit 指定的bit位为1则转移
JNB JumpifNotHavingSettheBit 指定的bit位为0则转移
JBC JumpifHavingSettheBitandCleartheBit 位为1则转移,并清除该位
NOP NoOperation 空操作
(5)位操作指令(1种助记符)
SETB SettheBit 置位
(6)伪指令
助记符 英文注释 功能
ORG Origin(汇编后生成程序存放的)起始地址
END End 汇编结束
EQUEqual赋值(可赋予数字或符号)
DATA Data 数据地址赋值
DBDefineByte定义(并存储)字节
DWDefineWord定义(并存储)字(即16位数据项)
DSDefineStorage定义(预留)存储空间
XDATA ExternalData 外部扩展内存数据定义字
BIT Bit 位地址赋值
第三部分寄存器、端口等常见缩写的含义
寄存器部分:
PC=ProgramCounter含义:
程序计数器
SFR=SpecialFunctionRegister含义:
特殊功能寄存器
ACC=Accumulate含义:
累加器
PSW=ProgramStatusWord含义:
程序状态字
PSW各位:
{
CY=Carry(psw.7)含义:
进位(标志)
AC=AuxiliaryCarry(psw.6)含义:
辅助进位
F0=Flag(psw.5)含义:
用户自定义标志位
RS1,RS0=RegisterSelect(psw.4,psw.3)含义:
工作寄存器组选择位
OV=Overflow(psw.2)含义:
溢出
P=Parity (psw.0)含义:
奇偶校验位
}
SP=StackPointer含义:
堆栈指针
DPTR=DataPointerRegister含义:
数据指针寄存器
DPL/DPH=DataPointerLowbyte/Highbyte含义:
数据指针寄存器低8位/高8位
IE=InterruptEnable含义:
中断使能(中断允许)
IE寄存器各位:
{
EA=EnableAllInterrupt含义:
CPU开/关中断控制位
ES=EnableSerial含义:
串行口中断允许位
ET1=EnableTimer含义:
定时器1溢出中断允许位
EX1=EnableExternal含义:
外部中断1的中断允许位
}
IP=InterruptPriority含义:
中断优先级(中断优先权)
IP寄存器各位:
{
PS=PrioritySerial(IP.4)含义:
串口优先级标志位
PT1=PriorityTimer含义:
定时器1优先级标志位
PX1=PriorityExternal含义:
外部中断1优先级标志位
}
SCON=SerialControl含义:
串行口控制
SCON寄存器位:
{
TI=TransmitInterrupt 含义:
串行口发送中断请求标志位
RI=ReceiveInterrupt 含义:
串行口接收中断请求标志位
}
TCON=TimerControl含义:
定时器/计数器控制
TCON寄存器各位:
{
TF1=Timer1OverflowFlag(TCON.7)含义:
定时器T1溢出中断请求标志
TR1=Timer1Run(TCON.6)含义:
定时器T1启动控制位
IE1=InterruptExterior(TCON.3)含义:
外部中断1请求标志位
IT1=InterruptTouchType (TCON.2)含义:
外部中断1触发方式选择位
}
TMOD=TimerMode含义:
定时器/计数器模式控制寄存器
SBUF=SerialBuffer含义:
串行口数据寄存器
PCON=PowerControl含义:
电源控制和波特率选择
端口部分(低电平有效信号的上划线未画上):
OE=OutputEnable含义:
输出使能
RST=RESET 含义:
复位,重启
ALE=AddressLatchEnable含义:
地址锁存允许
PROG=Programing含义:
编程口
PSEN=ProgramStorageEnable含义:
外部程序存储器读选通
EA=EnableAddress含义:
外部程序存储器地址允许
P3口复用:
{
RXD=ReceiveexternalserialData (p3.0)含义:
接收串行数据
TXD=TransmitexternalserialData (p3.1)含义:
发送串行数据
INT0=Interrupt0 (p3.2)含义:
中断0
INT1=Interrupt1 (p3.3)含义:
中断1
T0=Timer0 (p3.4)含义:
定时器0
T1=Timer1 (p3.5)含义:
定时器1
RD=Read (p3.6)含义:
外部数据存储器(RAM)的读信号
WR=Write (p3.7)含义:
外部数据存储器(RAM)的写信号
}
XTAL2,XTAL1=ExternalCrystalOscillator含义:
外部晶体振荡器
其它:
MSB=MostSignificantBit含义:
最高有效位
LSB=LeastSignificantBit含义:
最低有效位
CLKOUT=Clockout,时钟输出
BUSWIDTH=BusWidth,总线宽度
Vref=VoltageReference,参考电压(带ADC的单片机中有的)
HSO=HighSpeedOutput,高速输出
HSI=HighSpeedInput,高速输入
INST=Instruction,指令
READY=Ready,就绪,总线中的就绪信号或引脚
NMI=NoMaskInterrupt(Input),不可屏蔽的中断请求(输入)
BHE=BankHighEnable,存储器的高位允许,如在80286系统中RAM的组织为16位的,分为高8位和低8位数据,分别的控制信号为BHE和BLE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 指令 常见 缩写 注解
![提示](https://static.bingdoc.com/images/bang_tan.gif)