历史上的今天
今天是:2024年10月15日(星期二)
2021年10月15日 | ATmega48 通用寄存器
2021-10-15 来源:eefocus
寄存器文件针对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 寄存器
在不同的寻址模式中,这些地址寄存器可以实现固定偏移量,自动加一和自动减一功能。
具体细节请参见ATMEGA48指令集。
上一篇:ATmega48 堆栈指针
下一篇:ATmega48 状态寄存器
史海拾趣
|
摘 要: 介绍一种运用 PIC16F84单片机实现与PC机串行通信的方法,并给出其硬件接口电路及通信源程序。 1 前言 美国 Microchip 公司的 PIC16 系列单片机是一种新型的 CMOS 工艺的 8 位单片机。其中, PIC16FXX 单片机的程序存储器为电可擦除闪速存 ...… 查看全部问答> |
|
【求助】请教一个最最简单的关于PIC12C508单片机如何使用的问题…… 由于最近要试着用PIC12C508单片机做点东西,就在mplab上先仿真玩玩。这才发现自己居然连最最基本的“点灯一个led灯”都完成不了…… 还请坛子里的老鸟们指教一下,这对于你们来说可能就是几秒钟的事情,而我却卡在这里大半天了…… &nbs ...… 查看全部问答> |
|
我安装完Quartus 8.0后(已成功破解),利用其自带的IP生成工具生成了一个三速度以太网的IP核,同时生成了仿真文件,当我打开仿真工具Questasim运行生成的仿真脚本文件时,开始正常,当执行到do mac_wave.do时 生成波形文件变得非常慢,而且信号是 ...… 查看全部问答> |
|
本人从事PCB设计三年,现在转做业务,希望能在这里面认识 一些朋友 ,QQ520122524 SKYPE :xcq185388740 MSN:xcq185388740 @live.cn 提供点资料给你们 [ 本帖最后由 xcq185388740 于 2011-7-14 11:17 ...… 查看全部问答> |
|
本人在做关于DSP28035的芯片,在实验配置时钟的时候波形不对。所以下面我想用DSP控制TOPWAY的液晶屏无法成功! DSP+12M的晶振,晶振旁边的电容15pf. 出来波心是这样: ...… 查看全部问答> |
|
我在做booloader加入sb.xcl文件之后出现了Fatal Error[e72]: Segment IEEE_ADDRESS_SPACE must be defined in a segment definition option (-Z, -b or -P) 错误请问这个是什么原因呢? [ 本帖最后由 wateras1 于 2013-2-25 15:10 编辑 ]… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 04:04 编辑 南华大学黄智伟 好的系统设计方案是取得好的竞赛成绩的保证 … 查看全部问答> |
|
上周收到了申请的样片MB85RS64,这几天一直在准备芯片的烧写工作,由于我所在的单位是烧写器厂商,所以申请样片一方面是做FRAM烧写的支持工作,另一方面也和常规的SPI接口串行flash芯片做个比较。新产品支持4颗芯片同时烧写,所以申请了4颗样片,下 ...… 查看全部问答> |




