单片机原理与接口技术第3章 mcs-51单片机:指令系统_第1页
单片机原理与接口技术第3章 mcs-51单片机:指令系统_第2页
单片机原理与接口技术第3章 mcs-51单片机:指令系统_第3页
单片机原理与接口技术第3章 mcs-51单片机:指令系统_第4页
单片机原理与接口技术第3章 mcs-51单片机:指令系统_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

返回目录单片机单片机 原理与接口技术原理与接口技术第 3章 MCS-51单片机指令系统Date 1返回目录本章教学要求n 熟悉 MCS-51单片机指令系统的分类、格式;n 掌握 MCS-51指令系统的 七种寻址 方式;n 掌握 MCS-51指令系统的 数据传送、算术运算、逻辑运算、转移操作、布尔运算 等指令的功能;n 熟悉 MCS-51指令系统的各种指令对寄存器资源的占用情况。第第 3章章 MCS-51单片机指令系统单片机指令系统Date 2返回目录3.1 指令系统简介指令系统 (instruction system)指令是指计算机执行某种操作(如传送数据、算术运算等)的命令。计算机所有指令的集合,称为该计算机的指令系统,它是表征计算机性能的重要标志。每种 MCU都有它自己特有的指令系统。-指令系统指令系统Date 3返回目录要让计算机工作,就得向计算机发出指令。n 指令的格式是 机器码指令格式 ,如: 75905B , 即数字格式。n 另一种指令格式,即 汇编指令格式 ,如: MOV P1, #5BH-指令的两种格式3.1 指令系统简介Date 4返回目录-MCS-51汇编语言指令格式uMCS-51单片机能够识别并执行的指令共有单片机能够识别并执行的指令共有 111条条,构成了,构成了 MCS-51单片机的单片机的 指令系统指令系统 。u同一种指令功能需要用几种助记符来表示:如数同一种指令功能需要用几种助记符来表示:如数据传送指令据传送指令 MOV, MOVX, MOVC。3.1 指令系统简介Date 5返回目录-特点1) 指令执行时间短: 1个机器周期的指令有 64条, 2个机器周期的指令有 45条,而 4个机器周期的指令仅有 2条(乘法和除法指令)。2) 指令字节少 : 单字节指令有 49条,双字节指令有 46条,三字节指令有 16条。3) 位操作指令极为丰富: 体现了 MCS-51单片机具有面向控制的特点。3.1 指令系统简介Date 6返回目录3.1.1 指令系统的分类MCS-51单片机指令共有 111条。按指令所占字节数、执行时间和功能进行分类。1按指令所占字节数分类1) 单字节指令( 49条)2) 双字节指令( 46条)3) 三字节指令( 16条)-按指令所占存储空间分类按指令所占存储空间分类Date 7返回目录2按指令执行时间分类1) 单周期指令( 64条)2) 双周期指令( 45条)3) 四周期指令( 2条)3.1.1 指令系统的分类 -按指令执行时间可分类按指令执行时间可分类Date 8返回目录1) 数据传送类指令( 29条)2) 算术运算类指令( 24条)3) 逻辑运算类指令( 24条)4) 控制转移类指令( 17条)5) 位操作类指令( 17条)3.1.1 指令系统的分类 -按指令功能分类按指令功能分类3按指令功能分类按指令功能分类Date 9返回目录3.1.2 指令格式指令由 操作码和操作数 组成。 操作码 用来规定要执行的操作的性质, 操作数 为指令的操作提供数据或数据的地址。1指令的基本格式符号地址 : 操作码 操作数 1 ,操作数 2 ;注释 其中符号地址和操作码之间用 “:”作为分隔符,也可再加上若干空格。操作码和操作数之间用空格作为分隔符。操作数之间用 “, ”作为分隔符。注释之前用 “; ”作为分隔符。-基本格式基本格式Date 10返回目录一条指令必须在一行中写完。MAIN: MOV A, #10H ; 主程序段n MAIN为符号地址 ,代表该指令所在的地址;n MOV为操作码;n A、 #10H为二个操作数;n 最后是注释。指令在送入 MCU执行之前,必须先转换成机器语言形式。 转换成机器语言的过程称为汇编 。3.1.2 指令格式 -基本格式基本格式Date 11返回目录3.1.3 指令中的常用符号为便于阅读指令, MCS-51指令助记符中的常用符号约定如下 :n Rn: 表示当前工作寄存器 R0 R7中的一个。n Ri: 表示寄存器间接寻址,常作间接寻址的地址指针。其中 Ri代表 R0和 R1寄存器中的一个。n direct: 表示内部数据存贮器单元的地址及特殊功能寄存器 SFR的地址,对 SFR而言,既可使用它的物理地址,也可直接使用它的名字。Date 12返回目录n #date: 表示 8位立即数, #00H #0FFH。n date16: 表示 16位立即数, #0000H#0FFFFH。n addr16: 表示 16位地址。n addr11: 表示 11位地址。n rel: 用补码形式表示的地址偏移量,取值范围为 -128 +127。n bit: 表示内部 RAM和 SFR中的具有位寻址功能的位地址。3.1.3 指令中的常用符号Date 13返回目录n : 表示间接寻址寄存器或基址寄存器的前缀符号。n $: 表示当前指令的地址。n /: 位操作数的前缀,表示对该位操作数取反。n (x): 表示存储单元 x的内容。n (x): 表示以寄存器或存储单元 x的内容作为地址的存储单元的内容。n : 表示数据传送方向。3.1.3 指令中的常用符号Date 14返回目录3.1.4 寻址方式 (addressing mode)如何找到参与运算的操作数据或数据所在的地址称为 寻址方式 。寻址方式是在地址范围内如何找到所需要的操作数的地址。MCS-51寻址方式主要有 立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址加变址寻址、相对寻址和位寻址 等七种。Date 15返回目录在指令中直接给出操作数的寻址方式称为 立即寻址 。这个操作数叫 立即数 ,如指令:MOV A, #3AH该指令是将立即数 3AH送累加器,由于 MCS-51单片机的片内存储器是 8位存储器,因此立即数一般为 8位二进制数,用 #来识别立即数。1.立即寻址立即寻址 (immediate addressing)3.1.4 寻址方式 (addressing mode) -立即寻址立即寻址74HA操作码立即数程序存储器PCPC+1 3AH3AHDate 16返回目录在有的指令中,也会用到 16位立即数,如:MOV DPTR, #0123H该指令是将 16位 立即数 0123H送 数据指针 DPTR(用于对 16位地址的存储器寻址 ), DPTR由两个特殊功能寄存器 DPH和 DPL组成。3.1.4 寻址方式 (addressing mode) -立即寻址立即寻址90H01H23HPCPC+1PC+2操作码高位立即数低位立即数程序存储器 SFRDPHDPLDate 17返回目录2.直接寻址 (direct addressing)直接寻址是将操作数的地址直接存放在指令中。操作数指的是 内部数据存储器中存放数据的地址 ,或存放数据的一个特殊功能寄存器地址。例如: MOV A, 30H ; (30H)A3.1.4 寻址方式 (addressing mode) -直接寻址Date 18返回目录MOV A, 70H; A(70H)该指令是将 RAM单元 70H(地址 )的内容送 累加器。74H70HPCPC+1操作码直接地址程序存储器内部 RAM70HAXXXXDate 19返回目录直接寻址方式可访问的范围 :1) 特殊功能寄存器SFR既可以用单元地址给出,也可以用寄存器符号的形式给出。MOV A, 90H 或 MOV A, P1为同一条指令的两种写法。2) 内部 RAM的低 128个字节单元直接以单元地址的形式给出。MOV A, 7FH3.1.4 寻址方式 (addressing mode) -访问范围访问范围Date 20返回目录3) 位地址空间片内 RAM中 20H 2FH中的 128个位地址,以及 SFR中的 11个可进行位寻址的寄存器中的位地址。4) 在一些程序控制指令中,可采用 直接寻址方式 提供程序转移的目标地址。3.1.4 寻址方式 (addressing mode) -访问范围访问范围Date 21返回目录-寄存器寻址寄存器寻址是指操作数存放在寄存器中,并且寻址时的寄存器已隐含在指令的操作码中。例如: MOV A, R53.1.4 寻址方式 (addressing mode)3.寄存器寻址 (register addressing)101PC 操作码程序存储器 内部 RAMR5AXXXXR6R71101Date 22返回目录寄存器寻址方式的寻址范围:(1) 4个工作寄存器组共 32个通用寄存器(在指令中只能使用当前寄存器组)(2) 部分特殊功能寄存器。如 A, B,DPTR。-寄存器寻址3.1.4 寻址方式 (addressing mode)Date 23返回目录-寄存器寻址4.寄存器间接寻址 (register indirect addressing)寄存器间接寻址是指操作数据存放在以寄存器内容为地址的单元中。如:MOV A, R0 ;(R0)A指令功能为将 R0所指出的内部 RAM单元内容送入累加器 A中,执行过程如图所示。3.1.4 寻址方式 (addressing mode)Date 24返回目录MOV A, R1; A(R1)该指令是将 R1的内容送作为地址,将该地址所对应的RAM单元的内容送 累加器 。1PC 操作码程序存储器内部 RAMR1 A XX68H111001 XX68HDate 25返回目录寄存器间接寻址的寻址范围:1) 内部低 128字节单元 (只能使用 R0、 R1作间址寄存器)。2) 外部数据存储器 ( 64KB字节,使用DPTR作间址寄存器。另外,外部低 128B单元也可用 R0、 R1作间址寄存器寻址)。3) 在堆栈操作指令 ( PUSH、 POP) 中,以堆栈指针 SP作间址寄存器,寻址空间为片内RAM。3.1.4 寻址方式 (addressing mode) -寻址范围寻址范围Date 26返回目录-基址变址寻址基址变址寻址 是指操作数存放在以变址寄存器和基址寄存器的内容相加形成的数为地址的单元中。其中累加器 A作变址寄存器、程序计数器 PC或寄存器 DPTR作基址寄存器。基址加变址寻址方式常用于 查表操作 。如:MOVC A, A+PC ;PC+1PC ,(A+PC)AMOVC A, A+DPTR ;(A+DPTR)A3.1.4 寻址方式 (addressing mode)5.基址变址寻址 (based indexed addressing)Date 27返回目录MOV A, A+DPTR; A(A)+(DPTR)PC 操作码程序存储器 SFRA10010011 1EH02HALU030FH XXDPHDPL F1H02F1H02F1H+1EH=030FHXXDate 28返回目录相对寻址是将程序计数器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论