大学单片机原理及其接口技术课程指令系统

上传人:乐*** 文档编号:116002952 上传时间:2019-11-15 格式:PPT 页数:132 大小:2.19MB
返回 下载 相关 举报
大学单片机原理及其接口技术课程指令系统_第1页
第1页 / 共132页
大学单片机原理及其接口技术课程指令系统_第2页
第2页 / 共132页
大学单片机原理及其接口技术课程指令系统_第3页
第3页 / 共132页
大学单片机原理及其接口技术课程指令系统_第4页
第4页 / 共132页
大学单片机原理及其接口技术课程指令系统_第5页
第5页 / 共132页
点击查看更多>>
资源描述

《大学单片机原理及其接口技术课程指令系统》由会员分享,可在线阅读,更多相关《大学单片机原理及其接口技术课程指令系统(132页珍藏版)》请在金锄头文库上搜索。

1、第3章:51单片机指令系统本章基本要求:指令的概念51-单片机的寻址方式51-单片机指令系统一台计算机所能执行的全部的指令集合3.13.1指令系统概述指令系统概述指令是计算机中具有特定功能的操作命令程序与程序设计按预定要求编排的指令序列称为程序。编排的过程称为程序设计指令系统设计一种CPU,一般从设计指令系统开始因而,一种机器的指令系统是机器本身固有的决定了机器的性能用户无法改变,必须继承、学习、掌握、应用机器语言:二进制代码,是机器唯一能直接识别、执行的语言。汇编语言:为了记忆和阅读方便,制造商对指令系统每一条指令,都给出了指令助记符。用助记符,操作数,标号编写的程序称为汇编语言源程序。一、

2、汇编语言汇编语言必须翻译成机器语言才能被机器执行程序设计语言汇编语言:高级语言:符号语言:完成由汇编语言到机器代码的过程叫汇编汇编的方法有两种:自动汇编、手工汇编由机器代码到汇编语言的过程叫反汇编汇编语言源程序机器语言汇编反汇编交叉汇编二、汇编语言的格式标号:操作码操作数;注释其中除操作码部分是必须的括号内的区段是任选项。1、标号标号是该指令的符号地址,可根据需要设定必须以字母开始,以“:”结束,长度不超过8个字符系统中的保留字符不能作标号如:SFR名、ADD等标号可被其他语句的操作数直接引用源程序中一个标号只能定义一个语句不能相重名字保持一义性一个汇编语句分为四个区段操作码操作码操作码2、操

3、作码由指令系统的助记符、伪指令助记符组成。操作码是每一句汇编语言所必须的操作码和操作数之间用空格分开3、操作数可为二进制数(B)十进制数(D)十六进制数(H)数字大于9,则数字应以“0”开头可以是操作数地址、立即数、标号、表达式如M+3目的操作数和源操作数之间用“”分开可以是寄存器名如A、B、R、DPTRM标号被定义过的BinaryDecimalHexadecimal指出该语句的操作性质4、注释以“”开头,是程序员对指令操作的解释,以帮助阅读、理解程序的意义可有可无汇编时对这部分不予处理,不译成任何机器代码可用英语或某种简洁的方式解释指令,或打印程序清单3.1概述3.1.1指令格式指令由操作码

4、和操作数两部分组成。操作码:描述指令的功能。操作数:描述指令操作的对象,这个对象有时用直接数据,有时用操作数的地址来给出。有些指令是单操作数。有些指令是双操作数,取名为源操作数和目的操作数。操作码操作数或操作数地址3.1概述3.1.2指令的三种表示形式三种形式为:二进制形式、十六进制形式、助记符形式。二进制形式:可以直接为CPU识别和执行的形式。十六进制形式:为二进制形式的压缩形式。助记符形式:也叫汇编语句形式,是用英文缩写描述指令功能的形式。其特点是:便于记忆和使用,在执行时必须翻译成二进制形式。3.1概述3.1.3指令的长度51单片机的指令(111条)分为单字节、双字节、三字节三种长度。1

