第4章 MCS-51单片机的汇编语言程序设计.pptVIP

第4章 MCS-51单片机的汇编语言程序设计.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文档。上传文档
查看更多
第4章 MCS-51单片机的汇编 语言程序设计 MCS-51单片机的编程语言可以是汇编语言,也可 以是高级语言(如C语言)。汇编语言是一种面向 机器的符号语言,指令用助记符表示。具有以下几 个特点: (1)汇编语言指令与机器语言指令一一对应。 但比机器语言要容易理解,然而它必须通过汇编程 序(如A51)翻译成机器语言,才能被机器执行。 (2)汇编语言指令可直接访问CPU中的寄存 器、存储单元和I/O口,响应速度快,程序存储器的 利用率高。 (3)由于汇编语言是面向机器的语言,这就要 求程序设计人员必须对机器的硬件结构和指令系统 比较熟悉。 4.1 程序设计的步骤和方法概述 (1)分析任务,确定算法或解题思路。 (2)按功能划分模块,确定各模块之间的相互关系及参数传递。 (3)根据算法和解题思路画出程序流程图。 (4)合理分配寄存器和存储器单元,编写汇编语言源程序(以ASM扩展名保存),并进行必要的注释,以方便阅读、调试和修改。 (5)将汇编语言源程序进行汇编和连接,生成可执行的目标文件(BIN或HEX)。 (6)仿真调试、修改,直至满足任务要求(仿真调试的方法可以软件模拟仿真,也可硬件仿真,硬件仿真器需单独购买)。 (7)将调试好的目标文件(BIN或HEX)烧录进单片机内,上电运行。 4.2 MCS-51汇编语言伪指令 用汇编语言编成的源程序单片机是不能执行的,必 须翻译成机器语言程序,这个翻译过程称之为汇编。 汇编有两种方式:手工汇编和机器汇编。 手工汇编是通过查每条指令的编码表,查出每条指令 的机器码; 机器汇编是通过计算机执行汇编程序(能完成翻译工作 的软件)自动完成的。当使用机器汇编时,必须为汇编 程序提供一些信息,诸如哪些是指令哪些是数据;数 据是字节数据还是字数据;程序的起始点和程序的结 束点在何处等。这些控制汇编的指令称为伪指令。 伪指令不是控制单片机操作的指令,因此也就不是 可执行指令,也就无机器代码,换句话说,它仅是为 汇编程序服务的。 下面介绍一些MCS-51汇编程序常用的伪指令。 (1)汇编起始伪指令ORG 格式:[标号:] ORG 16位地址 功能:规定程序块或数据块存放的起始地址。如: ORG 8000H START: MOV A ,#30H …… 该指令规定第一条指令从地址8000H单元开始存放,即标号START的值为8000H。 (2)汇编结束伪指令END 格式:[标号:] END [表达式] 功能:结束汇编。 例如: ORG 2000H START: MOV A ,# 00H …… END START 表示标号START开始的程序段结束。 (3)等值指令EQU 格式:字符名称 EQU 项 例如,TEST EQU R0 MOV A,TEST (4)定义字节指令DB 格式:[标号:] DB 8位二进制数表 DB命令是从指定的地址单元开始,定义若干个8位内存单元的内容。例如, ORG 1000H TAB; DB 23H,73, “6”, “B” TABl: DB 110B 以上伪指令经汇编以后,将对从1000H开始的若干内存单元赋值: (1000H)=23H (1001H)=49H (1002H)=36H (1003H)=42H (1004H)=06H 其中36H和42H分别是字符6和B的ASCII码,其余的十进制数(73)和二进制数(110B)也都换算为十六进制数了。 (5)定义字命令 DW 格式:[标号:] DW 16位二进制数表 例如, ORG 1000H

文档评论(0)

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

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

1亿VIP精品文档

相关文档