MCS-51单片机原理及应用 教学课件 ppt 作者 王国永 3

上传人:E**** 文档编号:89243537 上传时间:2019-05-22 格式:PPT 页数:131 大小:1.99MB
返回 下载 相关 举报
MCS-51单片机原理及应用 教学课件 ppt 作者 王国永 3_第1页
第1页 / 共131页
MCS-51单片机原理及应用 教学课件 ppt 作者 王国永 3_第2页
第2页 / 共131页
MCS-51单片机原理及应用 教学课件 ppt 作者 王国永 3_第3页
第3页 / 共131页
MCS-51单片机原理及应用 教学课件 ppt 作者 王国永 3_第4页
第4页 / 共131页
MCS-51单片机原理及应用 教学课件 ppt 作者 王国永 3_第5页
第5页 / 共131页
点击查看更多>>
资源描述

《MCS-51单片机原理及应用 教学课件 ppt 作者 王国永 3》由会员分享,可在线阅读,更多相关《MCS-51单片机原理及应用 教学课件 ppt 作者 王国永 3(131页珍藏版)》请在金锄头文库上搜索。

1、一、 MCS-51指令系统概述 指令是CPU用来执行某种操作的命令,一台计算机的CPU所能执行的全部指令的集合称为这个CPU的指令系统。 1、机器语言、汇编语言和高级语言 在计算机中,所有的指令,数据都是用二进制代码来表示的。这种用二进制代码表示的指令系统称为机器语言(Machine Language),用机器语言编写的程序称为机器语言程序或“目标程序”(Object program)。 用助记符代表指令的操作码和操作数,用标号或符号代表地址、常数或变量的程序设计语言称为汇编语言(Assembly Language)。它由字母、数字和符号组成,又称“符号语言”。可见汇编语言仍是一种面向机器的语

2、言。,第3章 MCS-51指令系统,一、 MCS-51指令系统概述 1、机器语言、汇编语言和高级语言 由于汇编语言是一种面向机器的语言,因此受到机器种类的限制,不能在不同类型的计算机上通用,这样就出现了高级语言。高级语言是一种面向过程的语言,这种语言更接近英语和数字表达式,易被一般用户掌握。 因汇编语言运行速度快,占用内存空间小,且易读易记忆,所以在工业控制中广泛采用的是汇编语言。,第3章 MCS-51指令系统,第3章 MCS-51指令系统,2、指令格式 MCS-51单片机的指令格式如下: 标号: 操作码助记符 目的操作数, 源操作数 ;注释 例如:MOV A, #30H; (A)=30H 一

3、条汇编指令由多个字段组成,各字段之间用空格或规定的标点符号隔开。 标号是由用户定义的符号组成,必须用英文大写字母开始。标号可有可无。标号代表该指令第一个字节所存放的存储器单元的地址,故标号又称符号地址。,第3章 MCS-51指令系统,2、指令格式 MCS-51单片机的指令格式如下: 标号: 操作码助记符 目的操作数, 源操作数 ;注释 例如:MOV A, #30H; (A)=30H 操作码助记符是指令的功能部分,不能缺省。它是便于记忆的助记符。例如MOV是数据传送的助记符,ADD是加法的助记符。 操作数是指令要操作的数据信息。 注释是对指令功能的说明,便于程序的阅读和维护,它不参与计算机的操作

4、。,第3章 MCS-51指令系统,3 、MCS-51指令系统综述 (1)MCS-51指令系统 MCS-51单片机指令系统使用42种助记符,有51种基本操作。通过助记符及指令中的源操作数和目的操作数的不同组合构成了MCS-51的111条指令。 (a)按字节数分为: 单字节指令49条; 双字节指令46条; 三字节指令16条。 (b)按指令执行的周期划分: 64条一周期指令; 45条二周期指令; 2条四周期指令(乘法和除法)。,第3章 MCS-51指令系统,3 、MCS-51指令系统综述 (1)MCS-51指令系统 MCS-51单片机指令系统使用42种助记符,有51种基本操作。通过助记符及指令中的源

5、操作数和目的操作数的不同组合构成了MCS-51的111条指令。 当晶振为12MHz时,单周期指令的执行时间为1s。 MCS-51单片机的一大特点是在硬件结构中有一个位处理机,对应这个位处理机,指令系统中相应地设计了一个处理位变量的指令子集。,第3章 MCS-51指令系统,(2)指令系统说明(重点) 在MCS-51汇编指令系统中,约定了一些指令格式描述中的常用符号。 Rn:选定当前寄存器区的寄存器R0R7。 Ri:通过寄存器R0和R1间接寻址RAM单元。为间接寻址前缀符号,i为0或1。 Direct:直接地址,一个内部RAM单元地址或一个特殊功能寄存器。 #data:8位或16位常数,也称立即数

