单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第3章

上传人:E**** 文档编号:89497838 上传时间:2019-05-25 格式:PPT 页数:173 大小:935KB
返回 下载 相关 举报
单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第3章_第1页
第1页 / 共173页
单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第3章_第2页
第2页 / 共173页
单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第3章_第3页
第3页 / 共173页
单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第3章_第4页
第4页 / 共173页
单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第3章_第5页
第5页 / 共173页
点击查看更多>>
资源描述

《单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第3章》由会员分享,可在线阅读,更多相关《单片机原理与C51基础 教学课件 ppt 作者 赵丽清 第3章(173页珍藏版)》请在金锄头文库上搜索。

1、第3章 80C51单片机的寻址方式和指令系统,第3章 目录,3.1 汇编语言指令格式及其常用符号 3.2 80C51的寻址方式 3.3 数据传送类指令 3.4 算术运算类指令 3.5 逻辑运算及移位类指令 3.6 控制转移类指令 3.7 位操作类指令,80C51单片机的寻址方式和指令系统,机器指令: 是指单片机能直接识别和执行的指令是二进制编码(书写时常采用十六进制的形式)指令,称为机器指令,也称为机器语言。机器语言难编写、难读懂、难查错和难交流。 符号指令: 为了编写程序的方便,人们采用便于记忆的符号(助记符)来表示机器指令,从而形成了所谓的符号指令,它是机器指令的符号表示,所以它与机器指令

2、一一对应。符号指令必须转换成机器指令后,单片机才能识别和执行,汇编语言就是典型的符号指令。,80C51单片机的寻址方式和指令系统,单片机常用的编程语言及其关系: 单片机主要是采用汇编语言和C语言,其各自有自己的指令体系。 汇编语言程序编译后代码效率高,但不同机型之间程序不能互相移植。 早期C语言编制的程序编译成二进制代码后,编译效率低,占用ROM空间过大,在业界应用较少。 随着高效率C语言编译器的成功开发,目前用C语言编制的程序其编译后的代码效率只比直接使用汇编语言低20%左右。而其高级语言所具有的可读性好、可移植性强的优势受到了开发人员的认可。,80C51单片机的寻址方式和指令系统,80C5

3、1系列单片机汇编语言指令系统共有111条指令 按功能划分,可分为五大类: (1)数据传送类指令(29条); (2)算术运算类指令(24条); (3)逻辑运算及移位类指令(24条); (4)控制转移誉指令(17条); (5)位操作类指令(17条)。,3.1 汇编语言指令格式及其常用符号,3.1 汇编语言指令格式及其常用符号 3.1.1 汇编语言指令格式 3.1.2 机器码的三种格式 3.1.3 指令中常用符号说明,3.1 汇编语言指令格式及其常用符号,3.1.1 汇编语言指令格式 一条完整的80C51系列单片机汇编语言指令通常由标号、操作码、操作数(一般包括目的操作数和源操作数)及指令的注释几个

4、字段构成。 指令格式如下: 标号: 操作数 ,操作数;注释 (注:在一条指令中,方括号中的内容可有可无,尖括号中的内容必须有。由指令格式可见,操作码是指令的核心,不可缺少。),3.1 汇编语言指令格式及其常用符号,3.1.1 汇编语言指令格式 标号表示与标号同一行指令的起始地址,是一种符号地址。标号可以由18个字符组成,第一个字符必须是字母,其余字符可以是字母、数字或其他特定符号,标号后跟分隔符“:”。 操作码指令的助记符,规定了指令所能完成的操作功能。 操作数指出了指令的操作对象,操作数可以是一个具体的数据,也可以是存放数据的单元地址,还可以是符号常量或符号地址等。 操作码与操作数之间必须用

5、空格分隔。 在一条指令中可能有多个操作数,操作数与操作数之间用逗号“,”分隔。 注释为了方便阅读而添加的解释说明性的文字,用分号“;”开头。,3.1 汇编语言指令格式及其常用符号,3.1.2 机器码的三种格式: 汇编语言需要编译成用机器语言表达的机器码才能在ROM中存放。在80C51系列单片机汇编语言指令系统中,指令的字长有单字节、双字节、三字节三种,其编译后的机器码在程序存储器中分别占用13个单元。 按所占字节分,分三种: (1)单字节指令49条; (2)双字节指令45条; (3)三字节指令17条。 按执行时间来分,分三种: (1)1个机器周期(12个时钟振荡周期)的指令64条; (2)2个

