




已阅读5页,还剩78页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 3章 MCS-51单片机指令系统主 编 范立南 谢子殿 副主编 刘 彤 尹授远 李雪飞 单片机原理及应用教程第 3章 MCS-51单片机指令系统第 3章 MCS-51单片机指令系统3.1 指令格式3.2 MCS51 的寻址方式3.3 数据传送类指令3.4 算术运算类指令3.5 逻辑运算类指令3.6 位操作指令3.7 控制转移类指令第 3章 MCS-51单片机指令系统 第 3章 MCS-51单片机指令系统指令: 主机能直接识别和接受并指挥计算机执行某种操作的命令。指令系统: 指令的集合。指令可以用两种语言形式表示: 机器语言: 用二进制代码表示,能被主机直接识 别,但不易记忆和阅读。汇编语言: 可以反映指令的功能和主要特征,用助 记符,可以方便记忆。第 3章 MCS-51单片机指令系统3.1 指令格式MCS-51汇编指令由操作码助记符字段和操作数字段所组成。指令格式如下:标号:操作码助记符 (目的操作数 ),(源操作数 );注释例如:SS: MOV A, #4FH ; 立即数 4FH送 A标号: 用符号标明该指令所在的符号地址,根据实际需要设置。在其他指令的操作数中可以引用该标号作为符号地址,便于控制程序的转向或寻址。标号以英文字母开头的字母、数字和某些规定的特殊符号的序列,一般不超过 6个符号,否则,超过部分在源程序汇编时将被删去。第 3章 MCS-51单片机指令系统3.1 指令格式操作码: 用来规定指令所完成的操作,用规定的汇编语言助记符表示。操作数: 表示操作的对象,可能是一个具体的数据,也可能是指出取得数据的地址或符号。分为目的操作数和源操作数两部分,中间用 “, ”分开。操作数可以有 1、 2、 3个或者没有 (如空操作指令 ) 。注释: 对该指令功能的解释,可有可无。 第 3章 MCS-51单片机指令系统3.1 指令格式数据操作MCS-51系列单片机的 CPU能对位、半字节、字节和双字节数据进行各种操作,它们包括数据传送、算术运算、逻辑运算、布尔处理和控制转移等操作。指令类型MCS-51汇编语言有 111种指令, 42种操作码助记符用来描述 33种操作功能。按执行时间分: 有单周期指令;双周期指令;四周期指令;按功能分类:数据传送指令;算术运算指令;逻辑运算指令;位操作指令;控制转移指令。第 3章 MCS-51单片机指令系统3.1 指令格式按字节数分: 有单字节指令;双字节指令;三字节指令;单字节指令: 如:双字节指令 如:第 3章 MCS-51单片机指令系统3.1 指令格式三字节指令 如:第 3章 MCS-51单片机指令系统3.2 MCS 51的寻址方式 寻址方式:是在指令中给出的寻找操作数地址的方法。51单片机共有 7种寻址方式:1、寄存器寻址方式: 在指令中将指定寄存器的内容作为操作数。在这种寻址中,用符号名称表示寄存器。例如:MOV A, R3寻址范围: 四个寄存器组的 32个通用寄存器 R0R7。A, B, DPTR, Cy( 位)。第 3章 MCS-51单片机指令系统3.2 MCS 51的寻址方式2、直接寻址方式: 在指令中直接给出操作数单元的地址。例如:MOV 65H,A 寻址范围: 内部 RAM地址空间 SFR地址空间 (只能用直接 位地址空间 (20H2FH) 寻址方式)第 3章 MCS-51单片机指令系统3.2 MCS 51的寻址方式3、寄存器间接寻址方式: 在指令中给出的寄存器内容是操作数的地址,从该地址中取出的数才是操作数。 表示形式: 应在寄存器名称前面加 。例如: MOV A,R0 寻址范围: 工作寄存器 R0、 R1 堆栈指针 SP 数据指针 DPTR第 3章 MCS-51单片机指令系统3.2 MCS 51的寻址方式4、立即寻址方式: 在指令中直接给出操作数,出现在指令中的操作数叫立即数。为区别于直接地址,立即数前加上 “#”。例如:MOV A,#62H寻址范围: 程序存储器立即数。第 3章 MCS-51单片机指令系统3.2 MCS 51的寻址方式5、变址间接寻址方式: 以 DPTR或 PC作基址寄存器,累加器 A作变址寄存器,以两者内容相加。形成的 16位程序存储器地址作为操作数地址。例如: MOVC A,A+DPTR (A)=54H (DPTR)=1256H第 3章 MCS-51单片机指令系统3.2 MCS 51的寻址方式寻址范围: 只能对程序存储器进行寻址,或者说是专门针对程序存储器的寻址方式。变址间接寻址指令只有三条:MOVC A,A+DPTR (适用于查表MOVC A,A+PC 操作)JMP A+DPTR第 3章 MCS-51单片机指令系统3.2 MCS 51的寻址方式6、相对寻址方式: 以 PC的当前值为基准,加上指令中给出的相对偏移量( rel) 形成新的有效转移地址。其中, rel是一个带符号的 8位二进制数,能表示的范围是 -128+127个字节单元之间。目的地址 =转移指令所在地址 +转移指令字节数+rel例如: JC 75H(设 Cy=1)若 rel为负数,计算时用补码运算第 3章 MCS-51单片机指令系统3.2 MCS 51的寻址方式7、位寻址方式: 可以对数据位进行操作。例如: CPL P1.0MOV C,2BH ; (把位寻址区 的 2BH位状态送累加位 C)寻址范围: 片内 RAM中的位寻址区 可位寻址的 SFR的位第 3章 MCS-51单片机指令系统指令中使用符号说明Rn: 当前选定工作寄存器组的 R0 R7工作寄存器。其中n=0 7。#data: 8位不带符号的二进制立即数, “ ”为立即数标识符(称为前缀)。 data l6: 16位二进制立即数。data: 8位二进制码内部数据存储器单元地址。它可以是内部 RAM( 0 127或 0 256)的某个单元地址或一个特殊功能寄存器的地址。 Ri: 以 当前工作寄存器 R0或 R1作间接寻址寄存器,以间接寻址( 0 256)数据存储器单元。其中 “ ”为间接寻址标识符(称前缀), i 0或 1。addr 16: 16位二进制码地址。提供长调用( LCALL) 或长转移( LJMP) 指令 16位二进制码地址,使之可转向或调用64KB程序存储器地址空间的任何单元。第 3章 MCS-51单片机指令系统指令中使用符号说明addr 11: 11位二进制码地址。提供绝对调用( ACALL)或绝对转移( AJMP) 指令低 11位( 0 10)进制码地址,高5位维持原值不变,因而只能使程序转向或调用包含该ACALL或 AJMP指令的下一条指令的第一个字节在内的 2KB范围内的程序存储器地址空间。 direct: 8位 直接寻址方式符号。rel: 带 符号的 8位二进制码偏移量(需用 2的补码表示)的符号。常用于相对转移指令中,其转移范围相对于当前PC值的 -128 +127个字节单元的地址空间。bit: 布尔(位)处理指令的直接寻址位符号。表示可直接位寻址的内部 RAM或特殊功能寄存器的位地址。C: 最高进位标志位或布尔(位)处理累加器。第 3章 MCS-51单片机指令系统指令中使用符号说明: 表示程序走向。 : 表示数据传送方向。 : 表示数据交换。(X): 表示 X单元中的内容。(X): 表示以 X单元中的内容为地址进行间接寻址。 第 3章 MCS-51单片机指令系统指令介绍51单片机的指令系统,共有 111条指令,按其功能可分为五大类:( 1)数据传送类指令( 28条)( 2)算术运算类指令( 24条)( 3)逻辑运算类指令( 25条)( 4)控制转移类指令( 17条)( 5)布尔操作(位)类指令( 17条)第 3章 MCS-51单片机指令系统3.3 数据传送类指令数据传送类指令的功能 :将指令中源操作数传送到目的操作数。指令执行后,源操作数不改变,而目的操作数修改为源操作数,或者源操作数与目的操作数互换,即源操作数变成目的操作数,目的操作数变成源操作数,保存目的操作数不被丢失。数据传送类指令不影响标志位,即不影响 C、AC、 OV, 但不包括检验累加器 A奇偶性的标志位 P。第 3章 MCS-51单片机指令系统3.3 数据传送类指令一、一般传送类指令汇编语言格式: MOV (目的操作数 ), (源操作数 )功能: 源操作数单元内容送到目的操作数单元中,源操作数单元内容不变。第 3章 MCS-51单片机指令系统3.3 数据传送类指令说明: Ri中, i=0或 1。1、以累加器 A为目的操作数的指令2、以 Rn为目的的操作数的指令MOV A,Rn ;A( Rn)MOV A,direct ;A(direct)MOV A,Ri ;A( Ri)MOV A,#data ;A#dataMOV Rn,A ;Rn (A)MOV Rn,direct ;Rn (direct)MOV Rn,#data ;Rn#data第 3章 MCS-51单片机指令系统3.3 数据传送类指令3、以直接寻址的单元为目的操作数指令4、以寄存器间接寻址的单元为目的操作数指令MOV Ri,A ;(Ri)(A)MOV Ri,direct ;(Ri)(direct)MOV Ri,#data ;(Ri)#dataMOV direct,A ;direct(A)MOV direct,Rn ;direct ( Rn)MOV direct, direct ;direct (direct)MOV direct, Ri ;direct( Ri)MOV direct, #data ;direct#data第 3章 MCS-51单片机指令系统3.3 数据传送类指令上述 MOV指令格式中,目的操作数在前、源操作数在后。另外,累加器 A是一个特别重要的 8位寄存器, CPU对它具有其他寄存器所没有的操作指令,下面将介绍的加、减、乘、除指令都是以 A作为操作数的, Rn为 CPU当前选择的寄存器组中的R0 R7, 在指令编码中 rrr=000 111, 分别对应于R0 R7。 直接地址指出的存储单元内部 RAM的 00 7FH和特殊功能寄存器。在间接寻址中,用 R0或R1作地址指针,访问内部 RAM的 00 0FFH这 256个单元。第 3章 MCS-51单片机指令系统3.3 数据传送类指令例 3-5: 设 (70H)=60H, (60H)=20H, P1口为输入口,当前的输入状态为 B7H, 执行下面的程序: MOV R0, #70H MOV A, R0 MOV R1, A MOV B, R1 MOV R0, P1 ( R0) =70H(A)=60H (R0)=70H(R1)=60H (A)=60H(B)=20H (R1)=60H(70H)=B7H (P1)=B7H结果: (R0)=70H (A)=60H (R1)=60H (B)=20H (P1)=B7H (70H)=B7H 第 3章 MCS-51单片机指令系统3.3 数据传送类指令例: 设内部 RAM的 30H单元内容为 40H, 40H单元内容为 10H, P1口作输入口,其输入的数据为0CAH(11001010B), 经下列程序执行后的结果是什么?(R0)=30H(A)=40H , (R0)=30H(R1)=40H, (A)=40H(B)=10H, (R1)=40H(40H)=0CAH, (P1)=0CAH(P2)=0CAH, (P1)=0CAH(R0)=30H, (A)=(R1)=40H, (B)=10H,(40H)=0CAH, (P2)=0CAHMOV R0,#30HMOV A,R0MOV R1,AMOV B,R1MOV R1,P1MOV P2,P1结果:第 3章 MCS-51单片机指令系统3.3 数据传送类指令二、 16位数据传送指令 (通常为访问外部 RAM的目标地址 )MOV DPTR,#data16; DPTR#data015DPH#data815DPL#data07第 3章 MCS-51单片机指令系统3.3 数据传送类指令三、栈操作类指令(1)入栈(不影响标志位)例 3-6: 设 (SP)=60H, (ACC)=30H, (B)=70H, 执行下述指令:PUSH direct ; SP(SP)+1; (SP)(direct)PUSH ACC PUSH B 结果:进栈指令用于保护 CPU现场。(61H)=30H, (62H)=70H, (SP)=62H;(SP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年预防与控制医院感染测试题及答案
- 2025年江西教师招聘考试真题及答案合集
- 2025年康复专业康复康复技术操作规范卷答案及解析
- 2025年急救抢救常见伤病考核答案及解析
- 2025年儿科常见病症诊断与治疗试卷答案及解析
- 2025年临床药理学综合知识考试答案及解析
- 2025年食品安全及检测知识考试题与答案
- 2025年泌尿外科手术并发症防治考察答案及解析
- 2025年扬州网格员考试题及答案
- 郯城国企考试题型及答案
- 手术室无菌技术操作讲课
- 2025年北京师大附属实验中学丘成桐少年班选拔数学试卷
- 2025年中石化校招试题及答案
- 布控球使用管理办法
- 收费员考试题库及答案
- 住院患者血糖管理制度
- 儿童热性惊厥课件
- 禁毒社工考试试题及答案
- 买卖山岭合同标准文本
- 银行业风险管理知识题库及案例分析题集
- 各工种操作规程
评论
0/150
提交评论