Special function register

Short description: Microprocessor register tracking operation mode

A Special Function Register (or Special Purpose Register, or simply Special Register) is a register within a microprocessor, which controls or monitors various aspects of the microprocessor's function. Depending on the processor architecture, this can include, but is not limited to:

* I/O and peripheral control (such as serial ports or general-purpose IOs)
* timers
* stack pointer
* stack limit (to prevent overflows)
* program counter
* subroutine return address
* processor status (servicing an interrupt, running in protected mode, etc.)
* condition codes (result of previous comparisons)

Because special registers are closely tied to some special function or status of the processor, they might not be directly writeable by normal instructions (such as adds, moves, etc.). Instead, some special registers in some processor architectures require special instructions to modify them. For example, the program counter is not directly writeable in many processor architectures. Instead, the programmer uses instructions such as return from subroutine, jump, or branch to modify the program counter. For another example, the condition code register might not directly writable, instead being updated only by compare instructions.

## Intel Processors

Some of SFR (Special Function Register) bits may be set directly using SETB/LDB instructions on proper address, whereas others may require usage of specific instructions. The Intel 80196 class microcontroller has 24 SFRs, each 1 Byte in size; standard Intel 8051 chips have 21 SFRs.

The Special Function Register (SFR) is the upper area of addressable memory, from address 0x80 to 0xFF. This area of memory can't be used for data or program storage, but is instead a series of memory-mapped ports and registers. All port input and output can therefore be performed by memory move operations on specified addresses in the SFR. Also, different status registers are mapped into the SFR, for use in checking the status of the 8051, and changing some operational parameters of the 8051.

## External links

* i8051 SFRs
*   * SFRs in C programming for AVR

* v
* t
* e

Microcontrollers

Main|

* Single-board microcontroller
* Special function register

Architectures|

* 68000
* 8051
* ARC
* ARM
* AVR
* MIPS
* PIC
* RISC-V

Families|

| 4-bit|

* Am2900
* MARC4
* S1C6x
* TLCS-47
* TMS1000
* μCOM-4

|

8-bit|

* 6800
* 68HC05
* 68HC08
* 68HC11
* S08
* RS08
* 6502
* 65C134
* 65C265
* MELPS 740
* 78K
* 8048
* 8051
* XC800
* AVR
* COP8
* H8
* PIC10/12/16/17/18
* ST6/ST7
* STM8
* Z8
* Z80
* eZ80
* Rabbit 2000
* TLCS-870

16-bit|

* 68HC12/16
* C166
* CR16/C
* H8S
* MSP430
* PIC24/dsPIC
* R8C
* RL78
* TLCS-900
* Z8000

32-bit|

* Am29000
* ARM/Cortex-M
* EFM32
* LPC
* SAM
* STM32
* XMC
* AVR32
* CRX
* FR
* FR-V
* H8SX
* M32R
* 68000
* ColdFire
* PIC32
* PowerPC
* MPC5xx
* Propeller
* TLCS-900
* TriCore
* V850
* RX
* Z80000

64-bit|

* PowerPC64

Interfaces|

| Programming|

* In-circuit serial programming (ICSP)
* In-system programming (ISP)
* Program and Debug Interface (PDI)
* High-voltage serial programming (HVSP)
* High voltage parallel programming (HVPP)
* Bootloader
* ROM
* aWire

|

Debugging|

* Nexus (standard)
* Joint Test Action Group (JTAG)
* debugWIRE (Atmel)
* In-circuit debugging (ICD)
* In-circuit emulator (ICE)
* In-target probe (ITP)

Simulators|

* gpsim

Lists|

* List of common microcontrollers
* By manufacturer
* Intel
* NXP/Freescale
* Infineon
* Renesas Electronics
* List of Wi-Fi microcontrollers

See also|

* Embedded system
* Programmable logic controller
* List of microprocessors

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Special function register. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Engineering:Special_function_register&oldid=370493"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template