5、、单字节指令:有49条,可进一步分为无操作数、有操作数两种。2、双字节指令:有46条,前一字节存放操作码,后一字节存放操作数。3、三字节指令:有16条,前一字节存放操作码,后两字节存放操作数。一般讲,指令长度越短,执行速度越快。3.1概述3.1.4指令的分类通常,指令是按照功能来分类的。1、数据传送指令:28条,用于片内RAM之间、片内RAM与片外RAM之间进行数据传送。传送时区分源操作数和目的操作数的不同。2、算术运算指令:24条,用于对两个操作数进行加、减、乘、除运算。该指令的一个操作数,一般放在累加器A中。3、逻辑操作和移位指令:25条,用于对指定操作数进行逻辑运算和移位运算。3.1概述

6、4、控制转移指令:17条,用于控制程序的流程和执行的方向。其操作是以改变PC的值来实现。5、位操作指令:17条,也叫布尔操作指令。分为位传送、位置位、位复位、位运算、位控制转移等等。这类指令的操作数是以位为对象。3.1概述3.1.5指令系统综述指令系统:某种CPU的指令的集合。他与CPU的硬件电路密切相关,学习指令时必须注意到这一背景。不同的CPU具有不同的指令系统。掌握指令的三要素:指令功能、指令状态、指令长度。1、指令系统中常用符号(附录C):Rn:工作寄存器,可以是R0R7之一。#data:8位立即数,是00HFFH之一。3.1概述#data16:16位立即数,是0000HFFFFH之一

7、。direct:8位直接地址,是00HFFH之一,也可以是SFR中的一个,对于SFR可直接用其名称来代替其直接地址。Ri:表示寄存器间接寻址。DPTR:使用16位DPTR间接寻址,用于对外部RAMROM寻址。bit:位地址addr1116:1116位目标地址。rel:8位带符号地址偏移量。$:当前指令地址。3.1概述2、指令对标志位的影响:指令系统中的算术类指令,位移类指令、逻辑运算类指令等的运算会对标志寄存器PSW中的某些位有影响。这些对标志位的影响是这类指令的重要特征,也是使用条件转移指令的依据。需要仔细掌握应用。3.2寻址方式所谓寻址方式:是指指令寻找操作数的方法。51单片机有7种寻址方

8、式:寄存器寻址、直接寻址、立即寻址、寄存器间接寻址、寄存器变址寻址、相对寻址、位寻址。3.2MCS-513.2MCS-51指令的寻址方式指令的寻址方式用何种方式寻找指令的操作数或指令的执行地址1、立即寻址寻址空间:指令形式:操作码立即数v程序存储器v指令的操作数存放在程序存储器中v操作数紧跟操作码后面立即寻址:在哪里用何种方式寻找OP#data指令的寻址方式:指令的寻址方式:MOVA,#30H;A#30H例1:操作码立即数PCPCPC74H30HROMA30HMOVDPTR,#8000H;DPTR#8000H例2:操作码PCPCPC立即数的高8位立即数的低8位DPHDPLPC80H00H90H

9、80HROM00H2、直接寻址寻址空间:指令的三种形式:操作码操作数地址v在指令中直接给出操作数的真实地址v操作码后面紧跟一个实际操作数地址操作码操作数地址立即数操作码源操作数地址目的操作数地址内RAM的低128字节特殊功能寄存器SFR区直接寻址直接寻址是访问SFR的唯一方法00H7FH80HFFHCPU内部直接间接“与”MOVA,30H;A(30H)例1:操作码操作数地址PCPCPC74H30HROMA内RAM30HANL30H,#30H;30H(30H)#30H例2:操作码PCPCPC直接地址立即数PC53H30HROM30H内RAM30HALU“结果”3、寄存器寻址寻址空间:指令的三种形

10、式:操作码当前选定的寄存器内容就是实际操作数操作码立即数操作码直接地址R0R7,由RS0、RS1确定寄存器区4A、B、CY(位),DPTR、ABMOVA,R3;A(R3)例1:ADDA,R3;A(A)+(R3)例2:寄存器寻址:操作数隐含操作数显然4、寄存器间接寻址寻址空间:指令的三种形式:操作码操作码立即数操作码直接地址内部RAM(R0R1SP)外部RAM(R0R1,DPTR)寄存器间接寻址:指令选定的寄存器内容就是实际的操作数地址MOVR0,A例1:操作码PCPCF6HROMR030H;累加器传送指令内RAM30HAMOVXA,DPTR例2:操作码PCPCE0HROMDPTR2000H外R

