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

  • 9
  • 0
  • 约2.49千字
  • 约 20页
  • 2017-07-24 发布于河南
  • 举报
第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)

1亿VIP精品文档

相关文档