第三章 MCS-51系列指令系统_第1页
第三章 MCS-51系列指令系统_第2页
第三章 MCS-51系列指令系统_第3页
第三章 MCS-51系列指令系统_第4页
第三章 MCS-51系列指令系统_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

任务一:P1口外接8只LED发光二极管模拟彩灯,第三章MCS-51指令系统,一、学习目标及任务描述,学习目标:通过学习任务一的完成方法,掌握MCS-51单片机的数据传送指令的功能及MCS-51单片机的寻址方式.任务描述:利用P1口外接的8只LED发光二极管模拟彩灯.常见的彩灯模式有:流水式彩灯,追逐式彩灯,累积式彩灯,开幕式与闭幕式彩灯以及将上述模式组合而成的复合式彩灯.大多数的彩灯都是采用单片机控制的,简单的彩灯单片机的控制程序也较为简单,复杂的彩灯单片机控制程序也较为复杂.,二、工作原理:当P1.0-P1.7中的某端口为低电平时,对应的发光二极管亮,为高电平灭.我们只要控制P1口各位的电平状态,就可以控制8只LED的亮与灭.例如使(P1)=01010101B=55H,D7,D5,D3,D14只LED亮,D6,D4,D2,D04只LED灭,从效果上看亮与灭是相间隔的;反之,使(P1)=10101010B=AAH,则另外4只LED亮,若反复以一定时间间隔不断从P1口轮流输出55H和AAH,则P1口上8只LED会呈现流水彩灯的效果.,三、流水式彩灯程序,ORG0000HLOOP:MOVP1,#55H;将立即数55H送P1端口LCALLTIME;调延时子程序TIMEMOVP1,#0AAH;将立即数AAH送P1端口LCALLTIME;调延时子程序TIMESJMPLOOP;转移到LOOPTIME:MOVR6,#200;延时子程序TIMETIME1:MOVR7,#200TIME2:NOPNOPNOPDJNZR7,TIME2DJNZR6,TIME1RETEND,流水式彩灯程序流程图,1、什么是指令的寻址方式,MCS-51单片机指令系统采用了哪几种寻址方式?2、什么是数据传送操作与数据传送指令,MCS-51单片机有哪些数据传递指令?3、指令在CPU内部的执行过程?,四、要解决的问题:,3.1指令系统的基本概念,LP1:MOVER3,#00H;给寄存器R3置MOVDPTR,#LP1;将LP1在存储器的位置付给DPTRcjnea,#20h,LP1,3.1.1指令的基本格式,标号:操作码操作数1,操作数2,操作数3;注释LOOP:MOVR0,#20H;将数据20H送到寄存器R0,操作码目的操作数,源操作数例如:MOVA,#6FH;A=6FH,注意:在8051单片机汇编语言设计中,不区分大小写字母,考虑各部分的功能是什么?,3.1.2MCS-51系列单片机指令系统中的常用符号说明,Rn当前寄存器区的8个工作寄存器R0-R7(n=0-7)。Ri当前寄存器区中可作间接寻址寄存器的2个寄存器R0、R1(i=0,1)。Direct直接地址,即8位的内部RAM或特殊功能寄存器的字节地址。#data包含在指令中的8位立即数。#data16包含在指令中的16位立即数。rel相对转移指令中的偏移量,为8位的带符号补码数。,DPTR数据指针,可用作16位的数据地址寄存器。bit内部RAM或特殊功能寄存器中的直接寻址位。C(或Cy)进位标志位或位处理机中的累加器。addr1111位目的地址addr1616位目的地址间接寻址寄存器前缀,如Ri,A+DPTR(X)X中的内容。(X)由X寻址的单元中的内容。箭头右边的内容被箭头左边的内容所取代。,3.1.3MCS-51系列单片机指令系统的分类,MCS-51机共有111条指令,可表示30多种控制,指令有以下几种:按字节可分成单字节指令49条双字节指令45条三字节指令17条,按指令执行时间可分成单机器周期指令64条双机器周期指令45条四机器周期指令2条按功能可分成数据传送类指令29条算术运算类指令24条位操作类指令12条逻辑运算类指令24条控制转移类指令22条,计算机传送数据,执行算术操作,逻辑操作等等都要涉及到操作数。一条指令的运行,先从操作数所在地址寻找到本指令有关的操作数,然后才能按规定操作运作,这就是寻址。计算机的指令系统各不相同,其相应的寻址方式也不尽相同。MCS-51单片机中的操作数有可能存放的地方有4种:可能存放在指令中;可能存放在某个Reg中;可能存放在片内RAM单元中;可能存放在程序存储单元中。,3.1.4寻址方式,立即寻址是指操作数就跟在操作码后面,这种操作数存放在指令中,可立即参与指令所规定的操作,该操作数称为立即数。为了方便辨识,在它的前面加#号。格式:MOVA,#data其中data:00H-FFH例如:MOVA,#20H;将立即数20H传送到A中如图所示:,MOVA,#20H指令示意图,一、立即寻址,寄存器寻址是指定某一可寻址的寄存器的内容为操作数,即所寻找的操作数在某一个reg内,对选定的8个工作寄存器R7-R0、累加器ACC、通用寄存器B、数据指针DPTR和Cy(布尔处理机的累加器,也编址为一个寄存器)中的数进行操作寻址的方式。一般来说,对于四个工作寄存器组的编码如下:第0组00H-07H第1组08H-0FH第2组10H-17H第3组18H-1FH格式:MOVA,Rn,二、寄存器寻址,功能是?,例如:,INCA;将寄存器A中的内容加1送回累加器A。ADDA,R2;将工作寄存器R2中的内容取出,与累加器A中的内容相加,其和送回累加器A。MOVR3,A;将累加器A中的内容传送到工作寄存器R3。,如果被寻找的操作数在某个REM单元中,写指令时要把存储单元地址写上。存储单元的地址写法有两种。1.直接寻址直接给出操作数所在的存储器地址,供寻址取数或存放的寻址方式称为直接寻址。在MCS-51系列单片机中,可访问三种地址空间:特殊功能寄存器SFR:直接寻址是唯一的访问形式;内部数据RAM128个字节单元;211个位地址空间。格式:MOVA,directdirect范围:00H-7FH,三、RAM寻址,例:MOVA,70H;把70单元内容送入累加器A中,如图3-3所示。,70H,直接地址,34H,MOVA,70H,?H,34H,RAM,2.间接寻址间接寻址又称为寄存器间址,简称间址。间接寻址是将指定寄存器的内容作为该操作数的地址,再从该地址找到操作数的寻址方式。在MCS-51单片机中可用来间接寻址的寄存器有:工作寄存器区的R0、R1,堆栈指针SP和16位的数据指针DPTR,在使用时为了容易辨识,在寄存器前面加来表示。通常用间接地址寄存器的情况如下:,(1)如果访问片内RAM265B或片外低256B(00H-FFH)空间时,可以用R0或R1作为间址寄存器。记作Ri,i=0,1。(2)如果访问片外64KBRAM空间时,可以用DPTR作为间址寄存器。记作DPTR。(3)如果执行PUSH或POP的指令时,可以用SP作为间址寄存器。格式:MOVA,R0;将R0的内容作为地址的存储单元中的内容传送至累加器A中MOVXDPTR,A;将累加器A中的内容传送到外RAMDPTR所示的存储单元中。,基址变址寻址方式用于访问程序存储器。它只能用于读取,不能存放,它主要应用于查表性质的访问。基址变址寻址的概念是将指令中指定的变址寄存器的内容加上基址寄存器的内容形成操作数地址的寻址方式。在该寻址方式中,以程序计数器PC或数据指针DPTR作为基址寄存器,用累加器A作为变址寄存器。,四、程序存储器中数据的寻址,格式:MOVCA,A+DPTR把累加器A的内容与DPTR内容相加得到一个新地址,并通过该地址查表得到的操作数再送入累加器A中;MOVCA,A+PCA为偏移量寄存器,PC为基址寄存器,A中内容为无符号数和PC相加,得到新的操作数地址,并通过该地址所得操作数送入累加器A中。,2000H,50H,7EH,7EH,A(运行前),ROM,2050H,DPTR,A(运行后),+,当操作数在I/O端口中时,其寻址方式也采用间接寻址,所使用的间址寄存器为DPTR(16位)。指令格式:MOVXA,DPTR将片外RAM由DPTR所示的存储单元中的内容传送到累加器A中。,五、I/O端口中数据的寻址,2000H,?H,RAM,2000H,DPTR,A(运行前),A(运行后),7EH,7EH,程序的寻址有绝对寻址和相对寻址两种方法。1.绝对寻址要转移到什么地方,就把这个程序存储器地址直接写在指令中的寻址方法叫做绝对寻址。LJMPADDR16例如:LJMP8100H;把8100H装入PC中。,六、程序的寻址,2.相对寻址相对寻址是将给定的相对位移量rel与当前的PC值相加所得到真正的程序转移地址。它与变址方式不同,相对位移rel是一个带符号的八位二进制数,必须用补码形式表示,其变化范围为-128-+127。该寻址方式常用于相对跳转指令。格式:JCrel该指令是相对于当前PC值进行位移量为rel的短跳转。假设该指令存放于3000H起始的单元,rel=08H。由于JC为双字节指令,故PC当前值为3000H+2=3002H,在加上位移量rel,得到转移的目标地址为3002+rel=300AH,所以执行完该条指令后,程序就跳转

温馨提示

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

评论

0/150

提交评论