6、机器周期指令45条; (3)4个机器周期乘、除指令。,3.1 汇编语言指令格式及其常用符号,3.1.2 机器码的三种格式: 1、单字节指令(49条):两种编码格式 8位编码只表示一个操作码的编码,其格式为: 例如:INC A 该汇编指令的机器码为:0000 0100B 其十六进制数为04H,操作数(累加器A)隐含在操作码中。 注意:在汇编语言指令中,“A”代表累加器,而用“ACC”代表累加器的地址E0H。,3.1 汇编语言指令格式及其常用符号,3.1.2 机器码的三种格式: 1、单字节指令(49条):两种编码格式 8位编码中包含操作码和寄存器编码,其格式为: 这类指令中高5位表示操作码,低3位

7、rrr为存放操作数的寄存器Rn(n=0,7)的编码。 例如:MOV A,R0。 该指令的编码为:1110 1000B 其十六进制表示为E8H,低三位000为R0的编码。,3.1 汇编语言指令格式及其常用符号,3.1.2 机器码的三种格式: 2、双字节指令(45条) 双字节指令为16位编码,其格式为: 第一个字节表示操作码,第二个字节为参与操作的操作数data或数据所在地址direct。 例如:MOV A,#30H。 该指令两个字节的编码为0111 0100B,0011 0000B 其十六进制表示为:74H,30H,其中74H存放在指令码的第一字节,data这个具体的数据存放在第二字节。,3.1

8、 汇编语言指令格式及其常用符号,3.1.2 机器码的三种格式: 3、三字节指令(17条): 三字节指令为24位编码,其格式为: 第一个字节表示操作码,后两个字节为参与操作的操作数data或数据所在地址direct。 例如:MOV 20H,#50H。 该指令的3个字节编码为0111 0101B,0010 0000B,0101 0000B。其十六进制表示为75H,20H,50H。第一个字节存放75H这个操作码,第二个字节存放目的地址20H,第三个字节存放源操作数50H,3.1 汇编语言指令格式及其常用符号,3.1.3 指令中常用符号说明 在描述80C51系列单片机指令系统的功能时,经常使用的符号及

9、意义如下: Rn(n=O7) 当前选中的工作寄存器组中的寄存器Rn(nR0R7)之一; Ri(i=0、1) 当前选中的工作寄存器可作为地址指针的寄存器 R0、R1; #data 8位立即数; #datal6 16位立即数; direct 片内部RAM的低128个单元地址, 也可以是特殊功能寄存器SFR的单元地址或符号; addrll 11位目的地址,只限于在ACALL和AJMP指令中使用; addrl6 16位目的地址,只限于在LCALL和LJMP指令中使用;,3.1 汇编语言指令格式及其常用符号,3.1.3 指令中常用符号说明 在描述80C51系列单片机指令系统的功能时,经常使用的符号及意义

10、如下: rel 补码形式表示的8位地址偏移量,其值的范围: 128127; bit 片内RAM位寻址区或可位寻址的特殊功能寄存器的位地 址; 间接寻址或变址寻址的前缀标志; C 进位标志位,也称为位累加器; 加在位地址的前面,表示对该位先求反再参与操作, 但不影响该位的值; (X) 由X指定的寄存器或地址单元中的内容; (X) 由X寄存器的内容作为地址的存储单元的内容;,3.1 汇编语言指令格式及其常用符号,3.1.3 指令中常用符号说明 在描述80C51系列单片机指令系统的功能时,经常使用的符号及意义如下: $ :本条指令的起始地址; 指令操作流程,将箭头右边的内容送到箭头左边的单元中; 数

11、据交换。,3.2 80C51的寻址方式,3.2 80C51的寻址方式 3.2.1立即寻址 3.2.2 直接寻址 3.2.3 寄存器寻址 3.2.4 寄存器间接寻址 3.2.5 变址寻址 3.2.6 相对寻址 3.2.7 位寻址,3.2 80C51的寻址方式,寻址:寻找操作数地址或指令转移的目标地址。 寻址方式:是指寻找操作数或指令目标地址的方式就是寻址方式。 寻址方式总体上分为两大类: 一是操作数的寻址 二是跳转、调用等指令所涉及的跳转目标地址和调用程序的首地址的寻址。,3.2 80C51的寻址方式,80C51单片机的寻址方式有七种: 立即数寻址 直接寻址 寄存器寻址 寄存器间接寻址 基址变址

