教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

C51单片机汇编语言程序设计(2)

来源:网络收集 时间:2026-07-19
导读: 11010101,累加器A中之前存放的数据被冲掉。 直接寻址方式可以访问存储器的30H~7FH单元(数据缓冲区)、位地址单元和特殊功能寄存器(SFR),而且特殊功能寄存器只能用直接寻址方式访问。 3、寄存器寻址 寄存器寻

11010101,累加器A中之前存放的数据被冲掉。

直接寻址方式可以访问存储器的30H~7FH单元(数据缓冲区)、位地址单元和特殊功能寄存器(SFR),而且特殊功能寄存器只能用直接寻址方式访问。 3、寄存器寻址

寄存器寻址是在指令的操作码后给出寄存器,指令可以操作寄存器中的数据。例如: MOV A,R7

该指令的含义是:将寄存器R7中的数据送到累加器A中。如果寄存器R7中的数据为11010101,执行该指令后,R7中的数据会送到累加器A中,累加器A中的数据也为11010101,累加器A中之前存放的数据被冲掉。 五、汇编语言的指令系统 汇编语言的指令格式如下:

[标号:]操作码(空格)[操作数1][,操作数2][ ,操作数3] [;注释]

例:下面是一条汇编语言的指令:

MAIN:MOV P3,#0FFH ;将数据11111111送到P3口 标号:用来标注指令的地址,一般由1~8个字母和数字组合而成,但必须以字母开头,以冒号“:”结束。上面的汇编语言指令中,标号是“MAIN:”。

操作码:用来规定指令的操作功能,一般由2~5个字母(英

文单词或单词的缩写)组成。上面的汇编语言指令中,操作码是“MOV”。

操作数:它是操作码的操作对象,操作数和操作码之间用一个空格隔开。在一条指令中可以有0~3个操作数,操作数之间用逗号“,”隔开。上面的汇编语言指令中,操作数是“P3,#0FFH”。

注释:它是编程者对指令的说明,通常用来描述程序的功能。注释以分号“;”开头。

注意:编写汇编语言的指令时,指令中的“:”、“,”、“;”等为半角符号,应将输入法设为英文状态。

MCS-51系列单片机的指令共有111条,根据功能可将其分为以下几类:数据传送类指令(29条)、算术运算类指令(24条)、逻辑运算类指令(24条)、控制转移类指令(17条)、位操作类指令(17条)。

根据指令转化为机器代码占用的存储空间可分为:单字节指令(49条)、双字节指令(45条)、三字节指令(17条)。 根据指令执行需要的时间可分为:单周期机器指令(64条)、双周期机器指令(45条)、四周期机器指令(2条)。 六、数据传送类指令(29条)

数据传送类指令的功能是将源操作数中的内容送到目的操作数中。它可以分为五种:内部RAM的数据传送指令、外部RAM与累加器A的数据传送指令、ROM与累加器A的数

据传送指令、数据交换指令和堆栈操作指令。 1、内部RAM的数据传送指令(16条)

内部RAM数据传送指令的操作码助记符是“MOV” 指令格式:MOV 目的操作数,源操作数

指令的功能是:将源操作数中的内容送到目的操作数中。执行指令后,源操作数内容不变,目的操作数的内容与源操作数一致。

内部RAM的数据传送指令又可分为五种: (1)以累加器A为目的操作数的传送指令

以累加器A为目的操作数的传送指令有4条,各条指令的格式和功能如下:

以累加器A为目的操作数的传送指令 指 格 式 令 指令功能指令功能指令功能举例说明 表示 说明 例:MOV A,#36H MOV A,#data (A)←data 将数据data指令功能:将数据送到累加36H送到累加器A器A中 中,指令执行后,A中的数据为36H。 MOV A,Rn (A)←(Rn) 将寄存器例:MOV A,R6 Rn中的数指令功能:将寄存器据送到累R6中的数据送到累加器A中 加器A中,如果R6中的数据为2EH,指令执行后,A中的数据为2EH。 其中,#data表示8位数据(立即数),Rn表示工作寄存器组中的8个寄存器R0~R7。

(2)以寄存器Rn为目的操作数的传送指令

以寄存器Rn为目的操作数的传送指令有3条,各条指令的格式和功能如下:

以寄存器Rn为目的操作数的传送指令 指 令 格 指令功能指令功能指令功能举例说明 式 表示 说明 将数据MOV (Rn)←data送到寄存器Rn中 例:MOV R5,#36H 指令功能:将数据36H送到寄存器R5中,指令执行后,R5中的数据为36H。 例:MOV R6,A 指令功能:将累加器A中的数据送到寄存器R6中,如果A中的数据为2EH,指令执行Rn,#data data 将累加器MOV Rn,A (A)←A中的数(Rn) 据送到寄存器Rn中 后,R6中的数据为2EH。 七、位操作类指令(17条)

位操作类指令的功能是对单片机内部存储器的位单元进行操作,位操作类指令有数据位传送指令、位变量修改指令、位变量逻辑指令和位控制转移指叙。 1、位变量修改指令(6条)

位变量修改指令有6条,它们分别为清0、取反和置1。各条指令的格式和功能如下: 位变量修改指令 指 令 格 式 指令功能表示 指令功能说明 清0指将某位单元中的数据CLR bit (bit)←(0) 令 清0 置1指SETB 令 bit (bit)←1 将某位单元中的数据置1 八、逻辑运算类指令(24条)

逻辑运算类指令的功能是进行与、或、非、异或逻辑运算和对数据进行清0、移位。它包括逻辑与、逻辑或、逻辑非、逻辑异或、清0、和移位指令。 1、清0指令

清0指令的格式和功能如下: 清0指令 指 令 格 式 指令功能表示 指令功能说明

…… 此处隐藏:520字,全部文档内容请下载后查看。喜欢就下载吧 ……
C51单片机汇编语言程序设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/520244.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)