网站大量收购闲置独家精品文档,联系QQ:2885784924

单片机原理与应用-004.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1 汇编语言程序设计概述 4.1.1机器语言、汇编语言和高级语言 2.END汇编终止伪指令 格式为: END 该指令的功能是结束汇编。 汇编程序遇到END伪指令后即结束汇编。处于END之后的程序,汇编程序将不处理。 例如: ORG 2000H DB 30H,40H,24,”C”,”B” 汇编后: (2000H)=30H (2001H)=40H (2002H)=18H(十进制数24) (2003H)=43H(“C”的ASCII码) (2004H)=42H(“C”的ASCII码) 4.DW定义数据字命令 [标号:] DW 字数据表 功能是从标号指定的地址单元开始,在ROM的连续单元中定义16位数据字。注意:16位的二进制数,高8位存放在低地址单元,低8位存放在高地址单元。例如: 5.EQU赋值命令 符号名 EQU 表达式 功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名。赋值后该符号名在整个程序有效。例如: TEST EQU 2000H 表示标号TEST等同于2000H,在汇编时,凡是遇到标号TEST均以2000H来代替。 6.DS空间定义伪指令 [标号:] DS 表达式 功能是从标号指定的地址单元开始,在程序存储器中保留由表达式所指定的个数的存储单元作为备用的空间,并都填以零值。例如: 4.1.4 汇编语言程序设计步骤 汇编语言程序设计的步骤主要分为以下几步: 1.分析问题,确定算法(P403) 2.根据算法,画出程序框图(P406) 3.分配内存工作区及有关端口地址(P398) 尤其是片内RAM的分配,把内存区、堆栈区、各种缓冲区要合理地分配,并确定每个区域的首地址,便于编程使用。要确定外部扩展的各个I/O端口的地址、分配I/O接口线。 4.编写程序(例) 5 .上机调试 4.2 汇编语言源程序的汇编 程序设计者编写的汇编语言源程序翻译成机器代码(指令代码)的过程称为“汇编”。汇编可分为手工汇编和机器汇编两类。 1、手工汇编 对于简单的程序可用手工编程。先把程序用助记符指令写出,然后通过查指令的机器代码表,逐个把助记符指令翻译成机器代码,再进行调试和运行。 手工编程时都是按绝对地址对指令定位,遇到的相对转移指令时,要根据转移的目标地址计算偏移量,不但麻烦,且容易出错。 2、机器汇编 机器汇编是借助于微计算机来代替手工汇编。首先是在微计算机上用编辑软件进行源程序的编辑。编辑完成后,生成一个ASCII码文件,文件的扩展名为“.ASM”。然后在微计算机上运行汇编程序,把汇编语言源程序翻译成机器代码。 因此,机器汇编实际上是通过执行汇编程序来对源程序进行汇编的。由于使用微型计算机完成了汇编,而汇编后得到的机器代码却是在另一台计算机(这里是单片机)上运行,称这种机器汇编为交叉汇编。 4.3 汇编语言实用程序设计 目前,在单片机的应用程序的设计中,广泛使用的一种方法是结构化的程序设计方法。采用结构化方法设计的程序,具有程序结构清晰、可读性好、调试方便、可靠性高等优点。 结构化程序设计的程序结构一般常采用以下几种基本结构:顺序结构、分支结构和循环结构,再加上广泛使用的子程序和中断服务子程序,共有 5 种基本的程序结构。 下面简要介绍前4种基本的程序结构。中断服务子程序将在第5章中介绍。 1.顺序结构 最简单的程序结构,既无分支,也无循环,也不调用子程序,程序执行时,程序流向不变,按顺序一条一条地执行指令。 举例如下: 2.分支结构 分支程序的特点是程序中含有转移指令,转移指令又分为无条件转移和有条件转移,因此分支程序也可分为无条件分支程序和有条件分支程序。 无条件分支程序中含有无条件转移指令,此类程序简单。 有条件分支程序按结构类型来分,又分为单分支选择结构和多分支选择结构。 3.循环结构程序 循环程序结构的特点是程序中含有可以反复执行的程序段,该程序段通常称为循环体。 根据循环控制部分不同,循环程序结构可分为循环计数控制结构和条件控制结构法. 例:计算n个数据的和,计算公式为 计数控制方法只有在循环次数已知的情况下才适用。对循环次数未知的问题,不能用循环次数来控制。往往需要根据某种条件来判断是否应该终止循环。 最常见的多重循环是由DJNZ指令构成的软件延时程序,它是常用的程序之一。 以上延时程序不太精确,它没有考虑到除“ DJNZ R6 , DELZ ”指令外的其它指令的执行时间,如把其它指令的执行

文档评论(0)

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

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

1亿VIP精品文档

相关文档