第四章MCS-51单片机程序设计1重点解析.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3) 循环控制 在循环体内,是用于控制循环的继续与否。 4) 循环结束 通常位于循环体后,是用来存放循环处理的最终结果及恢复各寄存器与工作单元的原始值。 (a)当型循环结构 (b)直到型循环结构 循环结束? 循环体 Y N 初始化 修改循环参数 结束部分 开始 结束 循环结束? 循环体 Y 初始化 修改循环参数 结束部分 开始 N 结束 外循环 中循环 内循环 外循环 内循环 外循环 内循环 内循环 (a)嵌套正确 (b)嵌套正确 (c)交叉不正确 例4.5 多个单字节求和,有10个单字节数据依次放在内部 RAM 60H 单元开始的连续单元中,把结果存入R2(高位),R3(低位)中。 R5-1=0? R2R3=R2R3+@R0 Y R0、R5置初值 R0 R0+1 开始 N 结束 参考程序: ORG 5000H NUM EQU 0AH MOV R0,#60H MOV R5,#NUM ;计数器初值 MOV R2,#00H MOV R3,#00H ;和初值 LOOP: MOV A,R3 ADD A,@R0 MOV R3,A JNC LOOP1 ;无进位转LOOP1 INC R2 LOOP1:INC R0 DJNZ R5,LOOP SJMP $ 查表就是把事先计算或测得的数据按照一定的顺序编制成表格存放在存储器中,然后根据输入的数据,从表格中查出所需的结果。 4、查表程序设计 MOVC A ,@A+DPTR MOVC A ,@A+PC 建议使用 MOVC A , @A+DPTR 采用MOVC A,@A+PC指令查表,步骤可分为: 使用传送指令把所查数据表格的项数送入累加器A。 使用 ADD A,#data指令对A进行修正。 data值由下式确定。 PC+ data=数据表起始地址DTAB 采用查表指令 MOVC A,@A+PC完成查表。 已知R0低4位有一个十六进制数(0~F中的一个),请编写能把它转换成ASCII码并送入R0的程序。 例4.6 ORG 0400H MOV A,R0 ANL A,#0FH ADD A, #03H MOVC A ,@A+PC MOV R0,A SJMP $ ASCTAB: DB ‘0’,’1’,’2’,’3’,’4’ DB ‘5’,’6’,’7’,’8’,’9’ DB ‘A’,’B’,’C’,’D’,’E’,’F’ END 编写子程序时应注意: a) 子程序的第一条指令之前必须有标号; b) 子程序中需要保护现场; c) 主程序和子程序之间的参数传递。 d) 子程序必须用RET结尾。 5、子程序设计 用硬件电路实现 定时器实现 软件延时 定时(或延时)方法: 1) 延时程序 软件延时:利用计算机执行程序耗用的时间来实现延时,又称“延时程序”。 优点: 缺点: 不需另添硬件,且变化灵活。 延时过程中占用CPU,所以不宜设计太长的延时程序。 设计一延时程序,延时时间为1ms。 若MCS-51单片机系统采用12M晶振, 则Tcy=1us 例4.7 DELAY1: MOV R1, #0AH ; 1 DL2: MOV R2, #18H ; 1 DL1: NOP ; 1 NOP ; 1

文档评论(0)

我是兰花草 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档