11、AM2000HA“读”RD“读”5、基址寄存器加变址寄存器间接寻址基址寄存器加变址寄存器间接寻址:以DPTR或PC作基址寄存器,A作变址寄存器两者相加形成操作数地址。寻址空间:程序存储器(A+DPTR、A+PC)指令形式:操作码MOVCA,A+DPTR例:操作码PCPCDPTR2400HA0FH93HROM240FH设(A)=0FH(DPTR)=2400HALU“读”PSEN“读”MOVCA,A+DPTR6、相对寻址程序存储器寻址空间:指令的三种形式:操作码rel操作码直接地址rel操作码立即数rel相对寻址以当前PC值为基准地址,加上指令的偏移量“rel”,结果为目标地址。rel为有符号补码

12、数,范围:-128+127一般为双字节或三字节指令寻址指令执行地址目标地址JNZrel例:累加器A不等零则转移设:rel=23H2025H2002H2001H2000HROM70H23H下一条指令.操作码PCPCPC(PC)=2002Hrel=23H修正后转移目标地址D(PC)=2025HPCALU偏移量(PC)=2002HRel=23H)005202HD=2025H2112H2111H2110HROMDFHF2H下一条指令.操作码PCPCPC(PC)=2112Hrel=F2H修正后转移目标地址D(PC)=2104HALU偏移量例:DJNZR7,rel;(R7)1不为“0”则转PC2104H指

13、令(PC)=2112HRel=F2H)FF4012HD=7、位寻址寻址空间:片内RAM的20H2FH字节地址位地址:00H7FH共128位SFR中12个能被8整除的字节地址位地址共93位以访问触发器的方式,对内部RAM、SFR的位地址空间进行访问,称为位寻址。位地址用于布尔指令。共221位寻址方式与相应的寻址空间小结:寄存器R0R7,A,BCY,DPTR片内内RAM的低128字节特殊功能寄存器SFR直接寻址direct寄存器间址R0R1SPR0R1DPTR片内RAM、片外RAM与IO口立即数#data程序存储器程序存储器基址加变址A+DPTR,A+PC程序存储器相对寻址PC+rel位寻址片内R

14、AM20H2FH部分SFRbit利用的变量使用的空间方式3.3数据传送指令数据传送类指令共29条它是指令系统中最活跃、使用最多的一类指令。这类指令的操作是把源操作数传送到目的操作数即指令执行后目的操作数改为源操作数而源操作数保持不变。若要求在进行数据传送时不丢失目的操作数则可以用交换型传送指令。数据传送类指令不影响进位标志CY、半进位标志AC和溢出标志OV但当传送或交换数据后影响累加器A的值时奇偶标志P的值则按A的值重新设定。数据传送类(29条)用到的指令助记符有5种:片内传送MOV片外传送MOVX查表传送MOVC累加器交换XCH、XCHD、SWAP堆栈操作PUSH、POP1、MOV类传送指令

15、格式:MOV目的字节,源字节功能:把源字节内容送目的字节,源字节内容不变以累加器A为目的字节的传送:立即数送累加器MOVA,#data74H立即数机器码;立即数#data送累加器A双字节指令,机器码的第一字节为74H,第二字节为立即数寄存器内容送累加器MOVA,Rn(n=07)单字节指令,机器码相应为E8H、E9H、EFH工作寄存器组的选择由状态字中的RS0、RS1确定内RAM或SFR内容送累加器E8HEFH机器码MOVA,direct双字节指令,机器码的第一字节为E5H,第二字节为直接寻址字节的直接地址E5H直接地址机器码;Rn的内容送累加器A;以direct为地址的单元的内容送累加器A内R

16、AM内容送累加器MOVA,Ri(i=0、1)单字节指令,机器码相应为E6H、E7H;以Ri内容为地址单元中的数送累加器AE6HE7H机器码以Rn为目的字节的传送:立即数送寄存器MOVRn,#data(n=07)78H7FH立即数机器码;立即数#data送累加器Rn双字节指令,机器码的第一字节为78H7FH第二字节为立即数累加器内容送寄存器RnMOVRn,A(n=07);累加器A的内容送Rn单字节指令,机器码相应为F8HFFHF8HFFH机器码内RAM或SFR内容送寄存器RnMOVRn,direct(n=07)双字节指令A8HAFH直接地址机器码;以direct为地址的单元的内容送寄存器Rn立即数送内RAM或SFRMOVdirect,#data;立即数#data送以direct为

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

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

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