Keil Logo

Special Function Registers

The C16x/ST10/XC16x families of microcontrollers provide distinct memory areas for accessing Special Function Registers (SFRs). SFRs are used in your program to control on-chip peripherals like timers, counters, and I/O ports.

SFRs reside from address 0xFE00-0xFFDE and 0xF000-0xF1DE. They may be accessed as bits, bytes, and words. Within the C16x/ST10/XC16x microcontroller families, the number and type of SFRs vary widely. For more information about SFRs refer to the data book for the device you use.

The C166 Compiler provides a number of include files for various C16x/ST10/XC16x derivatives. Each file contains declarations for the SFRs available on that device. Refer to SFR Definitions for more information about the available include files.

The C166 Compiler provides access to SFRs with the sfr and sbit data types.


  • No SFR names are predefined by the C166 Compiler.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.