




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及其应用,主讲:孟庆申 河北师范大学物理学院 电子信息工程系,第四章 MCS-51指令系统,8 控制转移指令,1) 无条件转移指令,A 短跳转指令,AJMP addr11,例 KWR: AJMP addr11 如果addr11=00100000000B,标号KWR地址为1030H,则执行该条指令后,程序转移到(0001000100000000B),即转移到1100H;当KWR为3030H时,执行该条指令后,程序转移到3100H。,本指令可实现2K字节范围内的无条件跳转。,该指令在运行时先将PC+2(得到当前 PC 值),然后将其高 5 位和指令第一字节的高三位以及指令第二字节相结合得
2、到:,(PC15 PC14 PC13 PC12 PC11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0),送入PC形成转跳目的地址。,本指令可实现256字节范围内的无条件跳转。该指令在运行时先将PC+2(得到当前PC值),然后将指令中的有符号的位移量rel加到当前PC上,送入PC形成转跳目的地址。转向的目标地址可以在这条指令前128字节到后127字节之间。,B 相对转移指令,SJMP rel,例 KRD:SJMP PKRD,如果KRD标号值为0100H,即SJMP这条指令的机器码存放于0100H和0101H这两个单元中;标号PKRD值为0123H,即转跳的目标地址为012
3、3H,则指令的第二字节(相对偏移量)应为 rel =0123H-0102H=21H,例 执行指令: LJMP 8100H 执行结果是使程序转移到8100H。,C 长跳转指令,LJMP addr16,这条指令执行时把指令的第二和第三字节分别装入PC的高位字节和低位字节中,即无条件地转向指定地址。,D 基寄存器加变址寄存器间接转移指令,JMP A+DPTR,这条指令的功能是把累加器中 8 位无符号数与数据指针DPTR中的16位数据相加(模 216),结果作为下一条指令地址送入PC,不改变累加器和数据指针内容,也不影响标志位。,PM: MOVR1,A RL A ADD A,R1 MOV DPTR,#
4、PTMB JMP A+DPTR PTMB:LJMP PM0 LJMP PM1 LJMP PM2 LJMP PM3 LJMP PM4 LJMP PM5 LJMP PM6 LJMP PM7,例:如果累加器A中存放等处理命令编号(07),程序存贮器中存放着标号为 PMTB的转移表,则执行下面的程序,将根据A内命令编号转向相应的命令处理 程序:,2)条件转移指令,条件转移指令是依据某种特定条件而转移的指令。条件满足才转移,条件不满足时则顺序执行下面的指令。当满足条件时,把当前PC值与有符号的相对偏移量相加得到转向地址。,A 测试条件符合转移指令,JZ rel ; 如果累加器ACC为0,则执行转移;,J
5、NZ rel ; 如果累加器ACC不为0,则执行转移;,JC rel ; 如果进位标志CY为1,则执行转移;,JNC rel ; 如果进位标志CY为0,则执行转移;,JB bit , rel ;如果直接寻址的位值为1(bit)=1 ,则执行转移;,JNB bit , rel ;如果直接寻址的位值为0(bit)=0 ,则执行转移;,JBC bit , rel ;如果直接寻址的位值为1(bit)=1 ,则执行转移 并清“0”直接寻址位;,B 比较不相等转移指令,CJNE A,direct, rel,CJNE A, #data, rel,CJNE Rn, #data, rel,CJNE Ri, #d
6、ata, rel,这组指令的功能是比较两个操作数的大小。如果值不相等,则转移。,转移地址为:当前PC值加相对偏移量。,注意:如果第一操作数(无符号整数)小于第二操作数,则置位进位标志位于CY;否则,清“0”CY。不影响任何一个操作数的内容。,例 执行下面程序后将根据A的内容大于60H、等于60H、小于60H三种情况做不同处理:,CJNE A,#60H,NEQ ; (A)不等于60H转移,EQ: ; (A)等于60H处理程序,NEQ:JC LOW ; (A)小于60H转移,; (A)大于60H处理程序,LOW: ; (A)小于60H处理程序,这组指令把源操作数减1,结果回送到源操作数中去。如果结
7、果不为“0”,则转移。源操作数有寄存器寻址和直接寻址方式。这组指令允许把内部RAM单元用作程序计数器。,C 减1不为0转移指令,DJNZ Rn, rel,DJNZ direct, rel,例: 延时程序:,START : SETB P1.1 DL: MOV 30H,#03H DL0: MOV 31H,#0F0H DL1: DJNZ 31H, DL1 DJNZ 30H,DL0 CPL P1.1 AJMP DL,本程序的功能是:从P1.1输出一个方波。,3)调用和返回指令,子程序:具有一定功能的公用程序段。,子程序的特点:参数传递和子程序返回。,子程序调用执行过程: 调用子程序时,把下一条指令地址
8、(当前PC值) 保留到堆栈中,堆栈指针SP加2,子程序的起始地址 送PC,CPU转向并执行子程序,当遇到返回指令时, 从堆栈中取出中断处的地址并送回到PC ,于是CPU 又回到主程序继续执行下去。,子程序可以被主程序多次调用。也可以在子程序中再调 用别的子程序(即子程序嵌套)。,A 短调用指令,ACALL addr11,执行这条指令时,把当前PC值(下一条指令的地址)压进堆栈(先进PCL,后进PCH),堆栈指针SP加2。并把当前PC值的高5位和指令第一字节的高三位以及指令第二字节相结合得到:,(PC15 PC14 PC13 PC12 PC11 a10a 9 a 8 a7 a6 a5 a4 a3
9、 a2 a1 a0),即为子程序的起始地址,并送入 PC 转向执行子程序。,结果: (SP)=62H,内部RAM中堆栈区内(61H)=25H,(62H)=01H, (PC)=0345H,例 若(SP)=60H,标号MA值为0123H,子程序SUB位于0345H,则执行指令:,MA:ACALL SUB,B 长调用指令,LCALL addr16,执行本指令时,把当前PC值(下一条指令的地址)压进堆栈(先进PCL,后进PCH),堆栈指针SP加2。接着把指令的第二字节和第三字节(a15a14a13a12a11a10a9a8,a7a6a5a4a3a2a1a0)分别装入PC的高位字节和低位字节,从而转向执
10、行子程序。,例: 若(SP)=60H,标号START值为0100H,标号DIR值为8100H,则执行指令:,START: LCALL DIR,结果为: (SP)=62H,(61H)=03H,(62H)=01H, (PC)=8100H,本指令必须放在子程序的结尾。,C 返回指令, 从子程序返回指令,RET,这条指令的功能是从堆栈中退出被压入的PC值的高字节和低字节,把堆栈指针SP减2,即重新得到子程序调用指令后面的指令地址,继续程序的运行。,例 若(SP)=62H,(62H)=07H,(61H)=30H,则执行 指令: RET,结果: (SP)=60H,(PC)=0730H, CPU从0730H开始执行程序。,MAIN: MOV A, #03H ML: MOV P1, A ACALL DL MXCH: CPL AJMP ML DL: MOV R7, #64H DL1: MOV R6,#00H DL6: DJNZ R6,DL6 DJNZ R7,DL1 RET,例 : 如图所示,在P1.0P1.3分别装有两个红灯和两个绿灯,则下面就是一种红绿灯定时切换的程序:,D 空操作指令 NOP 该
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公益服务协议合同
- 人力资源服务劳务合同
- 劳动合同培训协议
- 高科技企业研发投入合同
- 数据服务合同
- 灯饰采购合同范本
- 课程育人数学课件
- 小升初专题02 汉字
- (6)-小学语文知识(文学、百科)集锦
- 2025年项目安全合同模板
- 施工合同中约定的安全防护、文明施工措施费用支付计划
- 太原市2025年高三年级模拟考试语文试题及答案
- 青岛版(2017)小学四年级科学下册4.14《不同环境中的植物》课件
- 直击重点的2024年ESG考试试题与答案
- 2025年安阳职业技术学院单招职业倾向性测试题库带答案
- 2025年审计监察面试题及答案
- 2025年河南应用技术职业学院单招职业技能测试题库完美版
- nginx面试题及答案100道
- 综合与实践+白昼时长规律的探究教案+2024-2025学年人教版数学七年级下册
- 非营利组织离任审计报告范文
- 家电行业品质部门的质量提升职责
评论
0/150
提交评论