特殊功能暫存器
外观

特殊功能暫存器(special function register)簡稱SFR,是单片机裡控制或是監控不同層面功能的寄存器。依處理器架構不同,特殊功能暫存器可能會包括以下這些
因為SFR和微處理器的狀態或是一些特殊功能緊密相關,有些单片机會規劃無法用一般指令(例如ADD, MOV)直接寫入SFR,而是要用特殊的指令才能修改。例如,程式計數器(PC)就無法直接用指令將特定值寫入,而是用子程序返回、跳躍或是條件分支等指令來改變其值。而狀態暫存器的值也無法直接修改,而是根據程式執行或是比較的狀態來變更其數值。
Intel微控制器
[编辑]Intel微控制器的SFR在可定址記憶體的較高區塊,位址範圍是0x80至0xFF。此區域的記憶體不能用來儲存程式或是資料,是記憶體對映的埠和暫存器。所有的埠輸入和輸出都可以用SFR區特定記憶體的讀寫來表示。其中也對映了其他的狀態暫存器到SFR區,例如檢查8051狀態的暫存器,或是修改一些運行狀態的暫存器。
有些SFR的位元可以直接用位元定位讀寫的SETB/LDB指令處理。Intel 80196有24個SFR,每個的大小是一個位元組,標準的Intel 8051則有21個SFR。
外部連結
[编辑]- i8051 SFRs (页面存档备份,存于互联网档案馆)
- SPECIAL FUNCTION REGISTERS 1/2,存档于互联网档案馆(存檔日期 2014-01-29)
- SFRs in C programming for AVR (页面存档备份,存于互联网档案馆)