6、。#为立即数前缀符号。 Addr16:16位目的地址,供LCALL和LJMP指令使用。,第3章 MCS-51指令系统,第3章 MCS-51指令系统,(3)指令对标志位的影响 MCS-51指令分两类: 一类指令执行后要影响到PSW中某些标志位的状态,即不论指令执行前标志位状态如何,指令执行时总按标志位的定义形成新的标志状态; 另一类指令执行后不会影响到标志位的状态,原来是什么状态,指令执行后仍然是原来的状态。,第3章 MCS-51指令系统,二、 MCS-51指令系统的寻址方式(重点) 所谓寻址方式,就是寻找操作数所在地址的方式。在这里,地址泛指一个存储单元,或某个寄存器等。 MCS-51单片机采

7、用了7种寻址方式,分别为: 立即寻址; 直接寻址; 寄存器寻址; 寄存器间接寻址; 基址加变址寻址; 相对寻址; 位寻址。,第3章 MCS-51指令系统,1、立即寻址 所谓立即寻址方式,是指在该条指令中给出直接参与操作的常数(称为立即数),立即数有1字节和2字节。操作数前应冠以前缀#号,以便与直接地址相区别。 例如:MOV A,#40H ;40HA 指令的功能是把操作码后面的立即数40H送入A中,执行的过程如图3-1所示。,图3-1 立即寻址(MOV A,#40H)执行过程,第3章 MCS-51指令系统,又如指令:MOV DPTR,#5678H;DPTR5678H 其功能是将16位立即数567

8、8H送入16位寄存器DPTR中,该指令的执行过程如图3-2所示。,图3-2 指令MOV DPTR,#5678H执行过程,第3章 MCS-51指令系统,2、直接寻址 在指令中直接给出操作数所在存储单元的地址,该地址指出了参与操作的数据所在的字节地址或位地址。 直接寻址方式中操作数存储的空间有三种: 1内部数据存储器的低128个字节单元(00H7FH) 例如:MOV A,70H;(70H)A 指令功能是把内部RAM 70H单元中的内容送入累加器A。 2位地址空间 例如:MOV C,00H;直接位00H内容进位位 3专用功能寄存器 专用功能寄存器只能用直接寻址方式进行访问。例如: MOV IE,#8

9、5H;85H中断允许寄存器IE。IE为专用功能寄存器,其字节地址为0A8H。,直接寻址方式,直接寻址就是操作数直接以单元地址的形式给出。 直接地址以存贮单元形式出现。 例如指令: MOV A, 20H,第3章 MCS-51指令系统,3、寄存器寻址 由指令指出某一个寄存器(R0R7、A、B和DPTR)中的内容作为操作数,这种寻址方式称为寄存器寻址。由于寄存器在CPU内部,所以采用寄存器寻址可以获得较高的运算速度。 例如: MOV A,R0;A(R0) 该指令的功能是将R0中的数据传送到累加器A中。源操作数和目的操作数都采用了寄存器寻址。又如: INC DPTR ;DPTR(DPTR)+1 ADD

10、 R7,#20H ;R7#20H+(R7),第3章 MCS-51指令系统,4、寄存器间接寻址 由指令指出某一个寄存器的内容作为操作数的地址,这种寻址方式称为寄存器间接寻址。寄存器间接寻址只能使用寄存器R0或R1作为地址指针,来寻址内部RAM(00HFFH)中的数据。寄存器间接寻址也适用于访问外部RAM,可使用R0,R1或DPTR作为地址指针。寄存器间接寻址用符号“”表示。,第3章 MCS-51指令系统,4、寄存器间接寻址 例如: MOV A ,R0 ;(R0)A 指令功能是把R0所指出的内部RAM单元中的内容送累加器A。若R0内容为60H,而内部RAM60H单元中的内容是3BH,则指令MOV

