C SFR DEFINITION FILE

Next is an example of a Special Function Register (SFR) definition file, created for the 8051, 8031, 8751, 80C51, 80C31 and 87C51 derivatives. See the -Ccpu compiler option for a list of all SFR files.

/* special function register definition file: reg51.sfr */

_sfrbyte P0 _at( 0x80 ); _sfrbit TR1 _at( 0x8E );
_sfrbyte SP _at( 0x81 ); _sfrbit TF1 _at( 0x8F );
_sfrbyte DPL _at( 0x82 ); _sfrbit P1_0 _at( 0x90 );
_sfrbyte DPH _at( 0x83 ); _sfrbit P1_1 _at( 0x91 );
_sfrbyte PCON _at( 0x87 ); _sfrbit P1_2 _at( 0x92 );
_sfrbyte TCON _at( 0x88 ); _sfrbit P1_3 _at( 0x93 );
_sfrbyte TMOD _at( 0x89 ); _sfrbit P1_4 _at( 0x94 );
_sfrbyte TL0 _at( 0x8A ); _sfrbit P1_5 _at( 0x95 );
_sfrbyte TL1 _at( 0x8B ); _sfrbit P1_6 _at( 0x96 );
_sfrbyte TH0 _at( 0x8C ); _sfrbit P1_7 _at( 0x97 );
_sfrbyte TH1 _at( 0x8D ); _sfrbit RI _at( 0x98 );
_sfrbyte P1 _at( 0x90 ); _sfrbit TI _at( 0x99 );
_sfrbyte SCON _at( 0x98 ); _sfrbit RB8 _at( 0x9A );
_sfrbyte SBUF _at( 0x99 ); _sfrbit TB8 _at( 0x9B );
_sfrbyte P2 _at( 0xA0 ); _sfrbit REN _at( 0x9C );
_sfrbyte IE _at( 0xA8 ); _sfrbit SM2 _at( 0x9D );
_sfrbyte P3 _at( 0xB0 ); _sfrbit SM1 _at( 0x9E );
_sfrbyte IP _at( 0xB8 ); _sfrbit SM0 _at( 0x9F );
_sfrbyte PSW _at( 0xD0 ); _sfrbit P2_0 _at( 0xA0 );
_sfrbyte ACC _at( 0xE0 ); _sfrbit P2_1 _at( 0xA1 );
_sfrbyte B _at( 0xF0 ); _sfrbit P2_2 _at( 0xA2 );
_sfrbit P0_0 _at( 0x80 ); _sfrbit P2_3 _at( 0xA3 );
_sfrbit P0_1 _at( 0x81 ); _sfrbit P2_4 _at( 0xA4 );
_sfrbit P0_2 _at( 0x82 ); _sfrbit P2_5 _at( 0xA5 );
_sfrbit P0_3 _at( 0x83 ); _sfrbit P2_6 _at( 0xA6 );
_sfrbit P0_4 _at( 0x84 ); _sfrbit P2_7 _at( 0xA7 );
_sfrbit P0_5 _at( 0x85 ); _sfrbit EX0 _at( 0xA8 );
_sfrbit P0_6 _at( 0x86 ); _sfrbit ET0 _at( 0xA9 );
_sfrbit P0_7 _at( 0x87 ); _sfrbit EX1 _at( 0xAA );
_sfrbit IT0 _at( 0x88 ); _sfrbit ET1 _at( 0xAB );
_sfrbit IE0 _at( 0x89 ); _sfrbit ES _at( 0xAC );
_sfrbit IT1 _at( 0x8A ); _sfrbit EA _at( 0xAF );
_sfrbit IE1 _at( 0x8B ); _sfrbit P3_0 _at( 0xB0 );
_sfrbit TR0 _at( 0x8C ); _sfrbit RXD _at( 0xB0 );
_sfrbit TF0 _at( 0x8D ); _sfrbit P3_1 _at( 0xB1 );

_sfrbit TXD _at( 0xB1 ); _sfrbit RS1 _at( 0xD4 );
_sfrbit INT0 _at( 0xB2 ); _sfrbit F0 _at( 0xD5 );
_sfrbit P3_2 _at( 0xB2 ); _sfrbit AC _at( 0xD6 );
_sfrbit INT1 _at( 0xB3 ); _sfrbit CY _at( 0xD7 );
_sfrbit P3_3 _at( 0xB3 ); _sfrbit ACC_0 _at( 0xE0 );
_sfrbit P3_4 _at( 0xB4 ); _sfrbit ACC_1 _at( 0xE1 );
_sfrbit T0 _at( 0xB4 ); _sfrbit ACC_2 _at( 0xE2 );
_sfrbit P3_5 _at( 0xB5 ); _sfrbit ACC_3 _at( 0xE3 );
_sfrbit T1 _at( 0xB5 ); _sfrbit ACC_4 _at( 0xE4 );
_sfrbit P3_6 _at( 0xB6 ); _sfrbit ACC_5 _at( 0xE5 );
_sfrbit WR _at( 0xB6 ); _sfrbit ACC_6 _at( 0xE6 );
_sfrbit P3_7 _at( 0xB7 ); _sfrbit ACC_7 _at( 0xE7 );
_sfrbit RD _at( 0xB7 ); _sfrbit B_0 _at( 0xF0 );
_sfrbit PX0 _at( 0xB8 ); _sfrbit B_1 _at( 0xF1 );
_sfrbit PT0 _at( 0xB9 ); _sfrbit B_2 _at( 0xF2 );
_sfrbit PX1 _at( 0xBA ); _sfrbit B_3 _at( 0xF3 );
_sfrbit PT1 _at( 0xBB ); _sfrbit B_4 _at( 0xF4 );
_sfrbit PS _at( 0xBC ); _sfrbit B_5 _at( 0xF5 );
_sfrbit P _at( 0xD0 ); _sfrbit B_6 _at( 0xF6 );
_sfrbit OV _at( 0xD2 ); _sfrbit B_7 _at( 0xF7 );
_sfrbit RS0 _at( 0xD3 );


Copyright © 2002 Altium BV