第5章 MCS51汇编语言程序设计课件.pptVIP

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

第5章 MCS-51汇编语言程序设计;本章主要内容;5.1 概述;5.2 伪指令;MCS-51系列单片机的常用伪指令;(1) 定位伪指令 ORG 格式: ORG 16位地址 功能: 规定程序块或数据块存放的起始地址。 如: ORG 8000H START: MOV A, #30H 规定“MOV A, #30H”指令从地址8000H单元开始存放,即标号START的值为8000H;(2)汇编结束伪指令 END;(3) 赋值伪指令 EQU;(4) 定义字节数据伪指令 DB;(5) 定义字数据伪指令 DW;(6) 定义空间伪指令 DS;(7)位定义指令 BIT;5.3 汇编语言程序设计概述;常用流程图中的符号包括: (1)起始框,形状为 ,用来表示过程的开始和结束。 (2)处理框,形状为 ,用来表示某种处理和运算。 (3)判断框,形状为 ,用来判断并测试某条件是否满足。 (4)流程线,形状为 ,用来表示流程图的路径和方向。 (5)换页连接点,形状为О ,当流程图在一页上画不完时,为了确保流程的完整准确,在相应的连接处画上相同的符号,以表示流程图从这里向页外某个地方(出口点)或从本页流程图外某一个地方流入这里(入口点)。;MCS-51汇编语言源程序的一般结构;START: …… ;主程序开始 …… LCALL SUB1 LCALL SUB2 …… LJMP START ;循环执行主程序或者暂停 SUB1: …… ;子程序SUB1 …… RET SUB2: …… ;子程序SUB2 …… RET INT_0: …… ;中断服务程序INT_0 …… RETI TAB: DB …, …, … ;定义数据表 DB …, …, … END ;汇编结束 ; 5.4 顺序结构;(3)编写源程序 参考程序: ORG 1000H MOV A,22H ;A←(22H) ADD A,32H;A←(22H)+(32H) DA A ;BCD码调整 MOV 42H,A ;存结果低位 MOV A,23H ;A←(23H) ADDC A,33H ;A←(23H)+(33H)+CY DA A ;BCD码调整 MOV 43H,A ;结果存高位 SJMP $ END ;汇编结束 ;【例】 双字节变补程序(设数据在R4R5中)。 请分析解决步骤,画出程序流图。 参考程序: MOV A,R5 ;取低字节 CPL A ADD A,#01H ;低字节变补 MOV R5,A MOV A, R4 ;取高字节 CPL A ADDC A,#00H ;高字节变补 MOV R4,A ;5.5 分支结构;分支程序结构图;?1、单分支程序 使用条件判断实现程序单分支的指令有: (1)字节状态判断:JZ、JNZ、CJNE和DJNZ。 (2)位状态判断:JC、JNC、JB、JNB和JBC。 使用这些指令,可以完成对0、正负、大小、溢出、状态等各种条件判断。;【例】假设有两个数在内部RAM 单元的40H 和41H 中,现在要求找出其中较大的一个数,并将较大的数存入40H 中,而将较小的一个数存入41H 中。 分析:根据程序的要求,画出程序的流程图如右图所示,编写程序如下:;【例】设40H单元存放的是一有符号数,求它的绝对值存到41H单元。 分析:有符号数的最高位是符号位,如果符号位是1,则是负数,取反加一可以得到绝对值;如果符号位是0,则是正数,保持不变。;2、多分支程序  多分支又称散转程序,在单片机应用程序开发中经常会遇到程序多分支散转情况,所以散转程序设计技术是开发者需要掌握的。 (1)多次使用条件转移,以转向不同的分支入口 ;【例】求符号函数Y=SGN(X)。      +1 (当 X0) SGN(X)= 0 (当 X=0)      -1 (当 X0) 分析:程序流程图如右 ?参考程序: SYMB: MOV A,40H ;取X JZ STOR ;A=0转stor JB ACC.7,MINUS MOV A,#01H ;X>0,Y=+1 SJMP STOR MINUS:MOV A,#0FFH ;X<0,Y= -1 STOR: MOV 41H, A ;保存Y RET ;【例】某温度控制系统,采集的温度值(Ta)放在累加器A中。此外,在内部RAM30H单元存放控制温度下限值(Tmin),在31H单元存放控制温度上限值

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档