单片机指令系统ppt课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

加减指令
操作
操作数
Rn @Ri direct #data A
ADD *
*
*
*
X
ADDC *
*
*
*
X
SUBB *
*
*
*
X
INC *
*
*
X
*
DEC *
*
*
X
*
其他算术运算指令
16位寄存器加一指令 INC DPTR
十进制调整指令
DA A
乘法指令 MUL AB
(A) X (B) = BA
Cy = 0
若乘积>0FFH 则 OV=1
A #data
ANL *
*
ORL *
*
XRL *
*
控制转移类指令
控制转移类指令有17条,分为:
无条件转移指令 判零转移指令 比较转移指令 循环转移指令 调用返回指令
无条件转移指令
短转移指令 AJMP addr11
PC高5位与指令中给出的11位地址相加,可在2K 范围内转移
长转移指令 LJMP addr16
例: MOV 90H,A
MOV P1,A
寄存器寻址方式
寄存器寻址方式指令中给出寄存器编号 寄存器编号为 R0 -- R7 其对应单元位置由 RS1、RS0 决定 例
INC R0 ADD A,R2
寄存器间接寻址方式
寄存器间接寻址在指令中给出存放操作数 地址的寄存器 可用于间接寻址方式的寄存器有
R0、R1 用于寻址内部128字节RAM DPTR 用于寻址外扩数据存储器( R0、R1)
寻址外扩数据存储器,只能用寄存器间接寻 址方式 例: MOV A,@R0 MOVX @DPTR,A
位寻址方式
对片内RAM中20H-2FH单元的各位和SFR中 单元地址能被8整除的各位进行位操作。 位地址空间为:00H-0FFH 位地址采用直接地址形式 与字节直接寻址的区别:
传送指令由另一操作数判断 专用位操作指令
数据传送类指令
数据传送类指令有29条,分为5类
内部RAM及SFR间传送 MOV
读写外部数据存储器
MOVX
读程序存储器
MOVC
数据交换
XCH XCHD SWAP
栈操作
PUSH POP
传送指令不影响标志位
内部RAM及SFR间传送(MOV)
A
目A
X

