片机学习第三章-程序设计.pptxVIP

  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文档。上传文档
查看更多

第三章MCS-51单片机汇编语言

程序设计

3.1概述

MCS-51单片机的编程语言可以是汇编语言也可以是高级语言(如C语言),高级语言编程快捷,但程序长,占用存储空间大,执行慢;汇编语言产生的目标程序简短,占用存储空间小,执行快,能充分发挥计算机的硬件功能。无论是高级语言还是汇编语言,源程序都要转换成目标程序(机器语言)单片机才能执行。

01

02

03

04

支持写入单片机或仿真调试的目标程序有两种文件格式:

BIN文件是由编译器生成的二进制文件,是程序的机器码,

BIN文件和·HEX文件,

HEX文件是由INTER公司定义的一种格式,这种格式包括地址、数据和校验码,并用ASCII码来存储,可供显示和打印。·HEX文件需通过符号转换程序OHS51进行转换

05

两种语言的操作过程见图3-1。

连接/定位器

L51

汇编语言

源程序

汇编器A51

符号转换程序OHS51

绝对地址目标程序

.BIN

C语言程序

浮动地址目标程序

编译器C51

·HEX

图3-1两种语言源程序转换成目标程序

汇编:将汇编语言源程序转换成机器语言目标程序的过程称为汇编。

汇编程序:能将汇编语言源程序转换成机器语言目标程序的系统软件称为汇编程序。

目前很多公司将编辑器、汇编器、编译器、连接/定位器、符号转换程序做成集成软件包,用户进入该集成环境,编辑好程序后,只需点击相应菜单就可以完成上述的各步,如WAVE、

KEIL,WAVE集成软件的使用见附录。

汇编的方法:汇编的方法有两种

手工汇编:

人工查指令表,查出程序中每条指令对应的机器代码。早期的计算机使用。

机器汇编:

用计算机中的汇编程序对用户源程序进行汇编。

用机器汇编要提供给汇编一些信息,遵循汇编程序的一些约定。这些由伪指令指定。

汇编的主要任务:

1)确定程序中每条汇编语言指令的指令机器码

2)确定每条指令在存储器中的存放地址

3)提供错误信息

4)提供目标执行文件(*.OBJ/*.HEX)和列表文件(*.LST)

地址 机器码 源程序

ORG 2000H

2000H7830 MAIN: MOVR0,#30H

2002HE6 MOVA,@R0

机器指令:指令系统中的全部指令。每条机器指令都有对应的机器代码,可以被CPU执行。

伪指令:汇编控制指令,没有指令代码,只用于汇编过程,为汇编程序提供汇编信息。

宏指令

宏汇编功能:将需要反复多次执行的程序段定义成一个宏指令名(宏定义)。编程时,可在程序中使用宏指令名来替代被定义的程序段(宏调用)。

01

03

02

汇编语言指令类型

01

宏调用过程:

02

03

宏指令名实际参数

04

05

宏指令名实际参数

06

宏指令名MACRO形式参数

07

… ;被定义的程序段

08

ENDM

宏定义过程:

二.伪指令常用伪指令及功能:

1.起始指令ORGnn

功能:定义程序或数据块的起始地址。指示此语句后面的程序或数据块以nn为起始地址,连续存放在程序存储器中。

指令地址机器码 源程序

ORG 2000H

2000H7830 MAIN: MOVR0,#30H

2002HE6 MOVA,@R0

ORG3000H

3000H23 TAB:DB23H,100,‘A’

3001H64

3002H41

2.字节定义标号:DB(字节常数,或字符或表达式)

功能:指示在程序存储器中以标号

为起始地址的单元里存放的数为

字节数据(八位二进制数)。

例如LN:DB32,’C’,25H,-1

;LN~LN+2地址单元依次存放

20H,43H,25H,FFH

地址

数据

LN

20

LN+1

43

LN+2

25

LN+3

FF

3.字定义标号:DW(字常数或表达式)

作用:指示在程序存储器中以标号为

起始地址的单元里存放的数为字数据

(即16位的二进制数),例如:

GH:DW1234H,5678H,08

GH

12

34

GH+2

56

78

GH+4

00

08

表示EQU两边的量等值,用于为标号或标识符赋值。

例如:X1 EQU2000H

文档评论(0)

SYWL2019 + 关注
官方认证
文档贡献者

权威、专业、丰富

认证主体四川尚阅网络信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6716HC2Y

1亿VIP精品文档

相关文档