- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机第六讲mail
第三章 51单片机指令系统 3.1 单片机指令系统简介 3.2 寻址方式 3.3 指令说明 3.4 汇编语言程序设计 3.5 单片机的C语言程序设计 3.1单片机指令系统简介 指令系统:计算机所能够执行的各种指令的集合。 机器语言:用二进制编码表示的指令,是计算机能直接识别并执行的指令 。 汇编语言:用助记符和专门的语言规则表示指令的功能和特征。 将汇编语言翻译成机器码的过程称为汇编。 计算机的指令系统一般都是利用汇编语言描述的,是由计算机硬件设计所决定的。指令系统没有通用性。 单片机一般是空机,未含任何系统软件。因此在第一次使用前,必须对其进行编程。 一条汇编语言中最多包括四个区,其中操作码和操作数是必须的。 标号:本条指令起始地址的符号,也称为指令的符号地址。代表该条指令在程序编译时的具体地址。 操作码:又称助记符,它是由对应的英文缩写构成的,是指令语句的关键。它规定了指令具体的操作功能,描述指令的操作性质,是一条指令中不可缺少的内容。 操作数:它既可以是一个具体的数据,也可以是存放数据的地址。 注释:注释也是指令语句的可选项,它是为增加程序的可读性而设置的,是针对某指令而添加的说明性文字,不产生可执行的目标代码。 1.常用单位与术语 位(bit):位是计算机所能表示的最小的、最基本的数据单位,位通常是指一个二进制位。 字节(Byte):一个连续的8位二进制数码称为一个字节,即1Byte=8bit。 字(Word):通常由16位二进制数码组成,即1Word=2Byte。 字长:字长是指计算机一次处理二进制数码位的多少。51系列单片机是8位机,所以说它的字长为8位。 2 指令中的常用符号 Rn(n=0~7):表示当前工作寄存器R0~R7中的任一个寄存器。其中R0, R1表示用于间接寻址的两个寄存器(用Ri表示)。 #data:表示8位直接参与操作的立即数。 #data16:表示16位直接参与操作的立即数。 direct:表示片内RAM的8位单元地址。 addr11:表示11位目的地址,主要用于ACALL和AJMP指令中。 addr16:表示16位目的地址,主要用于LCALL和LJMP指令中。 rel:用补码形式表示的8位二进制地址偏移量,取值范围为?128~+127,主要用于相对转移指令,以形成转移的目的地址。 DPTR:16位数据指针寄存器,做间址或变址寄存器使用。 bit:表示片内RAM的位寻址区,或者是可以位寻址的SFR的位地址。 A(或ACC)、B :表示累加器、 B寄存器。 C :表示PSW中的进位标志位Cy。 / :在位操作指令中,表示对该位先求反后再参与操作。 @:在间接寻址方式中,表示间接寻址寄存器指针的前缀标志。 $:表示当前的指令地址。 (X):表示由X所指定的某寄存器或某单元中的内容。 ((X)):表示由X间接寻址单元中的内容。 ←:表示指令的操作结果是将箭头右边的内容传送到左边。 →:表示指令的操作结果是将箭头左边的内容传送到右边。 ∨、 ∧、 ⊕ :表示逻辑或、与、异或。 第三章 51单片机指令系统 3.1 单片机指令系统简介 3.2 寻址方式(操作数) 3.3 指令说明(操作码) 3.4 汇编语言程序设计 3.5 单片机的C语言程序设计 3.2 寻址方式 指令的一个重要组成部分是操作数,它指出了参与操作的数或数所在的地址。 寻址方式就是根据指令中给出的地址寻找真实操作数地址的方式。51单片机的寻址方式有7种。 立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。 3.2.1 立即寻址 定义:将立即参与操作的数据直接写在指令中,这种寻址方式称为立即寻址。例如 MOV A , #80H MOV DPTR, #8000H 特点:指令中直接含有所需的操作数。该操作数可以是8位的,也可以是16位的,常常处在指令的第二字节和第三字节的位置上。立即数通常使用#data或#data16表示,在立即数前面加“#”标志,用以和直接寻址中的直接地址(direc或bit)相区别。 3.2.2 直接寻址 3.2.4 寄存器间接寻址 定义:指令给出的寄存器中存放的是操作数据的单元地址。这种寻址方式称为寄存器间接寻址。 例如: MOV A, @R0 特点:指令给出的寄存器中存放的是操作数地址。寄存器间接寻址是一种二次寻找操作数地址的寻址方式,寄存器前边必须加前缀符号“@”。不能用于寻址特殊功能寄存器SFR。 寻址范围:内部RAM低128B(只能使用R0或R1作间址寄存器)、外部RAM(只能使用DPTR作间址寄存器)。对于外
文档评论(0)