单片机里sp是什么意思啊

 我来答
赵德柱
高粉答主

2019-06-29 · 新鲜事早知道!
赵德柱
采纳数:45 获赞数:64921

向TA提问 私信TA
展开全部

单片机里sp是堆栈指针。

堆栈指针SP英文全称为stack pointer,是单片机控制器的组成部件之一,与时控制逻辑电路、指令寄存器译码器、地址指针DPTR、程序计数器等部件共同组成CPU的神经中枢。堆栈指针在单片机里的作用是随时跟踪栈顶地址,以便存取单片机的数据。

每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。

扩展资料

由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOV SP,#5FH指令,就是把堆栈设置在从内存单元60H开始的单元中。

一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的混乱。

不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。

参考资料来源:百度百科-单片机

哎呀小白妞
2019-06-27 · TA获得超过7625个赞
知道小有建树答主
回答量:488
采纳率:96%
帮助的人:18.8万
展开全部

单片机里sp是堆栈指针。

堆栈指针SP英文全称为stack pointer,是单片机控制器的组成部件之一,与时控制逻辑电路、指令寄存器译码器、地址指针DPTR、程序计数器等部件共同组成CPU的神经中枢。堆栈指针在单片机里的作用是随时跟踪栈顶地址,以便存取单片机的数据。

扩展资料:

堆栈指针SP存取单片机数据原则是“先进后出,后进先出”。入栈递增的堆栈通常叫向上生长型的堆栈,反之就是向下生长型的堆栈,这就是通常说的“先进后出,后进先出”。

在堆栈中保存数据叫入栈,从堆栈中读取数据叫出栈。堆栈保存数据的特点是入栈和出栈是倒序的,最先入栈的数据要到最后才能出栈,而最后入栈的数据最先出栈,出栈就是递减,反之亦然。

设置栈时,大小要保证栈不会下溢出到数据空间或程序空间,CPU在运行程序时,会自动的使用堆栈,所以堆栈指针SP就须在调用C程序前设定。

参考资料来源:百度百科-单片机控制器

参考资料来源:百度百科-堆栈指针

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
du瓶邪
推荐于2017-09-30 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2981万
展开全部

SP 指的是堆栈指针
详细解释如下:
堆栈是一种数据结构,和他相类似的有队列。 

如果对数据结构有这样的要求: 先将数据放到该区内,先放的后出后放的先出。这种结构这是堆栈。也就是说堆栈的数据操作口只有一端。它常用到回朔等算法当中,说到数据结构,当然就要提到算法。而队列的操作正好与之相反。先放入的数据先出,后放的后出。它的数据操作是有两个口,一边只负责插入,一端只负责删除。

所以对其算法是先入先出(FIFO,First input First Output). 
堆栈区的使用不仅仅如此,由于其原理,可以使用堆栈区进行子程序的参数传递。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jinfahua
2010-12-22 · TA获得超过590个赞
知道小有建树答主
回答量:285
采纳率:0%
帮助的人:232万
展开全部
SP是堆栈指针。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九熊冬9
2010-12-22
知道答主
回答量:19
采纳率:0%
帮助的人:10.6万
展开全部
一共五条传送指令。
进行了三个部分的初始化:堆栈、定时器和中断系统。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式