单片机应用技术 教学课件 作者 廖世海 吴政江 第3章 汇编语言程序设计.PPTVIP

单片机应用技术 教学课件 作者 廖世海 吴政江 第3章 汇编语言程序设计.PPT

  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文档。上传文档
查看更多
第3章 汇编语言程序设计 第3章 汇编语言程序设计 3.1 计算机语言概述 3.2 汇编语言程序设计基础  3.3 汇编语言程序设计  3.4 汇编语言程序举例 3.5基本技能训练——编程使P1.7输出1kHz的方波 3.1 计算机语言概述 3.1.1 机器语言 机器语言是直接用二进制代码“0”和“1”来表达计算机程序的指令和数据的原始语言,是早期为计算机编程使用的语言,是一种低级语言。 特点: 被计算机直接识别,能直接运行。 缺点: 机器语言书写不便,而且难以记忆。 3.1.2 汇编语言 汇编语言是一种用缩写的英文词符号或数字符号代替机器的二进制指令进行编写的程序设计语言,也是面向机器的低级语言。汇编语言书写的指令与机器语言书写的指令是一一对应的。 特点: 记忆方便,不能直接运行,面向机器的,属于低级语言。 缺点: 不同厂家的MCU,指令系统不同,通用性不强,对程序员有较高的要求。 3.1.3 高级语言 高级语言是一种语法和结构更类似普通英文、独立于计算机硬件结构的通用的程序设计语言,比如C、C++、VB、PASCAL语言等。 3.2 汇编语言程序设计基础 3.2.1 汇编语言格式 MCS-51单片机的汇编语言的指令语句由4个部分组成,分别是标号、操作码、操作数和注释。在书写时,各部分严格用定界符加以分隔。其格式为: [标号(名字):]操作码(助记符) 操作数(参数) [;注释] 子程序在编写和调用时应注意以下几点: (1)子程序结构要独立 (2)现场保护和现场恢复 现场保护和现场恢复一般是通过堆栈操作指令来完成的。 例如,以下子程序就是通过堆栈操作指令来完成现场保护和现场恢复的。 LP1: PUSH ACC ;LP1为子程序的入口地址, 将A的值压入堆栈进行保护 PUSH PSW ;将PSW的值压入堆栈进行保护 PUSH B ;将B的值压入堆栈进行保护 ┇ POP B ;从堆栈中弹出B并恢复B的值 POP PSW ;从堆栈中弹出PSW并恢复PSW的值 POP ACC ;从堆栈中弹出A并恢复A的值 RET ;返回 (3)参数传递 子程序可分为有参数子程序和无参数子程序。在有参子程序的调用与返回过程中,就需要在主程序和子程序之间进行参数的传递。 子程序示例 【例3.5】试编程,计算C=A2+B2;并将C送内部RAM 40H单元(设A、B分别放在20H、21H内部单元中;且C≤0FFH)。 ORG 0030H START: MOV A,20H LCALL PF ;调用求平方子程序 MOV R1,A ;20H赋值 MOV A,21H LCALL PF ADD A,R1 MOV 40H, A SJMP $ PF: INC A ;求平方子程序 MOVC A, @A+PC RET TAB:DB 0,1,4,9,16,25,36,49,64,81 END NEXT: DEC R1 MOV @R1,A INC R1 MOV A,@R1 DJNZ R5,SORT2 ;没比较完,SORT2 INC R0 MOV R1,R0 DEC R2 MOV R5,R2 JB 00H,SORT1 ;交换标志为1,继续下一轮两两比较 RET END 3.4.3 查找、排序程序 1.查表程序 查表操作可用DPTR的值或PC的值作基地址。 用DPTR的值作基地址的查表步骤为: (1)把表的首地址送到DPTR; (2)把所查表的项数(即在表格中的地址是第几项)送入累加器A中; (3)执行查表指令:MOVC A,@A+DPTR查表的结果送入A中。 用PC的值作基地址的查表步骤为: (1)将查表的项数送入累加器A中; (2)将MOVC A,@A+PC指令的下一条指令到表格首地址的指令字节数与累加器A的值相加; (3)执行查表指令:MOVC A,@A+PC,查表的结果送入A中。 【例3.9】 用查表法求Y

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档