添加收藏夹  设为首页  深圳服务热线:13751165337  13692101218
51电子网联系电话:13751165337
位置:首页 > IC型号导航 > 首字符A型号页 > 首字符A的型号第338页 > ATMEGA128 > ATMEGA128 PDF资料 > ATMEGA128 PDF资料1第14页
堆栈指针
堆栈主要用于存储临时数据,用于存储局部变量和用于存储
中断和子程序调用后返回地址。堆栈指针总是指向
向堆栈的顶部。需要注意的是该协议栈实现从更高的内存越来越某些地区可能
系统蒸发散,以降低存储器位置。这意味着一个堆栈PUSH指令减少堆栈
指针。
堆栈指针指向数据SRAM堆栈区所在的子程序和中断
堆栈。数据SRAM堆栈空间,必须由之前的程序中定义
任何子程序调用执行和使能中断。该堆栈指针必须被设置为
指向高于60美元。堆栈指针减一,当数据被压入堆栈
使用PUSH指令,并且它是由两个递减时的返回地址被压入
堆栈与子程序调用或中断。堆栈指针由一个数据时递增
用POP指令堆栈指针,它是由两个数据时递增
从堆栈中弹出从子程序返回RET或RETI中断返回。
AVR的堆栈指针被实现为两个8位寄存器中的I / O空间。数
实际使用的位是依赖于实现。请注意,在某些实数据空间
AVR架构的系统蒸发散是如此之小,只有SPL就足够了。在这种情况下, SPH寄存器
将不存在。
15
SP15
SP7
7
读/写
读/写
读/写
初始值
0
0
14
SP14
SP6
6
读/写
读/写
0
0
13
SP13
SP5
5
读/写
读/写
0
0
12
SP12
SP4
4
读/写
读/写
0
0
11
SP11
SP3
3
读/写
读/写
0
0
10
SP10
SP2
2
读/写
读/写
0
0
9
SP9
SP1
1
读/写
读/写
0
0
8
SP8
SP0
0
读/写
读/写
0
0
SPH
SPL
RAM页面Z选择
注册会员 - RAMPZ
7
6
––
R
0
5
R
0
4
R
0
3
R
0
2
R
0
1
R
0
0
RAMPZ0
读/写
0
RAMPZ
读/写
初始值
R
0
位7..1 - Res:保留位
这些是保留位,读返回值为零。当写入到这个地址的位置,
写这些位为零与未来器件的兼容性。
位0 - RAMPZ0 :扩展RAM页面Z指针
该RAMPZ寄存器通常被用于选择64K RAM页被Z-访问
指针。由于ATmega128的不支持超过64K的SRAM存储器,这是注册
只用于选择页中的程序存储器被访问时ELPM / SPM
指令被使用。该RAMPZ0位的不同设置有以下的效果:
RAMPZ0 = 0:
RAMPZ0 = 1:
程序存储器地址$ 0000 - $ 7FFF (下64K字节)是
通过ELPM / SPM访问
程序存储器地址$ 8000 - $ FFFF (高64K字节)是
通过ELPM / SPM访问
注意, LPM不受该RAMPZ设置。
指令
执行时序
本节说明访问的时序指令执行。在AVR
CPU由CPU时钟CLK驱动
中央处理器
直接从所选择的时钟源所生成的
芯片。没有内部时钟进行分频。
14
ATmega128
2467S–AVR–07/09

深圳市碧威特网络技术有限公司