单片机原理及接口技术-第3章课件.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及接口技术-第3章课件

数制转换 2.相对转移指令 SJMP rel 无条件跳转指令,实现的程序转移是双向的。 编写程序时,直接写上要转向的目标地址标号就可以。例如: LOOP: MOV A,R6 ? ┇ ? SJMP LOOP ┇ 程序在汇编时,由汇编程序自动计算和填入偏移量。 若超过–128或+127 ,进行汇编时,会提示SJMP LOOP 这条指令“目标越界”。 3.4 AT89C51指令系统分类介绍 3.4.4 控制转移类指令 标号 3.长跳转指令 LJMP addr16 功能:指令执行时把指令的第二和第三字节分别装入PC的高位和低位字节中,无条件地转向addr16指出的目标地址。 目标地址可以在64K程序存储器地址空间的任何位置。 在编写程序时,直接写上要转向的目标地址标号就可以。程序在汇编时,由汇编程序自动计算和填入目标地址,不存在“目标越界”的问题。因此最常用。 编写的程序汇编时若出现 SJMP LOOP指令或AJMP LOOP指令 “目标越界”的问题,只需改为LJMP LOOP 就可以了。 3.4 AT89C51指令系统分类介绍 3.4.4 控制转移类指令 4.间接跳转指令 JMP @A+DPTR 功能:转移到由A中8位无符号数与DPTR的16位数内容之和来确定的目标地址。 3.4 AT89C51指令系统分类介绍 3.4.4 控制转移类指令 这是以DPTR内容作为基址,A的内容作变址。 给A赋予不同的值,即可实现程序的多分支转移。所以又称散转指令。 散转 (A)=1 (A)= n 5.条件转移指令 规定的条件满足,则进行转移,条件不满足则顺序执行下一条指令。 JZ rel ;如果累加器A为“0”,则转移 JNZ rel ;如果累加器A非“0”,则转移 3.4 AT89C51指令系统分类介绍 3.4.4 控制转移类指令 6.比较不相等转移指令 CJNE A,direct,rel CJNE A,#data,rel CJNE Rn,#data,rel CJNE @Ri,#data,rel 功能:比较前面两个操作数的大小,如果它们的值不相等则转移,相等则顺序执行。 注意:如果第一操作数(无符号整数)小于第二操作数(无符号整数),则置“1”Cy,否则清“0”Cy。 3.4 AT89C51指令系统分类介绍 3.4.4 控制转移类指令 比较不相等转移指令应用 功能:比较两个操作数的大小,如果它们的值不相等则转移。 注意:如果第一操作数小于第二操作数,则置“1”Cy,否则清“0”Cy。 例:已知内部RAM中30H、31H单元都是一字节的无符号数,编写一段程序,比较这两个数的大小,并将较大的数放入32H单元。 MOV A,30H ;取第一操作数 CJNE A,31H,NEXT2 ;比较 NEXT1: SJMP NEXT3 NEXT2: JNC NEXT3 ;第一操作数大于第二操作数转 MOV A,31H NEXT3: MOV 32H,A ; RET 3.4 AT89C51指令系统分类介绍 3.4.4 控制转移类指令 7.减1不为0转移指令 这是一组把减1与条件转移两种功能结合在一起的指令。 DJNZ Rn,rel ;n=0~7 DJNZ direct,rel 功能:将源操作数(Rn或direct)减1,结果回送到Rn寄存器或direct中去。如果结果不为0则转移。 本指令主要用于控制程序循环。如预先把寄存器Rn装入循环次数,利用本指令,以减1后是否为“0”作为转移条件,即可实现按次数控制循环。 3.4 AT89C51指令系统分类介绍 3.4.4 控制转移类指令 减1不为0转移指令应用 功能:将源操作数(Rn或direct)减1,结果回送到Rn寄存器或direct 中去。如果结果不为0则转移。本指令主要用于控制程序循环。 例:编写一段程序,把内部RAM中30H~37H单元清0。 MOV R0,#30H ;数据指针R0指示30H MOV R7,#08H ;共8个单元 MOV A,#0 LOOP: MOV @R0,A ;清0 INC R0 ;数据指针R0下移 DJNZ R7,LOOP ;8个单元没有做完继续 RET 3.4 AT89C51指令系统分类介绍 3.4.4 控制转移类指令 循环准备 循环体 8.查表指令 (2) MOVC A,@A+DPTR ; ((A)+(DPTR)) →A

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档