历史上的今天
今天是:2024年12月13日(星期五)
2021年12月13日 | ATmega168 堆栈指针
2021-12-13 来源:eefocus
堆栈指针主要用来保存临时数据、局部变量和中断/ 子程序的返回地址。堆栈指针总是指向堆栈的顶部。要注意AVR 的堆栈是向下生长的,即新数据推入堆栈时,堆栈指针的数值将减小。
堆栈指针指向数据SRAM 堆栈区。在此聚集了子程序堆栈和中断堆栈。ATmega168 在调用子程序和使能中断之前必须定义堆栈空间,且堆栈指针必须指向高于0xFF 的地址空间。使用PUSH指令将数据推入堆栈时指针减一;而子程序或中断返回地址推入堆栈时指针将减二。使用POP 指令将数据弹出堆栈时,堆栈指针加一;而用RET 或RETI 指令从子程序或中断返回时堆栈指针加二。
AVR的堆栈指针由I/O空间中的两个8位寄存器实现。实际使用的位数与具体器件有关。请注意某些AVR 器件的数据区太小,用SPL 就足够了。此时将不给出SPH 寄存器。

上一篇:ATmega88 低频晶体振荡器
下一篇:ATmega168 通用寄存器
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:47 编辑 TI杯模拟电路设计竞赛指定器件 器件类别 器件型号 Precision OP Amplifiers OPA727 ,OPA365 High Speed OP Amplifiers OPA843,OPA355 Fully Differential Amplifiers THS4520 Difference ...… 查看全部问答> |
|
我们曾经为大家介绍过未来高速数据接口的发展趋势,其中高速无线数据传输已经在其中占据了非常重要的位置。它们使我们桌面上的线缆越来越少,然而电源线一直是电子产品无法抛弃的羁绊。本期我们为大家介绍的技术将彻底剪断这个小尾巴。 袖珍接收 ...… 查看全部问答> |
|
b 0x00007c00 //MBR和引导扇都会加载在0000:7c00。 c 第二句后报错No bootable device 哪位大虾指点一下… 查看全部问答> |
|
检测大电流 需要用到电流互感器 但是对那个东西部熟悉 请教下该怎么接那个线路 包括用到运放的线路 毕竟大电流的涉及到安全问题 请教下各位大侠 该怎么做检测大电流的检测电路呢? 小弟跪谢啦!… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 03:24 编辑 我是新手,求知若渴,希望能一起讨论学习。。。目前负责一个多功能采集模块,不大会,寻朋友~~~ … 查看全部问答> |




