
单片机应用技术 单片机指令系统 3单片机五类指令 顾筠
单 片 机 指 令 系 统 单片机应用技术 3 单 片 机 五 类 指 令 顾 筠

MCS-51单片机指令条统 单片机的寻址方式 编程基本概念 单片机的五类指令
MCS-51 单片机指令系统 1 单片机的寻址方式 2 编程基本概念 3 单片机的五类指令

3五类指令 >MCS-51指令系统专用于MCS-51系列的单片机,是 一个具有255种操作代码的集合。 ●用汇编语言表达这些代码时,有42种操作码助记符 用来代表33种操作功能。 ●指令功能助记符与操作数各种可能的寻址方式相结 合,一共构造出111种指令
3 五类指令 ØMCS-51指令系统专用于MCS-51系列的单片机,是 一个具有255种操作代码的集合。 l用汇编语言表达这些代码时,有42种操作码助记符 用来代表33种操作功能。 l指令功能助记符与操作数各种可能的寻址方式相结 合,一共构造出111种指令

指令分类 >按照指令的功能,MCS-51的111种指令可分成五类 数据传送类 ·算术操作类 ·逻辑操作类 ·控制转移类 ·布尔变量(位)操作类
指令分类 Ø按照指令的功能,MCS-51的111种指令可分成五类 l 数据传送类 l 算术操作类 l 逻辑操作类 l 控制转移类 l 布尔变量(位)操作类

(1)数据传送类指令 >数据传送指令是编程时使用最频繁的一类指令 ●常用指令形式:MOVD,S ●指令执行后,源操作数不变,目的操作数修改为 源操作数内容。 典型常用操作码 ●传送:MOV、MOVX、MOVC ●交换:XCH、SWAP ●堆栈:PUSH、POP
(1)数据传送类指令 Ø数据传送指令是编程时使用最频繁的一类指令 l常用指令形式:MOV D,S l指令执行后,源操作数不变,目的操作数修改为 源操作数内容。 Ø典型常用操作码 l传送:MOV、MOVX、MOVC l交换:XCH、SWAP l堆栈:PUSH、POP

数据传送路径 >指出哪些可以是源操作数、目的操作数。 【例1】MOV30H,20H 工作寄存器 内部RAM低128B 数据指斗 此指令正确 RO~R7 和SFR(直接地址) DPTR 【例2】MOVR0,R1 累加器A 立即数#data ;此指令错误 【例3】 程序存储器 内部RAM低128B 外部数据存储器 MOVX A,@DPTR 间接地址 RAM/10- ;此指令正确
数据传送路径 Ø指出哪些可以是源操作数、目的操作数。 【例1】MOV 30H,20H ;此指令正确 【例2】MOV R0,R1 ;此指令错误 【例3】 MOVX A,@DPTR ;此指令正确

(2)算术操作类指令 >四种基本的算术操作指令:加、减、乘、除 ●一般为双操作数指令。如:ADDD,S >操作码 ●加:ADD、ADDC、DA ●减:SUBB ●增1、减1:NC、DEC(单操作数) ●乘、除:MUL、DIV
(2)算术操作类指令 Ø四种基本的算术操作指令:加、减、乘、除 l一般为双操作数指令。如:ADD D,S Ø操作码 l加:ADD、ADDC、DA l减:SUBB l增1、减1:INC、DEC(单操作数) l乘、除:MUL、DIV

算术操作指令例 >【例1】加,ADD 设(A)=56H,(40H)=81H ADD A,40H;A【例2】增1,INC 设(R0)=33H NCR0;R0←(R0)+1,(R0)=34H
算术操作指令例 Ø【例1】加,ADD 设(A)=56H,(40H)=81H ADD A,40H;A(A)+(40H),(A)=D7H Ø【例2】增1,INC 设(R0)=33H INC R0;R0(R0)+1,(R0)=34H

(3)逻辑操作类指令 >与、或、异或、清除、求反、左右移位等逻辑操作 ·双操作数或单操作数指令 >单操作数逻辑运算指令 如:CLRA;A清零 ●清零、求反:CLR、CPL ●移位:RL、RLC、RR、RRC >双操作数逻辑运算指令 如:ANLD,S;逐位相与 ●与、或、异或:ANL、ORL、XRL
(3)逻辑操作类指令 Ø与、或、异或、清除、求反、左右移位等逻辑操作 l双操作数或单操作数指令 Ø单操作数逻辑运算指令 l清零、求反:CLR、CPL l移位:RL、RLC、RR、RRC Ø双操作数逻辑运算指令 l与、或、异或:ANL、ORL、XRL 如:CLR A;A清零 如:ANL D,S;逐位相与

逻辑操作指令例 >逻辑操作特点:按位操作。设某位是x 逻辑 符 操作 号 功能 运算 【例1】将A的第1位和第3位 XA0=0 清0。 与 清0 XAl=x ANLA,#11110101B xV1=1 或 置1 XV0=x 【例2】将P0的第0位和第7位 X⊕1=x 置1。 异或 求 X )0=x ORLP0,#10000001B
逻辑操作指令例 Ø逻辑操作特点:按位操作。设某位是x 【例1】将A的第1位和第3位 清0。 ANL A,#1111 0101B 【例2】将P0的第0位和第7位 置1。 ORL P0,#1000 0001B 逻辑 操作 符 号 功能 运算 与 ˄ 清0 x ˄0=0 x˄1=x 或 ˄ 置1 x˅1=1 x˅0=x 异或 ⊕ 求 反 x⊕ 0=x