版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MCS-51的基本指令共111条,其中单字节指令49条,双字节指令45条,三字节指令17条。从指令的执行时间来看,单机器周期(12个时钟振荡周期)指令64条,双机器周期(24个时钟振荡周期)指令45条,只有乘、除两条指令的执行时间为4个机器周期(48个时钟振荡周期)。在12MHz晶振的条件下,每个机器周期为1μs,由此可见,MCS-51指令系统对存储空间和时间的利用率较高。第三节MCS-51单片机指令系统
本节主要阐述指令格式、指令的三种表示形式、指令字节数、指令分类和指令系统综述等五个问题。二、指令的三种表示形式指令有二进制,十六进制和助记符等三种表示形式
二进制形式0010010000001000B;十六进制形式为2408H;指令的助记符形式为:ADDA,#08H;第三节MCS-51单片机指令系统2.1概述一、指令格式三、指令的字节数四、指令的分类数据传送指令
算术运算指令逻辑操作和环移指令控制转移指令和位操作指令等。第三节MCS-51单片机指令系统2.1概述1.指令系统中所用符号的说明(1)Rn:工作寄存器,可以是R0—R1中的一个。(2)#data:8位立即数,实际使用时data应是00H—FFH中的一个。(3)direct:8位直接地址,实际使用时direct应该是00H—FFH中的一个,也可以是采用物理地址表示的特殊功能寄存器SFR中的一个。(4)@Ri:表示寄存器间接寻址,Ri只能是R0或R1。(5)#data16
:16位立即数。第三节MCS-51单片机指令系统2.1概述(6)@DPTR:表示以DPTR为数据指针的间接寻址,用于对外部64KRAM/ROM寻址。(7)bit:位地址。(8)addr11:11位目标地址。(9)addr16:16位目标地址。(10)rel:8位带符号地址偏移量。(11)$:当前指令的地址。2.指令对标志位的影响第三节MCS-51单片机指令系统2.1概述一、寄存器寻址加1指令
INCRn二、直接寻址
MOVA,directMOVA,3AHMOVA,SP;A←SPMOVA,81H;A←(81H)
INCAINCACCINC0E0H第三节MCS-51单片机指令系统2.2寻址方式
MOVA,20H;A←(20H)
MOVC,20H;C←(20H)三、立即寻址
MOVA,#3AH;A←3AH四、寄存器间址寄存器间址指令的特点是指令码中含有操作数地址的寄存器号。
MOVA,R0;A←R0MOVA,@R0;A←(R0)第三节MCS-51单片机指令系统2.2寻址方式五、变址寻址MCS-51单片机总共有如下两条变址寻址指令:
MOVCA,@A+PC;A←(A+PC)
MOVCA,@A+DPTR;A←(A+DPTR)六、相对寻址2000H8054HSJMPrel;PC←PC+2+rel第三节MCS-51单片机指令系统2.2寻址方式七、位寻址MOVC,7FHMOVC,2FH.7MOVC,ACC.1第三节MCS-51单片机指令系统2.2寻址方式
ORG0060HSTART:MOVA,#00H;A←0MOVR2,#0AH;R2←10MOVR1,#03H;R1←3LOOP:ADDA,R1;A←A+R1
DJNZR2,LOOP;若R2-1≠0,则LOOPNOPSJMP$
END2.3数据传送指令一、内部数据传送指令(15条)指令通式为:
MOV<dest>,<src)1.立即寻址型传送指令这类指令的特点是源操作数字节是立即数,处在指令码的第二字节或第三字节位置上,共有如下四条。MOVA,#data;A←dataMOVRn,#data;Rn←dataMOV@Ri,#data;(Ri)←dataMOVdirect,#data;direct←data第三节MCS-51单片机指令系统例2.2已知:R0=20H,试问8031执行如下指令后累加器A、R7、20H和21H单元中内容是什么?
MOVA,#18HMOVR7,#28HMOV@R0,#38HMOV21H,#48H2.3数据传送指令第三节MCS-51单片机指令系统解:8031执行上述指令后的操作结果为:
A=18H,R7=28H,(20H)=38H,(21H)=48H。2.直接寻址型传送指令直接传送型指令的特点是指令码中至少含有一个源操作数或目的操作数的直接地址,直接地址处在指令的第二字节或第三字节位置上。这类指令共有如下五条:
MOVA,direct;A←(direct)
MOVdirect,A;A→directMOVRn,direct;Rn←(direct)
MOV@Ri,direct;(Ri)←(direct)
MOVdirect2,direct1;direct2←(direct1)2.3数据传送指令第三节MCS-51单片机指令系统例2.3已知:R1=32H、(30H)=AAH、(31H)=BBH、(32H)=CCH,试问如下指令执行后累加器A、50H、R6、32H和P1口中的内容是什么。
MOVA,30HMOV50H,AMOVR6,31HMOV@R1,30HMOVP1,32H2.3数据传送指令第三节MCS-51单片机指令系统解:上述指令执行后的操作结果为:A=AAH,(50H)=AAH,R6=BBH,(32H)=AAH,P1=AAH。3.寄存器寻址型传送指令这类指令共有如下三条:
MOVA,Rn;A←RnMOVRn,A;A→RnMOVdirect,Rn;Rn→direct4.寄存器间址型传送指令
MOVA,@Ri;A←(Ri)
MOV@Ri,A;A→(Ri)
MOVdirect,@Ri;(Ri)→direct2.3数据传送指令第三节MCS-51单片机指令系统例2.4已知:(40H)=11H、(41H)=22H、R0=40H和R1=41H,试问如下指令执行后累加器A、40H、41H和42H单元中内容是什么?MOVA,@R0MOV@R1,AMOV42H,@R12.3数据传送指令第三节MCS-51单片机指令系统解:上述指令执行后的操作结果为:
A=11H,(40H)=11H,(41H)=11H,(42H)=11H二、外部数据传送指令(7条)1.十六位数传送指令在MCS-51指令系统中,只有唯一的一条16位数传送指令。该指令格式为:
MOVDPTR,#data16;DPTR←data162.外部ROM的字节传送指令这类指令共有两条,均属于变址寻址指令,因专门用于查表而又称为查表指令,指令的格式为:
MOVCA,@A+DPTR;A←(A+DPTR)
MOVCA,@A+PC;PC←PC+1,A←(A+PC)2.3数据传送指令第三节MCS-51单片机指令系统3.外部RAM的字节传送指令这类指令可以实现外部RAM和累加器A之间的数据传送。相应指令如下:MOVXA,@Ri:A←(Ri)MOVX@Ri,A;A→(Ri)MOVXA,@DPTR;A←(DPTR)MOVX@DPTR,A;A→(DPTR)前面两条指令用于访问外部RAM的低地址区,地址范围为0000H—00FFH;后面两条指令可以访问外部RAM的64K字节区,地址范围是0000H—FFFFH。2.3数据传送指令第三节MCS-51单片机指令系统例2.5已知外部RAM的88H单元中有一数x,试编一个能把x传送到外部RAM的1818H单元的程序。解:外部RAM88H单元中数x是不能直接传送到外部RAM的1818H单元的,必须经过累加器A的转送。相应程序为:
ORG2000HMOVR0,#88H ;R0←88HMOVDPTR,#1818H ;DPTR←1818HMOVXA,@R0 ;A←xMOVX@DPTR,A ;x→1818HSJMP$ ;停机
END2.3数据传送指令第三节MCS-51单片机指令系统三、堆栈操作指令(2条)堆栈操作指令是一种特殊的数据传送指令,其特点是根据堆栈指示器SP中栈顶地址进行数据传送操作。这类指令共有如下两条:PUSHdirect;SP←SP+1,(SP)←(direct)POPdirect;(SP)→direct,SP←SP-12.3数据传送指令第三节MCS-51单片机指令系统例2.6设(30H)=x和(40H)=y,试利用堆栈作为媒介编出30H和40H单元中内容相交换的程序。解:堆栈是一个数据区,进栈和出栈数据符合“先进后出”和“后进先出”的原则。相应程序为:
MOVSP,#70H;令栈底地址为70HPUSH30H:SP←SP+1,71H←xPUSH40H;SP←SP+1,72H←yPOP30H;30H←y,SP←SP-1=71HPOP40H;40H←x,SP←SP-1=70H2.3数据传送指令第三节MCS-51单片机指令系统四、数据交换指令(4条)数据交换指令共有4条,其中字节交换指令三条,半字节交换指令一条。
XCHA,Rn;
XCHA,direct;
XCHA,@Ri;
XCHDA,@Ri;前面三条指令的功能是把累加器A中内容和片内RAM单元内容相互交换。第四条指令是半字节交换指令,用于把累加器A中低四位和Ri为间址寻址单元的低四位相互交换,各自的高四位保持不变。2.3数据传送指令第三节MCS-51单片机指令系统一、算术运算指令(24条)1.加法指令加法指令共有13条,有不带Cy加法、带Cy加法和加1指令等三类组成:(1)不带Cy加法指令这组指令共有如下四条:
ADDA,Rn;A←A+RnADDA,direct;A←A+(direct)
ADDA,@Ri;A←A+(Ri)
ADDA,#data;A←A+data2.4算逻运算和移位指令
第三节MCS-51单片机指令系统(2)带Cy加法指令带Cy加法指令共有四条,主要用于多字节加法运算中。
ADDCA,Rn;A←A+Rn+CyADDCA,direct;A←A+(direct)+CyADDCA,@Ri;A←A+(Ri)+CyADDCA,#data;A←A+data+Cy
2.4算逻运算和移位指令
第三节MCS-51单片机指令系统(3)加1指令加1指令又称为增量(increase)指令,共有如下五条。INCA;A←A+1INCRn;Rn←Rn+1INCdirect;direct←(direct)+1INC@Ri;(Ri)←(Ri)+1INCDPTR;DPTR←DPTR+12.4算逻运算和移位指令
第三节MCS-51单片机指令系统
ORG0500HMOVR0,#M1;x1的始址送R0MOVR1,#M2;x2的始址送R1MOVA,@R0;A←x1的低8位
ADDA,@R1;A←x1的低8位十x2的低8位,形成CyMOV@R0,A;和的低8位存M1INCR0;修改地址指针R0INCR1;修改地址指针R1MOVA,@R0;A←x1高8位
ADDCA,@R1;A-x1高8位+x2高8位+CyMOV@R0,A;和的高8位存M111SJMP$;停机
END2.4算逻运算和移位指令
第三节MCS-51单片机指令系统
2.减法指令在MCS-51指令中,减法指令共8条,分为带Cy减法指令和减1指令两类。(1)带Cy减法指令SUBBA,Rn;A←A-Rn-CySUBBA,direct;A←A-(direct)-CySUBBA,@Ri;A←A-(Ri)-CySUBBA,#data:A←A-data-Cy2.4算逻运算和移位指令
第三节MCS-51单片机指令系统2.减法指令(2)减1指令DECA;A←A-1DECRn;Rn←Rn-1DECdirect;direct←(direct)-1DEC@Ri;(Ri)←(Ri)-13.十进制调整指令(略)2.4算逻运算和移位指令
第三节MCS-51单片机指令系统
4.乘法和除法指令
MCS-51的乘法和除法指令均为单字节四周期指令,相当于执行四条加法指令的时间。指令格式为
MULAB;A×B=BA,形成标志
DIVAB;A÷B=A…B,形成标志2.4算逻运算和移位指令
第三节MCS-51单片机指令系统二、逻辑运算指令(20条)
1.逻辑与运算指令逻辑与运算指令又称逻辑乘指令,共有如下六条:
ANLA,Rn;A←A∧RnANLA,direct;A←A∧(direct)
ANLA,@Ri;A←A∧(Ri)
ANLA,#data;A←A∧dataANLdirect,A;direct←(direct)∧AANLdirect,#data;direct←(direct)∧data2.4算逻运算和移位指令
第三节MCS-51单片机指令系统
例2.10已知:R0=30H和(30H)=0AAH,试问8031分别执行如下指令后累加器A和30H单元中内容是什么?(1)MOVA,#0FFH(2)MOVA,#0FHANLA,R0ANLA,30H(3)MOVA,#0F0H(4)MOVA,#80HANLA,@R0ANL30H,A解:根据逻辑乘指令功能,上述指令执行后的操作结果为:(1)A=30H,(30H)=0AAH
(2)A=0AH,(30H)=0AAH
(3)A=0A0H,(30H)=0AAH
(4)A=80H,(30H)=80H2.4算逻运算和移位指令
第三节MCS-51单片机指令系统
2.逻辑或指令
ORLA,Rn;A←A∨RnORLA,direct;A←A∨(direct)
ORLA,@Ri;A←A∨(Ri)
ORLA,#data;A←A∨dataORLdirect,A;direct←(direct)∨AORLdirect,#data;direct←(direct)∨data2.4算逻运算和移位指令
第三节MCS-51单片机指令系统
例2.11设:A=0AAH和P1=0FFH,试编程把累加器A中低4位送入P1口低4位,P1口高4位不变。解:本题也有多种求解方法,现介绍其中的一种。
ORG0100HMOVR0,A;A中内容暂存R0ANLA,#0FH;取出A中低4位,高4位为0ANLP1,#0F0H;取出P1口中高4位,低4位为0ORLP1,A;字节装配
MOVA,R0;恢复A中原数
SJMP$;停机
END2.4算逻运算和移位指令
第三节MCS-51单片机指令系统
3.逻辑异或指令
XRLA,Rn;A←ARnXRLA,direct;A←A(direct)
XRLA,@Ri;A←A(Ri)
XRLA,#data;A←AdataXRLdirect,A;direct←(direct)AXRLdirect,#data;direct←(direct)data4.累加器清零和取反指令
CLRACPLA2.4算逻运算和移位指令
第三节MCS-51单片机指令系统三、移位指令(5条)2.4算逻运算和移位指令
第三节MCS-51单片机指令系统一、控制转移指令(17条)
1.无条件转移指令这组指令共有如下四条:
LJMPaddrl6;(64K范围)
AJMPaddr11;(2K范围)
SJMPrel;(-126~+129范围)
JMP@A+DPTR;(变址寻址转移)2.5控制转移和位操作指令第三节MCS-51单片机指令系统
例2.12就有如下程序,计算SJMPSTART指令码中的rel,并分析目标地址的转移范围。
ORG1000HSTART:MOVA,#01HMOVR0,ALOOP:MOVDPTR,#0CF01H::SJMPSTART
:
:
END第三节MCS-51单片机指令系统2.5控制转移和位操作指令
2.条件转移指令
1)累加器A判零转移指令
JZrel;若A=0,则PC←PC+2+rel
若A≠0,则PC←PC+2JNZrel;若A≠
0,则PC←PC+2+rel
若A=
0,则PC←PC+2第三节MCS-51单片机指令系统2.5控制转移和位操作指令
2)比较条件转移指令比较条件转移指令共有如下四条(影响标志位):
CJNEA,#data,relCJNEA,direct,relCJNERn#data,relCJNE@Ri,#data,rel3)减1条件转移指令
DJNZRn,relDJNZdirect,rel第三节MCS-51单片机指令系统2.5控制转移和位操作指令
3.子程序调用和返回指令第三节MCS-51单片机指令系统2.5控制转移和位操作指令
1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据库原理与应用 课件全套chapter1-chapter9 数据库的相关概念 - -数据库设计概述
- 癫痫患者的自我管理
- 场所安全教育培训制度
- 包装采购员绩效考核制度
- 小公司电商绩效考核制度
- 安质部绩效考核制度
- 审计局文明创建工作制度
- 审计局决策追究制度
- 医疗保健绩效考核制度
- 印刷企业财务规章制度
- 2025年浙江长征职业技术学院单招职业适应性考试题库带答案解析
- 2026年经济学专业知识考试试题及答案
- 2025年河北省邯郸市检察院书记员考试试题及答案
- 二次设备基本知识课件
- 陪玩内部制度规范要求
- 2026年时事政治测试题库100道附答案【满分必刷】
- 2026年销售精英招聘面试问题集
- 国家安全政治安全课件
- 义务教育道德与法治课程标准日常修订版(2022年版2025年修订)
- 击剑运动课件
- (2025年)政工师职称考试题库及答案
评论
0/150
提交评论