CH3 MCS-51单片机指令系统-5 单片机优秀教材.pptVIP

CH3 MCS-51单片机指令系统-5 单片机优秀教材.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CH3 MCS-51单片机指令系统-5 单片机优秀教材.ppt

3、子程序返回指令:RET 返回指令是使CPU从子程序返回到主程序的指令 功能:从堆栈中自动弹出断点地址(栈顶两个连续元)→PC PC15~8← ((SP)),SP←(SP)-1 PC7~0← ((SP)),SP←(SP)-1 4、中断返回指令 RETI 该指令除了执行RET指令的操作外,还清除内部相应的中断优先级有效触发器。因此,中断服务程序必须以RETI为结束指令。 功能: 从栈顶两个连续单元弹出断点地址→PC 清除内部相应的中断优先级有效触发器 (四)空操作指令:NOP 操作:(原PC)+1→PC 功能:仅使PC加1,然后继续执行下条指令,无任何其它操作。 0000 0000 作用: 延时程序中产生一个机器周期的延迟 调试程序中用 为单周期、单字节指令 内容提要: §3-4 MCS-51单片机指令系统 3.4.4 控制转移类指令 思考练习题 CH3 MCS-51单片机指令系统及汇编程序设计(5) 3.4.5 位操作指令 3.4.4 控制转移类指令(17条) 控制程序转移指令主要是修改程序计数器PC的内容。大多不影响标志位。 分四类: (一)无条件转移指令(4条) (二)条件转移指令(8条) (三)子程序调用与返回指令(4条) (四)空操作指令(1条) ?1、长转移指令 LJMP addr16 功能: PC ← addr16 0 0 0 0 0 01 0 a15…………a8 a7…………a0 指令格式:三字节 执行过程 addr16→PC (一)无条件转移指令(4条) 程序执行到这条指令一定要转移! 由于addr16是16位,转移的目标地址范围是程序存储器的0000~FFFFH,达64KB。 2、绝对转移指令 AJMP addr11 指令格式:双字节? a10 a9 a8 0 0 0 0 1 a7…………a0 指令中只给出要转移的11位地址 功能: ①(原PC)+2→PC ② PC10~0←addr11 ,(PC15~11)不变 例题:LOOP:AJMP addr11 已知:addr11=001 1111 0000B (1)当LOOP为1030H时,指令存放在1030H和1031H,指令执行后程序转移到? 偏移量rel的含义和计算: rel是8位二进制补码表示的带符号数 范围:-128~+127 0~+127 对应表示:00H~7FH -128~-1对应表示:80H~FFH 目的地址=转移地址=(原PC) + 2 + rel 目的地址=转移地址=(当前PC) + rel rel =目的地址-(当前PC) 例1:LOOP:SJMP rel; 已知:LOOP=2000H, rel=54H 相对寻址过程如图: 正数表示正向 (向前)转移 例2:LOOP:SJMP rel 已知LOOP=2000H,转移目的地址=2000H 计算rel: rel=目的地址-(当前PC) =2000H-2002H=-2H(FEH) 另一种汇编格式: LOOP:SJMP 2000H LOOP: SJMP rel (2000H: SJMP 2000H) 执行过程 负数表示反向 (向后)转移 4、长相对转移指令(又称散转指令) JMP @A+DPTR 单字节指令: 0 1 1 1 0 0 1 1 功能: PC ← (A)+(DPTR) DPTR内容为基址,A的内容作变址(A是8位无符号二进制数)。 只要把DPTR的值固定,而给A赋以不同的值,即可实现程序的多分支转移。可代替众多的判别跳转指令 。 当(A)=0时,转到2000H单元 当(A)=1时,转到2002H单元 例:键盘上有四个操作键,用来控制电机的运转,请编出键盘译码程序。 键功能 键值 处理程序 正转 0 ZZ 反转 1 FZ 快速 2 KS 慢速 3 MS 指令表 指令地址 指令 2000H AJMP ZZ 2002H AJMP FZ 2004H AJMP KS 2006H AJMP MS 当(A)=0时,转2000H单元 当(A)=1时,转2002H单元 MOV DPTR,#2000H ;2000H为基址 MOV A,#NUMB ;取键值 RL A ;完成乘2操作 JMP @A+DPTR ;转操作键处理程序 AJMP ZZ ;转正转程序 AJMP FZ ;转反转程序 AJMP KS ;转快速程序 AJMP MS ;转慢速程序 … … … … 2000H 2002H 2004H 2006H 由于AJMP是两字节指令,在散转前对A的

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档