㈠ 51系列單片機上電復位後堆棧指針sp的初始值為多少最大容量是多少
答:51系列單片機上電復位後堆棧指針SP的初始值為07H,即SP=07H。堆棧區最大容量是120位元組,即08H~7FH全為堆棧區。可事實上沒有這么用的,也不可能用這么多,內部RAM主要用於存放程序運行中的變數。
㈡ STC12c5A60s2復位後sp的值為多少
STC12c5A60s2單片機屬於51單片機,內核就是8031,所以,於傳統51單片機是完全兼容的,即復位後sp的值為07H。因此,用匯編語言寫程序時,要給sp重賦值,指向60H以上的存儲區。而用C語言寫程序時,就不必考慮這個問題,因為編譯時由系列自動加入賦值語句。
㈢ MCS—51單片機復位後 psw的值為多少
MCS—51單片機復位後 程序狀態字psw的值=00H,即0000 0000B。各種標志位(如: 進位CY、輔助進位AC、溢出標志OV、奇偶標志位P、工作寄存器區選擇位)均為0。
特殊:堆棧SP=07H;P0,P1,P2,P3,P4為0FFH;
其它都為0;所以ACC=0;PSW=0;
SP=07H,P0~P3 為FFH,IP=XXX00000B(所有有效位為0)IEPCON=0XX00000B,TMODTCONSCON=00H 復位時,ALE=1和!PSEN=1。內部RAM不受復位的影響。
復位就是將單片機Ram值全都清零,常用復位有硬體復位,就是復位開關,psw pc復位後都為0。
(3)51單片機復位後sp指標擴展閱讀:
MCS-51單片機的內核:8051CPU,CPU的內部集成有運算器和控制器,運算器完成運算操作(包括數據運算、邏輯運算等),控制器完成取指令、對指令解碼以及執行指令。
MCS-51單片機的片內資源:中央處理器(CPU)、數據存儲器(RAM)、程序存儲器(ROM)、定時/計數器(ROM)、並行輸入輸出(I/O)口、全雙工串列口、中斷系統、時鍾電路。
㈣ 51單片機系統復位後,SP初始化為多少 壓的第一個數放在哪裡堆棧區域只能設置在哪
系統復位後,SP初始化為07H關於堆棧中第一個數不同作者編寫程序時,初始化堆棧指令也不完全相同,這是作者的習慣問題MCS-51單片的堆棧原則上可以設在內部RAM的任意區域內 。但是,一般設在31H~7FH的范圍之間
㈤ 為什麼mcs51單片機復位後,sp的初值是07H而不是81H
sp這個寄存器裡面存的是07H。
RAM初始化前七個被用作為R1-R7
堆棧指針只能在07H上。
07H也是地址。
你說的81H是特殊寄存器sp的地址。
也就是說地址81H裡面的值是07H。
特別要注意的是片內RAM高128位元組區和特殊寄存器SFR的
地址是相同的。間接定址存取片內ram數據。直接定址存取SFR。
概括就是,這兩塊地址獨立的,你說的兩個數都是不同塊的地址。
㈥ 單片機中的SP設置問題
如果是51單片機的話上電後SP默認的是07h,寄存器組默認的是第一組就是00h-07h這8個單元,寫程序的時候將自定義變數區設定在堆棧深度以外就可以了。
一般是將4個寄存器組單元地址預留出來。
㈦ 當「SP被賦值後」單片機復位後其值應為多少
單片機復位後,應注意:
1、復位期間不產生ALET和~PSEN信號,表明在復位期間不會有任何取指操作。
2、復位後PC值為0000H。
3、SP值為07H。
4、P0---P3口值為FFH。
5、其餘各寄存器在使用時一般先賦值。
㈧ 為什麼單片機復位後SP的值寫為60H(應該說30-7F都是可以的啊)
單片機復位後SP的值一般要用一條指令賦值為60H,這只是個別人寫程序的愛好與習慣罷了,沒有任何規定必須是賦值60H,更沒有任何原因必須選60H。
就單片機復位後,SP=07H,不用重新賦值也是可以的,否則,為什麼當初設計者會這么設計呢。由於51單片機的堆棧是向上增長的,所以,為了避免堆棧區與用戶數據區互相影響,才將SP設置在60H以後,比較合理的是賦值為6FH,這樣堆棧區可用70H~7FH,預留有16個單元足夠,也不浪費。
㈨ 單片機復位後,堆棧指針sp的值如果不對其修改會有什麼情況
對於51單片機復位後,堆棧指針sp的值為07H,如果不對其修改,會有情況,這要寫程序時是怎樣使用工作寄存器的。當程序中有調用子程序的指令,或有中斷服務程序時,要有堆棧操作,就會從08H單元開始使用堆棧區。而從08H單元開始正是1區工作寄存器區,如果程序中用到了1區的寄存器R0~R7,那麼堆棧操後將會破壞了R0~R7的數據。
㈩ 51單片機復位後sp指針是多少
51單片機是8位單片機,sp是8位的特殊寄存器,所以改正一樓朋友的回答,復位後sp的值為07H。