您的位置:網站首頁 > 電器維修資料網 > 正文 >
什么是單片機堆棧
★★★★★【文章導讀】:什么是單片機堆棧具體內容是:堆棧是一個區域,是用來存放數據的,這個區域本身沒有任何特殊之處,就是內部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的第二、三、四工作寄存器區,經常要被使用,這會造成數據的混亂。不同作者編寫程序時,初始化堆棧指令也不完全相同,這是作者的習慣問題。當設置好堆棧區后,并不意味著該區域成為一種專用內存,它還可以象普通內存區域一樣使用,只是一般情況下編程者不會把它當成普通內存用了。
【看看這篇文章在百度的收錄情況】
相關文章
- 上一篇: 單片機程序的執行過程
- 下一篇: 單片機的開發過程