❶ 單片機里sp是什麼意思啊
單片機里sp是堆棧指針。
堆棧指針SP英文全稱為stack pointer,是單片機控制器的組成部件之一,與時控制邏輯電路、指令寄存器解碼器、地址指針DPTR、程序計數器等部件共同組成CPU的神經中樞。堆棧指針在單片機里的作用是隨時跟蹤棧頂地址,以便存取單片機的數據。
每當執一次PUSH指令時,SP就(在原來值的基礎上)自動加1,每當執行一次POP指令,SP就(在原來值的基礎上)自動減1。
(1)sp在單片機擴展閱讀
由於SP中的值可以用指令加以改變,所以只要在程序開始階段更改了SP的值,就可以把堆棧設置在規定的內存單元中,如在程序開始時,用一條MOV SP,#5FH指令,就是把堆棧設置在從內存單元60H開始的單元中。
一般程序的開頭總有這么一條設置堆棧指針的指令,因為開機時,SP的初始值為07H,這樣就使堆棧從08H單元開始往後,而08H到1FH這個區域正是8031的第二、三、四工作寄存器區,經常要被使用,這會造成數據的混亂。
不同作者編寫程序時,初始化堆棧指令也不完全相同,這是作者的習慣問題。當設置好堆棧區後,並不意味著該區域成為一種專用內存,它還是可以象普通內存區域一樣使用,只是一般情況下編程者不會把它當成普通內存用了。
❷ SP在單片機中是什麼寄存器有什麼作用
你沒有說是什麼單片機產品,各單片機定義不同。
如果是MCS-51單片機,SP指的是堆棧指針寄存器Stack Pointer,指示堆棧的棧頂地址,定位要入棧或出棧的數據的存放位置。
❸ 51單片機中的SP是一個單獨的寄存器還是屬於RAM的一部分
SP是一個寄存器,是特殊寄存器中的一個,即SFR中的一個,他不屬於RAM.
我簡單的說一下單片機內部的內存的結構:
由四個部分組成:
1 ROM或者Flash
2 內部RAM
3 SFR
4 外部RAM
注意,很多單片機初學者,分不清內部RAM和SFR,認為他們是一個東西,其實不是,他們是完全獨立的兩個物理空間.
內部RAM的地址是 低部分00H--7FH 高部分80H--FFH
SFR的地址是 80H--FFH
雖然SFR和高的內部RAM地址相等,但是定址方式不一樣,所以單片機能區分得開