11、A,R0的功能是将3BH这个数送到累加器A,如图3-3所示。,图3-3 寄存器间接寻址过程,寄存器间接寻址方式,寄存器间接寻址使用的寄存器为Ri和DPTR,使用时寄存器前面加“标志。即以下形式: MOV A,Ri MOVX A,DPTR 例如:(R1)80H、(80H)=33H,则执行指令MOV A,Ri后,累加器A的内容为33H而不是80H。,寄存器间接寻址是以寄存器中的内容为地址取得操作数的方法。和寄存器寻址相比,寄存器寻址时,寄存器中存放的是操作数,而寄存器间接寻址中时,寄存器中存放的是操作数的地址。,第3章 MCS-51指令系统,5、基址加变址寻址 这种寻址方式用于访问程序存储器中的数

12、据表格。以16位的程序计数器PC(当前值)或数据指针DPTR作为基址寄存器,以8位的累加器A作为变址寄存器,两者作为无符号数相加形成16位的地址。该地址即为参与操作的数据的存储地址。例如: MOVC A,A+DPTR ;把A+DPTR所指程序存 储器单元内容A MOVC A,A+PC;把A+PC所指的程序存储器 单元的内容A A中为无符号数,指令功能是A的内容和DPTR或PC的内容相加得到程序存储器的有效地址,把该存储器单元中的内容送到A。例如: MOVC A,A+PC ;(PC)+(A)A 若(A)=88H,(PC)=801FH,执行后,(80A8H)A。,基址加变址寻址方式,基址加变址寻址

13、就是以DPTR或PC为基址寄存器,以A为变址寄存器,以两者内容相加形成16位地址作为操作数地址。 例如指令: MOVC A,A+DPTR;若(A)=10H,(DPTR)=2000H,则结果如下图,图3-4 变址寻址示意图,第3章 MCS-51指令系统,6、相对寻址 相对寻址是以程序计数器PC的当前值(是指读出该双字节或三字节的跳转指令后,PC指向的下条指令的地址)为基准,加上指令中给出的相对偏移量rel以形成目标地址。所以主要用于实现程序的分支转移。 在跳转指令中,相对偏移量rel给出相对于PC当前值的跳转范围,其值是一个带符号的8位二进制数,取值范围是-128+127,以补码形式置于操作码之

14、后存放。当执行跳转指令时,先取出该指令,PC指向当前值。再把rel的值加到PC上以形成转移的目标地址。 目的地址=源地址+2(相对转移指令字节数)+rel 例如,SJMP 08H ;PCPC+2+08H 若(PC)=2000H,则指令操作示意图如下图所示 。,图3-5 相对寻址示意图,返回,第3章 MCS-51指令系统,7、位寻址 位寻址是将8位二进制数中的某一位作为操作数,在指令中给出的是位地址,一般用bit表示。 MCS-51单片机片内RAM有两个区域可以位寻址:一个是20H2FH的16个单元中的128位,另一个是字节地址能被8整除的特殊功能寄存器,共有211个位地址。 例如: SETB

15、20H ;20H位1 表3-1为MCS-51单片机的七种寻址方式及寻址空间。,第3章 MCS-51指令系统,表3-1 七种寻址方式,例3-1 判断下列指令是否正确,若不正确请指出错误: MOV A,DPTR MOV DPTR,#03H MOV #80H,R7 MOV B,C,解不正确。A是8位寄存器,DPTR为16位寄存器,不匹配。 正确。 不正确。#80H为立即数,不能作为目的地址。 不正确。B为8位字节寄存器,C为1位位累加器,不匹配。,例3-2指出下列每一条指令的寻址方式。 MOV 2FH,#40H MOV A,R0 MOV DPTR,#2020H MOV 45H,P0 MOV A,R1

16、 MOVC A,A+PC JC LOOP,中的源操作数为立即寻址,目的操作数为直接寻址。 中的源操作数为寄存器间接寻址,目的操作数为寄存器寻址。 中的源操作数为16位立即寻址,目的操作数为寄存器寻址。 中的源操作数和目的操作数都是直接寻址。 中的源操作数和目的操作数都为寄存器寻址。 中的源操作数为基址加变址寻址,目的操作数为寄存器寻址。 中的操作数为相对寻址。,3.3 MCS-51指令系统,按指令的功能分类,MCS-51指令系统可分为下面五类: (1)数据传送类指令:28条。 (2)算术运算类指令:24条。 (3)逻辑运算类指令:25条。 (4)位操作类指令:17条。位操作类指令由位处理机执行。 (5)控制转移类指令:17条。,3.3.1数据传送类指令,1以累加器A为目的操作数的指令 汇编指令格式: MOV A,Rn ;(Rn)A M

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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