操 Rn
*
作 @Ri *
数 direct *
源操作数
JNB bit=“0”转移
JBC bit=“1”转移且转移后将 bit 清零
指令格式
[标号:] 操作码 [操作数1][,操作数2][,操作数3] [;注释]
标号用来表示转移地址 操作码指明指令操作 操作数指出参加操作的数据或其存放地址 注释对指令功能进行说明 注意格式中各段之间的间隔符
MOVX A ,@Ri
MOVX @Ri ,A
读程序存储器
读程序存储器指令助记符为 MOVC 读程序存储器必须通过累加器A 读程序存储器指令只能用变址寻址方式 变址单元为 DPTR 或PC
MOVC A ,@A+DPTR MOVC A ,@A+PC
数据交换
字节交换指令
Rn XCH A, direct
移位指令必须经累加器A
所有移位都是循环移位,分左移、右移
可带进位移或不带进位移
RL A
RLC A
RR A
RRC A
除带进位移位外,不影响标志
双操作数逻辑运算指令
以累加器A为目的单元
Rn direct @Ri
ANL
*
*
*
ORL
*
*
*
XRL
*
*
*
#data * * *
以直接地址direct为目的单元(读-修改-写)
位变量逻辑操作指令
指定位变量与位累加器Cy进行逻辑操作,结 果在Cy中
逻辑与 ANL C,bit
ANL C,/bit
逻辑或 ORL C,bit
ORL C,/bit
注意区分位操作指令与字节操作指令
ANL C,20H
ANL A,20H
判位转移指令
JC
有进位转移
JNC 无进位转移
JB
bit=“1”转移
Rn @Ri direct #data
*
*
*
*
XX
*
*
XX
*
*
*
*
*
*
另有一条16位传送指令 MOV DPTR,#16
读写外部数据存储器
读写外部数据存储器指令助记符为MOVX
读写外部数据存储器必须通过累加器A
读写外部数据存储器指令只能用间接寻址 方式
间址单元为 DPTR 或 R0、R1
MOVX A ,@DPTR MOVX @DPTR,A
转移范围为整个64K存储空间
相对转移指令 SJMP rel
转移范围为-128~+127
散转指令
JMP @A+DPTR
散转指令
累加器A中内容与DPTR内容相加形成转移地址
A=?
A=0
A=2
A=4
A=6
A=8
AJMP AJMP
AJMP
AJMP
AJMP
比较转移指令
比较转移指令
CJNE
操作数1,操作数2,操作数3 CJNE N
立即寻址方式
立即寻址方式在指令中直接给出操作数
表示立即数时前面加 #
立即数可以用
二进制数 (B)
十六进制数 (H)
十进制数
例:
MOV A,#23H
MOV DPTR,#2040H
直接寻址方式
直接寻址方式指令中给出操作数地址
直接寻址方式可寻址
内部128字节RAM
特殊功能寄存器SFR
特殊功能寄存器只能使用直接寻址方式,可 以用其名称表示直接地址
判零转移指令有2条,都是相对转移指令
JZ
累加器为“0”转移
JNZ 累加器非“0”转移
位寻址与布尔处理器
8051中含有一个一位的布尔处理器 布尔处理器以Cy为位累加器 布尔处理器可以进行
逻辑与、逻辑或运算 置位、清零、求反
位处理单元有256个地址
20H--2FH单元 SFR中地址能被8整除的单元
位地址的表示形式
除法指令 DIV AB
(A) / (B) = A ……B
Cy = 0
若(B)=0 则 OV=1
逻辑运算类指令
逻辑运算类指令有24条 单操作数指令
累加器操作指令 移位指令
双操作数指令
逻辑与 逻辑或 逻辑异或
累加器操作指令
累加器清零 CLR A
只影响P标志 累加器求反
CPL A 不影响标志
移位指令
位地址只有直接寻址方式
直接地址
0D5H
单元地址.位序号 0D0H.5
单元名称.位序号 PSW.5
位寄存器名称
F0
位操作类指令(17条)
位传送指令:
MOV C , bit MOV bit ,C
位变量修改指令:
清“0” CLR C 置“1” SETB C 求反 CPL C
CLR bit SETB bit CPL bit
@Ri 半字节交换指令
XCHD A,@Ri 累加器A中低四位与Ri所指单元低四位交换
SWAP A 累加器A中高四位与低四位交换
栈操作指令
栈操作只能用直接寻址方式
压栈指令
PUSH direct
出栈指令
POP
direct
算术运算指令
算术运算指令共有24条 算术运算指令将影响标志位 算术运算包括
加 ADD、带进位加 ADDC 带借位减 SUBB 增量 INC 、减量 DEC 乘 MUL、除 DIV 十进制调整 DA A
51系列单片机指令系统
51系列单片机指令系统有111条指令
其中有49条单字节、45条双字节、17条三字 节 有64条单周期、45条双周期、运算类指令 逻辑运算类指令 位操作类指令 控制转移类指令
指令寻址方式
51系列单片机指令系统有七种寻址方式 立即寻址方式 直接寻址方式 寄存器寻址方式 寄存器间接寻址方式 基址加变址寻址方式 相对寻址方式 位寻址方式
A , direct , rel
A , #data ,
Y
rel
Rn , #data , rel
N JC
@Ri , #data , rel
Y
操作数1与操作数2比较,不等于零转移 A=B 操作数1<操作数2 则 Cy=“1”
A<B A>B
循环转移指令
循环转移指令是相对转移
循环计数器减一,不等于“0”转移
循环计数器可用
工作寄存器 直接地址
DJNZ DJNZ
Rn , rel direct , rel
调用返回指令
调用指令
短调用(2K范围内) ACALL
长调用(64K范围内) LCALL
返回指令
子程序返回
RET
中断返回
RETI
空操作
NOP
addr11 addr16
判零转移指令
判零是根据累加器A中是否为零的状态进行 转移
相关文档
最新文档