单片机原理及应用汇编语言程序设计.pptxVIP

单片机原理及应用汇编语言程序设计.pptx

  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文档。上传文档
查看更多
; ; ; ; ; ;DEC R0 DEC R1 MOV A , @ R0 ADDC A , @ R1 ;高字节带进位相加 MOV @ R0 ,A ;存高字节相加结果 MOV 00H ,C ;进位送00H位保存;分支程序可根据要求无条件或条件地改变程序执行流向。编写分支程序主要在于正确使用转移指令。分支程序有:单分支结构、双分支结构、多分支结构(散转) 1 单分支结构 [例5-2] 变量X存放在VAR单元内, 函数值Y存放在FUNC单元中,试 按下式的要求给Y 赋值。;;参考程序: ORG 0000H VAR DATA 30H FUNC DATA 31H MOV A , VAR ;A ← X JZ DONE ;若X=0,则转DONE JNB ACC.7 ,POSI ;若X0,则转POSI MOV A , # 0FFH ;若X0,则Y=-1 LJMP DONE POSI: MOV A , # 01H ;若X0,则Y = 1 DONE: MOV FUNC ,A ;存函数值 SJMP $ END;参考程序: ORG 0000H VAR: DATA 30H FUNC: DATA 31H MOV A , VAR ;A ← X JZ DONE ;若X=0,则转DONE MOV R0 , # 0FFH ;先设X0,R0 = FFH JNB ACC.7 , NEG ;若X0,则转NEG MOV R0 , # 01H ;若X0,R0 = 1 NEG: MOV A , # 01H ;若X0,则Y = 1 DONE: MOV FUNC ,A ;存函数值 SJMP $ END ;例:根据R7的内容,转至对应的分支程序。设R7的内容为0~N,对应的处理程序地址分别为P0~P7 START:MOV DPTR,#TAB MOV A,R7 ADD A,R7 ;R7×2?A MOV R3,A ;暂存R3 MOVC A,@A+DPTR ;取高位地址 XCH A ,R3 INC A MOVC A,@A+DPTR ;取低位地址 MOV DPL,A MOV DPH,R3 ;转移地址送入DPTR CLR A JMP @A+DPTR TAB: DW P0 DW P1 … DW PN;循环程序一般由: 初始化部分 循环体部分--处理部分、修改部分、控制部分 结束部分 其结构一般有两种: 先进入处理部分,再控制循环 至少执行一次循环体 先控制循环,再进入处理部分 循环体是否执行,取决于判断结果。 循环控制的一般方法: 循环次数已知:利用循环次数控制 循环次数未知:利用关键字控制 利用“逻辑尺” :根据“逻辑尺”的内容,进行控制;开始;例:统计数据块的长度 入口条件:内部RAM 30H开始的存储区有若干个数据,最后一个数据为字符FFH,结果存入40H单元。 ORG 0100H MAIN: MOV R1,#30H ;R1作为地址指针 CLR A ;累加器A作为计数器 LOOP: CJNE @R1,#0FFH,NEXT ;与数据FF比较,不 等转移 LJMP JSH1 ;找到结束符号,结束循环 NEXT: INC A ;计数器加1 INC R1 ;指针加l LJMP L00P ;循环;JSHl: INC A ;再加入l个字符 MOV 30H,A ;存结果 END ;例.延时程序(晶振为12M),由于采用12M晶振,机器周期为1μs,DJNZ的指令周期为2,整个程序的执行时间为250×200×2×1μs=100000μs=0.1s

文档评论(0)

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

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

1亿VIP精品文档

相关文档