MCS-51单片机的指令系统ppt课件_第1页
MCS-51单片机的指令系统ppt课件_第2页
MCS-51单片机的指令系统ppt课件_第3页
MCS-51单片机的指令系统ppt课件_第4页
MCS-51单片机的指令系统ppt课件_第5页
已阅读5页,还剩196页未读 继续免费阅读

下载本文档

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

文档简介

选择,第1、2章MCS-51单片机命令系统和计时,本章内容:命令格式;命令的功能命令执行时包含的操作;命令的长度,执行时间。选择,2,本章目录:2.0冲击器,时钟电路和CPU的定时2.1命令系统概述2.2寻址方法2.3数据传输命令2.4逻辑运算和移位命令2.5控制传输和移位操作命令2.6位操作命令2.7汇编语言配置和伪命令,选择,3,MCS-51内部高增益逆相、xtal1、xtal2、机器周期;指示周期。返回、选择、5、时钟周期t:由外部确定或外部输入时钟确定的计时的最小时间单位。其值是石英振荡器频率fosc的倒数。例如,如果:在单芯片外部连接12MH的晶体,则单芯片微型计算机的系统时钟频率为12M,时钟周期为1/12s。、t、选择、6、机器周期:是完成特定功能所需的时间。机器周期由12个时钟周期组成,为了便于说明,分为6个状态(S1-S6),每个状态分为P1和P2两个位。两者:S1 P1、S1、S1、s22、s31、s3p 2.s6p1,s6p2时间图中描述时间参数的排序方法,、T、S2、S6、S5、S4在MCS-51系统中,每个命令包含不同的机器循环。分别是:1,单机周期命令。2、双机周期命令;3,4机器周期命令。选择,8,假设:如果使用12M水晶共享器,则机器循环为1/12s 121=1s;两个机器周期为1/12s 122=2s。4个机器周期为1/12s124=4s。可见命令的计算速度与所包含的机器循环数有关。机器周期越少,执行速度越快。(MCS-51单芯片命令为4个机器周期时除外,其他为单周期和双周期命令),可选,9,命令的字节数:MCS-51单字节(占用1个ROM存储单元-1字节);2字节(使用2个ROM存储单元-2字节);3字节命令(使用3个ROM存储单元-3字节)。返回,ROM,ROM,ROM,单字节命令,双字节命令,3字节命令,选择,10,问题:命令的字节数和命令执行时间是什么关系?指令中的字节数越多,执行时间就越长吗?指令的字节数越少,执行速度越快吗?要回答此问题,命令执行定时、选择、11、命令功能:在程序存储ROM中仅使用一个存储单元。在第一有效(S2P1)中,ROM读取命令的操作码,将其发送到命令寄存器IR,然后解码执行。在第二次有效时阻止PC 1,使第二次读数无效。(a)单字节单周期命令计时,机器周期,opcode读取1,读取操作无效,ALE,返回ale信号相当于从ROM中读取命令。因此,CPU可以在一个机器周期中执行两次手指操作。3.对于单字节单周期命令,CPU在解码后封住PC,取消第二个手指(实际命令的后半部分不执行任何操作)。选择、13、命令特征:命令长度为2字节,存储在ROM旁边的2个单元中。要完全执行此类命令,必须在ROM中读取操作码两次。,OP2-2,OP2-1,n 1n,程序ROM,PC,(2)双字节单周期命令定时,返回,选择,14,ALE首次有效时,CPU在ROM的n单元中执行命令第二次有效时,ROM的单元n 1将指令的第二个字节OP2-2发送到IR解码,生成相应的操作,然后在S6P2上完成此指令的执行。S1,S2,S6,S5,S4,S3,机器周期,opcode读取,opcode 2读取,如果:INCDPTRDPTR是两个8位寄存器,则添加1完成步骤2。第一阶段DPL加1,DPL加1,第二阶段DPH加1。课本:见502页附表ii。(3)单字节双循环命令定时、返回、选择,16,在指令周期的第一天删除ROM的操作码op,并在IR解码后将其识别为单字节双循环命令。一边运行此命令,如果接下来的三次事件有效,则切断PC 1,在第二个机器周期的S6P2中完成操作。S1、S2、S6、S5、S4、S3、机器周期1、读取操作码、错误读取、S1、S2、S6、S5、S4、S3、错误读取4、双字节单循环指令;2,1字节双周期指令;5、双字节双周期指令;3,1字节4周期说明;6,3字节双循环指令。返回,选择,18,2.1MCS-51命令系统概述,MCS-51包含111个命令,长度(字节数)和执行时间(命令周期)各不相同。2.1.1命令格式2.1.2命令的三种表示2.1.3命令的字节数2.1.4命令的分类、继续、选择、19,2.1.1命令格式:命令格式:现有命令的结构。opcode、操作数或操作数地址。操作码和操作数(或操作数地址)。例如mova、# 0ff hada、r0、返回、选择、20、指令是标识命令的标记。1,二进制表示法: (以累加器的内容08H为例)0000001b操作码op(加)00100100B操作数DATA(08H)特征:直接存储在程序内存ROM中、由CPU直接识别、执行的命令形式缺点:修改的手动阅读、记忆和调试不容易。2.1.2命令的三种表示法:选择、21,2、十六进制表示法:二进制格式的简化。在少数环境(如00100100 b24 h 0000010000b 08h实验室)中,此表单可以用作输入程序的辅助工具。但是,这种形式的命令格式必须由相应的监视程序翻译为二进制“机器代码”,然后保存在程序内存中并执行。二进制表示法十六进制表示法,选择,22,3,指令的“助记符”方式(“装配格式”):00100100 b24 h 00001000b08 hadda hada,#08H表示英文单词或字母,数字表示指令功能易于阅读、写作和沟通。此“程序集”格式的命令必须“翻译”为二进制格式的“机器代码”,然后才能被CPU识别和执行。程序员首先使用汇编格式编写汇编语言源程序,然后使用汇编程序“编译”为二进制机器代码,传送到微控制器ROM单元,并在CPU上运行。二进制表示的十六进制数取决于程序集格式、返回、选择、23,2.1.3指令中的字节数,以及指令在程序内存ROM中占用的字节数(取决于指令系统中的寻址方式)。分为1字节、2字节和3字节。单字节命令(49个):无操作数,2个操作数。没有操作数:例如,INCDPTR10100011BINCA00000100B 特征:操作数隐含在操作码中。包含操作数寄存器名称的单字节命令,如MOVA,R011101000BMOVA,r 11101001 b特征:寄存器名称是指令的最后3位,以3位代码的形式。,选择,24,双字节命令(46个):分为两个方案。命令包含一个操作数。例如,装配格式:mova,#data机器代码:01110100Bdata或:78H,#data,n,n 1,MOVA,#data,双字节命令还保存程序存储,8位操作数编辑格式:MOVA,直接机器代码:E5H,直接例如:MOVA,20H;RAM20H中的数据为A、n、n 1、mova、direct、8位RAM地址、选择、26、3字节指令(16条):指令的操作数为2字节。MOVDPTR、# data 16100100b、data15-8、data7-0指令分别包含一个字节的操作数和一个字节的操作数地址。Movndirect,# data示例:mov20h、# 0fh、# movdtr、# data 16、movndirect、# data、3字节命令在内存中的存储方式图,选择,如表所示,命令的字节数和命令周期不是等价关系。根据返回、选择、28,2.1.4命令的分类、命令的功能,可以将111命令分为5个主要类别。1、数据传输类命令2、算术运算命令3、逻辑运算和循环移位命令4、控制传输类命令5、位操作命令、选择、29,1、数据传输类命令:数据传输完成。特点: 有8位,16位传输说明。以累加器a为目标的传输是奇偶位PSW。除了影响p以外,其馀传输类命令对PSW没有影响。选择,30,2,算术运算命令:操作数的加、减、乘运算。特征:在大多数情况下,其中一个操作数位于累加器a,结果保留在a,计算结果影响PSW(进位标志、奇偶校验和溢出标志等)。选择、31,3、逻辑操作和循环移位命令:操作数之间的逻辑相加、and、反转和其他操作。【特征】:大多数情况下,一个操作数在a中,结果也在a中。移位命令分为左移、右移和回车和无回车。逻辑类别指令预设不会影响PSW的内容。选择,32,4,控制转移类命令:无条件转移;有条件转移;呼叫和返回。特性:修改程序指针PC的内容,使CPU发送,从而更改程序流。这也是间接修改程序指针PC的唯一说明。选择,33,5,位操作命令:位传输:类似于字节传输,位传输。位置/重置:一个位置或0。位操作:逻辑和,或,逆光。位置控制条件转移:判断某人的状态,满足条件转移。特征:按位操作。准则中涉及的地址是“位地址”。默认情况下,这些命令对PSW的内容没有影响。继续,选择,34,2.2寻址方法,用于在指令的操作数位置表征和查找操作数的方法定义为“寻址方法”。正确的理解和寻址方式是学习和使用命令的关键。MCS-51单片机共使用7种寻址方法。继续,选择,35,1,寄存器寻址2,直接寻址3,即时数字寻址4,寄存器间接寻址5,地址更改寻址;6、相对寻址;7、位寻址。7种寻址方法,选择,36,2.2.1寄存器寻址,命令具有操作数的寄存器Rn (n=0 7) mova,Rn,返回,选择,37(例如mova,R7;寄存器R7的内容在累加器a中为mov 20 h,r0;寄存器R0中的数据以内存20H为单位传输特征:寄存器寻址方法中的命令大部分是单字节命令。寄存器的3位代码与操作码op一起占用一个指令字节。例如,对于mova,r7,R7寄存器,因此rrr=111,现有命令的机器代码为0EFH,11101rrr,OP,寄存器代码111,e8h到EFH,MOVA,R7,rom的字节,选择,romMOVA,direct其中:direct是MOVA,30H8位RAM地址,如。向累加器a、选择、39(例如MOVA、30h)发送RAM30H单位数据:将RAM30H单位内容发送到累加器。其中30H是RAM中操作数的地址。直接寻址的命令长度为2字节或3字节。,n,n 1,30H,累加器a,直接寻址图,选择,40,使用直接寻址时要注意的三个问题:1,命令助记符的direct是以十六进制表示的操作数地址。如果地址在SFR区域内,则还可以用寄存器名称表示指令。例如,建议使用SFR中的寄存器名称,而不是直接地址,因为MOVA,80H使用MOVA,P0可以通过将实际地址80H替换为SFR中寄存器的名称来读取和通信。示例:MOVA、SBUF;串行数据缓冲区数据传输移动,# 00h允许初始化中断寄存器movth1,# 0feh要为计时器1指定初始值,编译时汇编程序必须将寄存器名称直接转换为地址,然后再转换为机器代码。选择,41,2,当直接地址位于操作寄存器区域时,可以使用两种寻址方法进行访问(参见第57页)。例如:MOVA、00H;RAM的00H单位数据累加器AMOVA,R0;操作寄存器R0的内容发送器a使用不同的寻址方法,指令的结构不相同。前者是11100101(0E5H)、0000000(00H)双字节。后一种机器代码是11101000(0E8H)单字节。R0和RAM的00H单位在物理结构中完全相同,因此即使发出不同的命令,结果也是相同的。累加器a:类似于Inca寄存器寻址方式(1字节)。INCACC直接寻址方法(2字节);INC0E0H直接寻址(2字节)。选择,42,3,在指令系统中:字节地址和位地址是完全不同的概念。前者用direct表示,后者用bit表示,但在命

温馨提示

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

最新文档

评论

0/150

提交评论