您的位置:网站首页 > 电器维修资料网 > 正文 >
什么是单片机堆栈
★★★★★【文章导读】:什么是单片机堆栈具体内容是:堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部分。特殊的是它存放和取用数据的方式,即所谓的“先进后出,后进先出”,并且堆栈有特殊的数据传输指令,即“PU…
来源: 日期:2013-12-17 21:35:29 人气:标签:
堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部分。特殊的是它存放和取用数据的方式,即所谓的“先进后出,后进先出”,并且堆栈有特殊的数据传输指令,即“PUSH”和“POP”,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执行一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减10由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOVSP.#5FH指令,就是把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的混乱。不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。
【看看这篇文章在百度的收录情况】
相关文章
- 上一篇: 单片机程序的执行过程
- 下一篇: 单片机的开发过程