单片机编程里面,堆栈是什么意思?

单片机编程里面,堆栈是什么意思?,第1张

在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循顺序存取和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈

子程序调用和中断服务时CPU自动将当前PC值压栈保存,返回时自动将PC值d栈;

保护现场/恢复现场;

数据传输。

1.堆栈用于响应中断或调用子程序时保护断点地址,也可通过栈 *** 作指令(push

和pop保护和恢复现场)其中e5a48de588b63231313335323631343130323136353331333337396239入栈时先SP+1再将内容压入当前SP所指示的堆栈单元

中,出栈则先将SP所指示的内部ram单元中内容送入直接地址寻址的单元中,再将

SP减1.

2.中断允许寄存器的功能是控制CPU对中断的开放和屏蔽以及每个中断源是否允许

中断结构包括EA(CPU中断总允许位),ES(串行口中断允许位)ET1(定时器1中

断允许位)EX1(外部中断1中断允许位)ET0(定时器0中断允许位)EX0(外部中

断0中断允许位)

3.T机=12/fosc=12/(6*E6)=2us

X=2*E13-T/T机=8192-200/2=8092=1F9CH=1111 1100 1110 0B

因为TL1的高3位未用, 修正后X=1111 1100 0001 1100B=FC1CH

4.LJMP为长转移指令,可转向64KB程序存储器的任一单元;SJMP为相对转移指令

,偏移范围-128~+127共259字节;AJMP为绝对转移指令,转移目的在指令后一个


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11173465.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存