12、寻址 相对寻址 位寻址,3.2 80C51的寻址方式,3.2.1立即寻址 立即寻址就是操作数在指令中直接给出的寻址方式。 通常把出现在指令中的操作数称为立即数,为了与直接寻址 指令中的直接地址相区别,指令中需要在直接给出的具体数 据前面加“#”标志。 【例3-1】执行指令:MOV A,#30H 后累加器A的值是多少? 解:执行指令如图3-1 所示,(A)=30H 。 汇编指令MOV A,#30H编译成机器码后为:74H,30H,其中30H就是立即数,该指令功能是将30H这个数本身送入累加器A中,执行完这条指令后累加器A中的值为30H,即(A)=30H。 立即寻址所对应的存储空间为ROM空间(立

13、即数在ROM中存放)。,3.2 80C51的寻址方式,3.2.1立即寻址,3.2 80C51的寻址方式,3.2.2立即寻址 在指令中直接给出操作数存放在内部RAM的地址,或直接给 出特殊功能寄存器的地址或符号,这就是直接寻址方式。此 时,指令的操作数部分就是操作数的地址。 【例3-2】已知内部RAM (30H)=58H,执行指令“MOV A,30H”后,(A)=? 解:指令执行过程如图3-2所示,结果:(A)=58H 。 该指令在ROM中的机器码为:E5H、30H,其中30H表示直接地址,该指令功能是把内部RAM地址为30H单元中的操作数58H传送给累加器A,累加器原先的数值被覆盖。,3.2

14、80C51的寻址方式,3.2.2立即寻址,3.2 80C51的寻址方式,3.2.2立即寻址 直接寻址方式可访问以下存储空间: (1)内部RAM低128个字节单元,在指令中直接地址以单元地址的形式给出; (2)特殊功能寄存器。 对于特殊功能寄存器,其直接地址既可以写成特殊功能寄存器的直接地址形式,如指令:MOV A,90H中,90H是特殊功能寄存器P1的直接地址形式; 更常采用特殊功能寄存器的符号名称来表示,如指令: MOV A,P1中,P1是特殊功能寄存器的符号名称,也是符号地 址,在指令中符号“P1”与地址“90H”是等同的。,3.2 80C51的寻址方式,3.2.3 寄存器寻址 寄存器寻址

15、就是以寄存器的内容作为操作数。在指令的操作数 位置上指定了寄存器就能得到操作数。 【例3-3】如(RO)=60H,则执行MOV A,R0 指令后,(A)=? 解:指令执行过程如图3-3,结果:(A)= 60H 。 指令在ROM中的机器码为E8H,指令对应的机器码是:E8H=1110 1000B,二进制的后三位000就是隐含的R0寄存器的编码,如果是R7其编码为111。 由于寄存器在CPU内部,所以采用寄存器寻址可以获得较高的运算速度。,3.2 80C51的寻址方式,3.2.3 寄存器寻址,3.2 80C51的寻址方式,3.2.3 寄存器寻址 能实现这种寻址方式的寄存器有: (1)工作寄存器 R

16、0R7(4组工作寄存器均可); (2)累加器 A(注:使用A为寄存器寻址,使用ACC为直接寻址); (3)寄存器B (注:以AB寄存器对的形式出现时为寄存器寻址,单独出现时为直接寻址); (4)数据指针 DPTR。,3.2 80C51的寻址方式,3.2.4 寄存器间接寻址 以寄存器中的内容作为RAM地址,该地址中的内容才是操作 数,这种寻址方式称为寄存器间接寻址。 寄存器名称前加“”标志来表示寄存器间接寻址。 【例3-4】 (RO)=60H,(60H)=32H,则执行MOV A,R0 指令后,(A)=?,(RO)=? 解:指令执行过程如图3-4 结果:(A)= 32H,(RO)=60H 。,3.2 80C51的寻址方式,3.2.4 寄存器间接寻址 以寄存器中的内容作为RAM地址,该地址中的内容才是操作 数,这种寻址方式称为寄存器间接寻址。 寄存器名称前加“”标志来表示寄存器间接寻址。 【例3-4】 (RO)=60H,(60H)=32H,则执行MO

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号