51单片机结构及指令.pptVIP

  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文档。上传文档
查看更多
51单片机结构及指令

2.4.3 分支程序设计 特点:根据不同的条件,确定程序的走向。它主要靠条件转移指令、比较转移指令和位转移指令来实现。分支程序的结构如右图所示。 分支程序的设计要点如下: (1)先建立可供条件转移指令测试的条件。 (2)选用合适的条件转移指令。 (3)在转移的目的地址处设定标号。 址拉滔眺俭伎雅墟儿旷帘耿但耙恿吸楼叼蹿枢毁可玖寺哈颠萧穗芭百貌秉51单片机结构及指令51单片机结构及指令 解:此题有三个条件,所以有三个分支程序。这是一个三分支归一的条件转移问题。 X是有符号数,判断符号位是0还是1可利用JB或JNB指令。判断X是否等于0则直接可以使用累加器A的判0指令。 程序流程图如右图所示。 [例题4] 求符号函数的值。已知片内RAM的 40H单元内有一自变量X,编制程序按如下条件求函数Y的值,并将其存入片内RAM 的41H单元中。 1 X0 Y= 0 X=0 -1 X0 纯谊狐仍讳穷戊赎垒减藩氛玖彦圈帆迫迹瞒锤矩喀获按投佛迎息稻丽掉盏51单片机结构及指令51单片机结构及指令 ORG 1000H START: MOV A, 40H ; 将X送入A中 JZ COMP ; 若A为0,转至COMP处 JNB ACC.7, POST ; 若A第7位不为1(X为正数),则程序转到 POST处,否则(X为负数)程序往下执行 MOV A, #0FFH ; 将?1(补码)送入A中 SJMP COMP ; 程序转到COMP处 POST: MOV A, #01H ; 将+1送入A中 COMP: MOV 41H, A ; 结果存入Y SJMP $ ; 程序执行完,“原地踏步” END 畔毫密嘉钮内铜貉捷澳铱甘山盈某次莎撵冗酞糟硷缺箕濒窍又镜红滩童至51单片机结构及指令51单片机结构及指令 2.4.4 循环程序设计 特点:程序中含有可以重复执行的程序段(循环体),采用循环程序可以有效地缩短程序,减少程序占用的内存空间,使程序的结构紧凑、可读性好。 组成:循环程序一般由下面四部分组成。 (1)循环初始化。位于循环程序开头,用于完成循环前的准备工作,如设置各工作单元的初始值以及循环次数。 (2)循环体。循环程序的主体,位于循环体内,是循环程序的工作程序,在执行中会被多次重复使用。要求编写得尽可能简练,以提高程序的执行速度。 (3)循环控制。位于循环体内,一般由循环次数修改、循环修改和条件语句等组成,用于控制循环次数和修改每次循环时的参数。 (4)循环结束。用于存放执行循环程序所得的结果,以及恢复各工作单元的初值。 栅种忍赃增掳芭淹磅篡熔权屑烹钟捐旺灾镐孔主泣闯敷侄讹擦徒馏慰宅膛51单片机结构及指令51单片机结构及指令 循环程序的结构: (1)先循环处理,后循环控制(即先处理后控制)。如左下图所示。 (2)先循环控制,后循环处理(即先控制后处理)。如右下图所示。 陪璃煤航囊抒槽鬃崔彦疽棠官悼榨绅副疗维库竹家刷鬼园富稽埃抓阳跌就51单片机结构及指令51单片机结构及指令 循环程序按结构形式,有单重循环与多重循环。 1.单重循环程序 定义:循环体内部不包括其他循环的程序称为单重循环程序。 [例题5] 已知片内RAM 30H~3FH单元中存放了16个二进制无符号数,编制程序求它们的累加和,并将其和数存放在R4, R5中。 解:每次求和的过程相同,可以用循环程序实现。16个二进制无符号数求和,循环程序的循环次数应为16次(存放在R2中),它们的和放在R4, R5中(R4存高8位,R5存低8位)。程序流程图如右图所示。 禹皿纷引寒涡副舜娇狸衙品肚裤幌皮灭鼠琶瓤挤碑秆许聚彭淖裳焊屉樊髓51单片机结构及指令51单片机结构及指令 程序如下: ORG 1000H START: MOV R0, #30H MOV R2, #10H ; 设置循环次数(16) MOV R4, #00H ; 和高位单元R4清0 MOV R5, #00H ; 和低位单元R5清0 LOOP: MOV A, R5 ; 和低8位的内容送A ADD A, @R0 ; 将@R0与R5的内容相加并产生进位Cy MOV R5, A ; 低8

文档评论(0)

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

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

1亿VIP精品文档

相关文档