第5章 汇编语言程序设计和仿真调试.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 汇编语言程序设计和仿真调试

第5章 汇编语言程序设计及仿真调试 ;5.1.1 伪指令 ;1、设置起始地址ORG;2、定义字节DB或DEFB ;3、定义字DW或DEFW ;4、为标号赋值EQU ;5.DATA指令 ;6.XDATA指令(Extenal Data) ;7.定义位命令BIT ;8、源程序结束 END ;5.1.2 汇编语言程序设计的一般步骤和基本框架 ;2、8051单片机汇编语言程序的设计框架: ;;下面是各个中断服务子程序的入口 INT_0: …… ;外部中断0服务子程序 …… ;根据需要填入适当的内容 RETI INT_1: …… ;外部中断1服务子程序 …… ;根据需要填入适当的内容 RETI INT_T0: …… ;定时器0中断服务子程序 …… ;根据需要填入适当的内容 RETI INT_T1: …… ;定时器1中断服务子程序 …… ;根据需要填入适当的内容 RETI INT_S: …… ;串行通讯中断服务子程序 …… ;根据需要填入适当的内容 RETI ;下面可以编写其他子程序或者定义程序中所用的常数 END ;5.2 汇编语言程序设计举例 ; 例2 多字节无符号加法子程序 入口:被加数低字节地址在R0,加数低字节地址在R1,字节数在R2。 出口:和的低字节地址在R0,字节数在R3。 MPADD: PUSH PSW ;保护标志寄存器内容。 CLR C ;进位为清零 MOV R3,#00H ADD10: MOV A,@R0 ;相加 ADDC A,@R1 MOV @R0,A INC R0 ;地址值增1 INC R1 INC R3 ;字节数增1 DJNZ R2,ADD10 ;所有字节未加完继续。 JNC ADD20 ;无进位去ADD20。 MOV @R0,#01 ;和最高字节地址内容为01H INC R3 ;字节数增1 ADD20: POP PSW ;恢复标志寄存器内容 RET ;返主;5.3 利用Keil uVision2集成开发环境调试程序 ;Keil uVision2的安装;5.3.2 Keil uVision2集成开发环境中调试8051单片机汇编语言程序的方法 uVision2集成开发环境中包括一个项目管理器,它可以使8051应用系统设计变得简单。要创建一个应用,需要按下列步骤进行操作: 1)启动uVision2,新建一个项目文件并从器件库中选择一个器件 2)新建一个源文件并把它加入到项目中 3)针对目标硬件设置工具选项 4)编译项目并生成可以编程到程序存储器的HEX文件 5)下载到单片机中进行仿真调试;【例5-1】 假设晶振频率为6MHz。将片内RAM30H~3FH单元的内容清零,然后循环从P1.0输出1ms方波。 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP,#70H ;设置堆栈指针 MOV R0,#30H MOV R2,#10H CLR A LOOP1: MOV @R0,A INC R0 DJNZ R2,LOOP1 ;将30H~3FH单元的内容清零 SETB P1.0 LOOP2: CPL P1.0 LCALL DELAY1MS LJMP LOOP2 ;输出方波 DELAY1MS:

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档