资源描述:
《《片机课件》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单片机原理及其应用主讲:孟庆申河北师范大学物理学院电子信息工程系第四章MCS-51指令系统8控制转移指令1)无条件转移指令A短跳转指令AJMPaddr11a10a9a800001a7a6a5a4a3a2a1a0例KWR:AJMPaddr11如果addr11=00100000000B,标号KWR地址为1030H,则执行该条指令后,程序转移到(0001000100000000B),即转移到1100H;当KWR为3030H时,执行该条指令后,程序转移到3100H。本指令可实现2K字节范围内的无条件跳转。该指令
2、在运行时先将PC+2(得到当前PC值),然后将其高5位和指令第一字节的高三位以及指令第二字节相结合得到:(PC15PC14PC13PC12PC11a10a9a8a7a6a5a4a3a2a1a0)送入PC形成转跳目的地址。本指令可实现256字节范围内的无条件跳转。该指令在运行时先将PC+2(得到当前PC值),然后将指令中的有符号的位移量rel加到当前PC上,送入PC形成转跳目的地址。转向的目标地址可以在这条指令前128字节到后127字节之间。10000000相对地址relB相对转移指令SJMPrel例KR
3、D:SJMPPKRD如果KRD标号值为0100H,即SJMP这条指令的机器码存放于0100H和0101H这两个单元中;标号PKRD值为0123H,即转跳的目标地址为0123H,则指令的第二字节(相对偏移量)应为rel=0123H-0102H=21H例执行指令:LJMP8100H执行结果是使程序转移到8100H。00000010a15a14a13a12a11a10a9a8a7a6a5a4a3a2a1a0C长跳转指令LJMPaddr16这条指令执行时把指令的第二和第三字节分别装入PC的高位字节和低位字节中,
4、即无条件地转向指定地址。D基寄存器加变址寄存器间接转移指令JMP@A+DPTR这条指令的功能是把累加器中8位无符号数与数据指针DPTR中的16位数据相加(模216),结果作为下一条指令地址送入PC,不改变累加器和数据指针内容,也不影响标志位。PM:MOV R1,ARLAADDA,R1MOVDPTR,#PTMBJMP@A+DPTRPTMB:LJMPPM0LJMPPM1LJMPPM2LJMPPM3LJMPPM4LJMPPM5LJMPPM6LJMPPM7例:如果累加器A中存放等处理命令编号(0~7),程序存贮
5、器中存放着标号为PMTB的转移表,则执行下面的程序,将根据A内命令编号转向相应的命令处理程序:PTMBPTMB+1PTMB+2PTMB+3PTMB+4LJMPPM0PTMB+21PTMB+22PTMB+23…………LJMPLJMPLJMPPM1PM2PM72)条件转移指令条件转移指令是依据某种特定条件而转移的指令。条件满足才转移,条件不满足时则顺序执行下面的指令。当满足条件时,把当前PC值与有符号的相对偏移量相加得到转向地址。A测试条件符合转移指令JZrel;如果累加器ACC为0,则执行转移;JNZre
6、l;如果累加器ACC不为0,则执行转移;JCrel;如果进位标志CY为1,则执行转移;JNCrel;如果进位标志CY为0,则执行转移;JBbit,rel;如果直接寻址的位值为1(bit)=1,则执行转移;JNBbit,rel;如果直接寻址的位值为0(bit)=0,则执行转移;JBCbit,rel;如果直接寻址的位值为1(bit)=1,则执行转移并清“0”直接寻址位;B比较不相等转移指令CJNEA,direct,relCJNEA,#data,relCJNERn,#data,relCJNE@Ri,#data
7、,rel这组指令的功能是比较两个操作数的大小。如果值不相等,则转移。转移地址为:当前PC值加相对偏移量。注意:如果第一操作数(无符号整数)小于第二操作数,则置位进位标志位于CY;否则,清“0”CY。不影响任何一个操作数的内容。……例执行下面程序后将根据A的内容大于60H、等于60H、小于60H三种情况做不同处理:CJNEA,#60H,NEQ;(A)不等于60H转移EQ:…;(A)等于60H处理程序NEQ:JCLOW;(A)小于60H转移;(A)大于60H处理程序LOW:…;(A)小于60H处理程序这组指
8、令把源操作数减1,结果回送到源操作数中去。如果结果不为“0”,则转移。源操作数有寄存器寻址和直接寻址方式。这组指令允许把内部RAM单元用作程序计数器。C减1不为0转移指令DJNZRn,relDJNZdirect,rel例:延时程序:START:SETBP1.1DL:MOV30H,#03HDL0:MOV31H,#0F0HDL1:DJNZ31H,DL1DJNZ30H,DL0CPLP1.1AJMPDL本程序的功能是:从P1.1输出一个方波。3)调