单片机设计技术-AVR单片机原理及应用课件5.pptVIP

单片机设计技术-AVR单片机原理及应用课件5.ppt

  1. 1、本文档共201页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AVR单片机原理及应用 华南理工大学电力学院 第三章 AVR单片机指令系统 计算机的指令系统是一套控制计算机操作的代码(二进制),称之为机器语言。计算机只能识别和执行机器语言的指令。 难记!易出错! 为了便于人们理解、记忆及使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器(软件,如AVR Studio,51系列的ASM51等)翻译成计算机能识别的机器语言。 相对较易记,不易出错 CISC结构存在指令系统不等长,指令数多,CPU利用效率低,执行速度慢等缺陷 AVR单片机指令系统是先进的RISC体系结构,采用了大型快速存取寄存器组(32个通用工作寄存器)、快速的单周期指令系统以及单级流水线等先进技术 16/32位定长指令 流水线操作 大型快速存取寄存器组 3.1 指令格式 3. 1 . 1 汇编语言源文件 AVR的指令的一般格式为: 目的地址 指令的三种表示方式 指令的二进制表示形式 指令的十六进制形式 指令的助记符形式又称为指令的汇编形式或汇编语句 汇编语言源文件是由汇编语言代码和汇编程序指令所组成的ASCII 字符文件。 汇编语言源文件包括指令助记符、标号和伪指令。指令助记符和伪指令常带操作数 语句有以下4种形式: ① [标号]伪指令[操作数][;注释] ② [标号]指令[操作数][;注释] ③ ;注释 ④ 空行 例子: Label: .EQU Var1=100 ;置Var1 等于100 伪指令 .EQU Var2=200 ;置Var2 等于200 test: rjmp test ;无限循环指令 ;纯注释行 注意:不限制有关标号伪指令注释或指令的列位置 指令助记符 汇编器认可指令集中的指令助记符。指令集中综合了助记符并给出了参数 3.1.2 指令集名词(符号) 1、状态寄存器 SREG: 状态寄存器 C: 进位标志位 Z: 零标志位 N: 负数标志位 V: 2 的补码溢出指示位 S: N⊕V, 符号测试位 H: 半进位标志位 T: 用于 BLD 和 BST 指令传送位 I: 全局中断触发 禁止标志位 2、寄存器和操作数 Rd: 寄存器区中的目的(或源)寄存器 Rr: 寄存器区中的源寄存器 R: 指令执行后的结果 K: 常数项或字节数据 (8位) k: 程序计数器的常量地址数据 b: 在寄存器区中或I/O寄存器中的位(3 位) s: 在状态寄存器中的位(3位) X, Y, Z: 间接地址寄存器(X=R27:R26, Y=R29:R28, Z=R31:R30) P(或A): I/O 寄存器地址 q: 直接寻址的偏移(6 位) 3、堆栈 STACK: 作为返回地址和压栈寄存器的堆栈 SP:STACK 的堆栈指针 4、标志 (Flags) ?: 标志受指令的影响Flag affected by instruction,在指令表“标志”栏写出相应字母 0: 标志被指令清零Flag cleared by instruction,写出相应字母并标以下标0 1: 标志被指令置位 Flag set by instruction,写出相应字母并标以下标1 -: 标志不受指令影响Flag not affected by instruction,不写出相应字母 3.1.3 ATmega8指令 ATmega8共有130条指令,按功能可分为5大类: 数据传送指令(35条); 算术和逻辑运算指令(28条); 位操作和位测试指令(28条); 比较和转移指令(36条); MCU控制指令(3条)。 3.1.4汇编器伪指令 伪指令并不直接转换成操作数,而是用于调整存储器中程序的位置,定义宏,初始化存储器等 3.1.5 表达式 汇编器的表达式由操作数、运算符和函数组成。所有的表达式内部为32位(二进制) 操作数 (1)用户定义的标号,该标号给出了放置标号位置的定位计数器的值 (2)用户用SET伪指令定义的变量 (3)用户用EQU伪指令定义的常数 (4)整数常数,包括下列几种形式 十进制缺省值10 255 十六进制数二进制表示法0x0a,$0a,0xff,$ff 二进制数00(5)PC, 程序存储器定位计数器的当前值 汇编器的函数(而非单片机内的函数) 有LOW、HIGH、BYTE2、BYTE3…… 汇编器所认的运算符 3.1.6器件定义头文件“m8def.inc” 在AVR的器件手册中,对所有的内部寄存器进行了标称化的定义,如32个通用寄存器组用R0~R31表示,系统状态寄存器用SREG表示,端口C数据寄存器用PORTC表示

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档