51单片机的堆栈区在那里?低128还是高128字节单元?
6个回答
展开全部
堆栈指针SP是存放当前堆栈栈顶所对应的存储单元地址的一个8位寄存器。
SP的值,可以由软件设定,所以,整个片内RAM区域的任何位置都可以作为堆栈区使用。
51系列的单片机的RAM,只有低128字节,范围是00~7FH;
52系列的单片机的RAM,共有256字节,范围是00~FFH。
任何位置都可以作为堆栈区使用。
系统复位后SP为07H,这时的堆栈空间是08单元及其相连的高地址,但是这里却是寄存器区1所在的地址空间。
所以,一般在复位后,应立即对SP赋值,重新指定栈底,使堆栈区设定在RAM中的另一区域。
使用高128字节单元当做堆栈区,也是可以的,但是必须是使用52系列的单片机。
SP的值,可以由软件设定,所以,整个片内RAM区域的任何位置都可以作为堆栈区使用。
51系列的单片机的RAM,只有低128字节,范围是00~7FH;
52系列的单片机的RAM,共有256字节,范围是00~FFH。
任何位置都可以作为堆栈区使用。
系统复位后SP为07H,这时的堆栈空间是08单元及其相连的高地址,但是这里却是寄存器区1所在的地址空间。
所以,一般在复位后,应立即对SP赋值,重新指定栈底,使堆栈区设定在RAM中的另一区域。
使用高128字节单元当做堆栈区,也是可以的,但是必须是使用52系列的单片机。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询