寄存器文件针对AVR增强型RISC指令集做了优化。为了获得需要的性能和灵活性,寄存器文件支持以下的输入/ 输出方案:
·输出一个 8 位操作数,输入一个 8 位结果
·输出两个 8 位操作数,输入一个 8 位结果
·输出两个 8 位操作数,输入一个 16 位结果
·输出一个 16 位操作数,输入一个 16 位结果
Figure 4 为CPU 32 个通用工作寄存器的结构。
(点击图片放大)
Figure 4. AVR CPU 通用工作寄存器
大多数操作寄存器文件的指令都可以直接访问所有的寄存器,而且多数这样的指令的执行时间为单个时钟周期。
如Figure 4 所示,每个寄存器都有一个数据内存地址,将他们直接映射到用户数据空间的头32 个地址。虽然寄存器文件的物理实现不是SRAM,这种内存组织方式在访问寄存器方面具有极大的灵活性,因为X、Y、Z 寄存器可以设置为指向任意寄存器的指针。
寄存器R26..R31 除了用作通用寄存器外,还可以作为数据间接寻址用的地址指针。这三个间接寻址寄存器示于Figure 5。
Figure 5. X、Y、Z 寄存器
在不同的寻址模式中,这些地址寄存器可以实现固定偏移量,自动加一和自动减一功能。
具体细节请参见ATtiny2313指令集。
备注:以上所有图片中的地址中“$”更改为“0X”.
关键字:ATtiny2313 通用寄存器 AVR
引用地址:
ATtiny2313 通用寄存器
推荐阅读最新更新时间:2024-11-17 08:03
AVR管脚外部上拉电阻阻值选择分析
AVR微控制器的I/O口是双向口。具有如下的特点: AVR IO具备多种IO模式: 1 高阻态,多用于高阻模拟信号输入,例如ADC数模转换器输入,模拟比较器输入 2 弱上拉状态(Rup=20K~50K),输入用。为低电平信号输入作了优化,省去外部上拉电阻,例如按键输入,低电平中断触发信号输入 3 推挽强输出状态,驱动能力特强( 20mA),可直接推动LED,而且高低驱动能力对称. 在实际应用中,我使用了1M的外部上拉,用来测量霍尔器件的脉冲。结果发现没有动作的情况下也测量到了脉冲。于是做了如下的测量: 1,该管脚设置为输入,不使能内部上拉而是使用外部1M电阻上拉(PORTX为0),测量得到该管脚的电压
[单片机]
基于AVR VUSB技术的数控直流稳压电源设计
0 引 言 数控直流稳压电源是电子技术中常用的设备之一,目前所使用的大多是通过旋钮开关调节电压值,调节精度不高,而且经常出现跳变,使用起来极不方便。本数控直流稳压电源通过上位机设置输入到DAC的数字量,输出步进可调的电压。上位机与下位机通过软件模拟的USB进行通信。传统的单片机与计算机进行USB通信,需要使用专用的接口芯片进行USB 协议转换,如CP2101、FT232、CH342、PDIUSBD12、SL811等。像CP2101、FT232这样的芯片使用起来虽然简单,但是功能比较单一;而PDIUSBD12、SL811功能较强,但是使用复杂。并且这些专用芯片的价格都相对较高,增加了系统的成本。而VUSB简单易用,成本低廉,只需要
[单片机]
高速AVR实现振动/温度信号采集和存储
本文所介绍的新型智能充电机系统,解决了动态跟踪电池可接受充电电流曲线的技术关键,形成了独具特色的智能充电机系列,提高了充电质量和效率,充电工人只担任辅助性工作,为充电技术和充电设备闯出了一条崭新的路。 1硬件部分 电池充放电过程中,可进行恒流、恒压、涓流、充放电时间以及终止电压等多种控制规律选择。整个系统分2层,下层是执行层,上层为控制层。 1.1节点层 利用三相桥式全控整流桥技术实现充放电转换。晶闸管的触发由MSP430来完成。拟采用双窄冲触发,以减少触发装置的输出功率。下层的核心就在于对MSP430的控制。MSP430F135是TI 公司新近推出的Flash系列的16位单片机,他具有内置12位A/D
[单片机]
用单片机(AVR)比较准确地读出PS2鼠标位移(X,Y轴位移)
之前为了用鼠标对小车的移动坐标进行测量,所以找了很多资料用做```但后来发现网上的资料或者程序基本上都是让鼠标工作在默认模式(Stream模式)而去读鼠标的X,Y轴的位移.后来我经过试验,发现这样很难实现,因为鼠标轻轻一动(状态有任何变化)就立即发送数据,所以,这样的话,单片机的速度是跟不上的,移动速度过快的话误差会非常的大.接着仔细看了关于PS2鼠标的资料就决定让鼠标工作在Remote模式,果然测量的误差大大的减少了(呵呵呵)!!!!!] 工作模式如下 鼠标的工作模式: 1、Reset模式:鼠标上电或受到复位命令(0xFF)时进入次模式。(一般电脑才用吧) 设置缺省的Sample rate:100samples/s;
[单片机]
TimerCommand.h头文件下载-AVR定时器命令通用头文件
/***************************************************************************** 文件名称:TimerCommand.h 文件标识:_TIMERCOMMAND_H_ 摘 要:AVR定时器命令通用头文件 当前版本:V1.0 *****************************************************************************/ #ifndef _TIMERCOMMAND_H_ #define _TIMERCOMMAND_H_ #define Timer0Config(MODE,
[单片机]
AVR单片机是什么
什么是AVR单片机?AVR单片机是什么意思? 单片机又称单片微控制器,它是把一个计算机系统集成到一个芯片上,概括的讲:一块芯片就成了一台计算机。单片机技术是计算机技术的一个分支,是简易机器人的核心元件。 1997年,由ATMEL公司挪威设计中心的A先生与V先生利用ATMEL公司的Flash新技术, 共同研发出RISC精简指令集的高速8位单片机,简称AVR。 AVR单片机的优势特征 单片机已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表和机器人制作等领域,使产品功能、精度和质量大幅度提升,且电路简单,故障率低,可靠性高,成本低廉。单片机种类很多,在简易机器人制作和创新中,为什么选
[单片机]
AVR的中断应用设计要点
AVR的中断源比较多,尤其是ATmega128,一共有35个外部以及内部中断源。通常情况下,Flash程序存储器空间的最低位置(0x0000-0x0045)定义为复位和中断向量空间。完整的中断向量见第二章表2-23。在中断向量表中,处于低地址的中断向量所对应的中断拥有高优先级,所以,系统复位RESET拥有最高优先级。 A.中断设计注意点: 1.具备Bootloader功能的AVR,其中断向量区可以在Flash程序存储器空间最低位置和Bootloader区的头部来回迁移,这主要用于配合Bootloader程序的应用。如果不使用Bootloader功能,一般不要中断向量区进行迁移。 2.Flash较小的AVR芯片,其一个中断向量占
[单片机]
AVR单片机相关
AVR单片机的型号标识解析 1. 型号紧跟的字母,表示电压工作范围。带 V :1.8-5.5V;若缺省,不带 V :2.7-5.5V。 例:ATmega48-20AU,不带 V 表示工作电压为2.7-5.5V。 2. 后缀的数字部分,表示支持的最高系统时钟。 例:ATmega48-20AU, 20 表示可支持最高为20MHZ的系统时钟。 3. 后缀第一(第二)个字母,表示封装。 P :DIP封装, A :TQFP封装, M :MLF封装。 例:ATmega48-20AU, A 表示TQFP封装。 4. 后缀最后一个字母,表示应用级别。 C :商业级, I :工业级(有铅)、 U 工业级(无铅)。 例:
[单片机]