立即注册 找回密码

微雪课堂

搜索
微雪课堂 AVR AVR单片机内核剖析 Atmega48 查看内容

ATmega48 堆栈指针

2015-5-27 11:36| 发布者: waveshare-admin| 查看: 2168| 评论: 0

摘要: ATmega48 堆栈指针介绍

堆栈指针主要用来保存临时数据、局部变量和中断/ 子程序的返回地址。堆栈指针总是指向堆栈的顶部。要注意AVR 的堆栈是向下生长的,即新数据推入堆栈时,堆栈指针的数值将减小。

堆栈指针指向数据SRAM 堆栈区。在此聚集了子程序堆栈和中断堆栈。ATMEGA48 在调用子程序和使能中断之前必须定义堆栈空间,且堆栈指针必须指向高于0xFF 的地址空间。使用PUSH指令将数据推入堆栈时指针减一;而子程序或中断返回地址推入堆栈时指针将减二。使用POP 指令将数据弹出堆栈时,堆栈指针加一;而用RET 或RETI 指令从子程序或中断返回时堆栈指针加二。

AVR的堆栈指针由I/O空间中的两个8位寄存器实现。实际使用的位数与具体器件有关。请注意某些AVR 器件的数据区太小,用SPL 就足够了。此时将不给出SPH 寄存器。

 

以上资料参考马潮老师的中文手册,由微雪电子整理并发布,转载请注明出处:www.waveshare.net,否则追究相应责任!


249

顶一下

刚表态过的朋友 (249 人)

最新评论

所有教程
内核剖析
    01Atmega16
    深入剖析Atmega16芯片内核
    02Atmega48
    深入剖析Atmega48芯片内核
    03ATmega8
    深入剖析ATmega8芯片内核
    04ATmega128
    深入剖析ATmega128芯片内核
    05ATmega64
    深入剖析ATmega64芯片内核
    06ATmega32
    深入剖析ATmega32芯片内核
    07ATmega168
    深入剖析ATmega168芯片内核
    08ATtiny13
    深入剖析ATtiny13芯片内核
    09ATmega88
    深入剖析ATmega88芯片内核
    010ATtiny2313
    深入剖析ATtiny2313芯片内核
AVR

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-12-26 19:58 , Processed in 0.019070 second(s), 20 queries .

返回顶部