第4讲51单片机指令系统讲述.ppt

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

第四讲 51单片机指令系统 4.1 8051指令系统概述 4.2 寻址方式 4.3 指令说明 4.3.1 数据传送指令 4.3.2 程序转移指令 4.3.3 算术运算指令 4.3.4 逻辑运算操作 4.3.5 位操作指令 4.3.6 十进制指令 4.4 伪指令 4.5 实用程序设计 4.5.2 顺序结构程序设计 4.5.3 分支程序设计 4.5.4 循环程序 4.5.6 子程序设计 4.5.7 汇编语言程序设计举例 (a) 当型循环结构 (b) 直到型循环结构 循环结束? 循环体 Y N 初始化 修改循环参数 结束部分 开始 结束 循环结束? 循环体 Y 初始化 修改循环参数 结束部分 开始 N 结束 循环结构程序流程图 2. 循环程序设计举例 例:不同存储区域之间的数据传输。 将内部RAM 30H单元开始的内容依次传送到外部RAM 0100H单元开始的区域,直到遇到传送的内容是0为止。 (2) 汇编语言源程序。 ORG 0000H MOV R0, #30H; MOV DPTR, #0100H; TRANS: MOV A, @R0 ;A←(R0) MOVX @DPTR, A ;(DPTR)←A CJNE A, #00H, NEXT SJMP FINISH ;A=0,传送完成 NEXT: INC R0 ;修改地址指针 INC DPTR AJMP TRANS ;继续传送 FINISH: SJMP $ END 3.多重循环结构程序 某些复杂问题或者循环数超过256,则需采用多重循环的程序结构,即循环程序中包含循环程序或一个大循环中包含多个小循环程序,称多重循环程序结构,又称循环嵌套。循环的重数不限,但必须每循环的层次分明,不能有相互交叉! 外循环 中循环 内循环 外循环 内循环 外循环 内循环 内循环 (a)嵌套正确 (b)嵌套正确 (c)交叉不正确 多重循环示意图 范例:延时程序设计(晶振12MHz) DEL: MOV R7, #200 DEL1: MOV R6, #125 DEL2: DJNZ R6, DEL2 ;125×2=250 DJNZ R7, DEL1 ;250×200=50ms RET 精确的计算: (250+1+2)×200 + 1=50.301ms MOV Rn #data 是单机器周期指令DJNZ Rn,rel 是双机器周期指令 子程序作为一个具有独立功能的程序段,编程时需遵循以下原则: 1. 子程序的编程原则 (1) 子程序的第一条指令必须有标号,明确子程序入口地址。 (2) 以返回指令RET结束子程序。 (3) 简明扼要的子程序说明部分。 (4) 较强的通用性和可浮动性,尽可能避免使用具体的内存单元和绝对转移地址等。 (5) 注意保护现场和恢复现场。 ;程序名:BCDBIN ;功能:BCD码转换为二进制数 ;入口参数:要转换的BCD码存在累加器A中 ;出口参数:转换后的二进制数存放在累加器A中 ;占用资源:寄存器B BCDBIN: PUSH B ;保护现场 PUSH PSW PUSH ACC ;暂存A的内容 ANL A, #0F0H ;屏蔽掉低4位 SWAP A ;将A的高4位与低4位交换 MOV B,#10 MUL AB ;乘法指令, MOV B,A ;乘积不会超过256, POP ACC ;取原BCD数 ANL A,#0FH ;屏蔽掉高4位 A

文档评论(0)

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

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

1亿VIP精品文档

相关文档