/*--------------------------------------------------------------------------- ; Copyright (C) 2003 CYGNAL INTEGRATED PRODUCTS, INC. ; All rights reserved. ; ; ; FILE NAME: C8051F120.H ; TARGET MCUs: C8051F120, F121, F122, F123, F124, F125, F126, F127 ; DESCRIPTION: Register/bit definitions for the C8051F120 product family. ; ; REVISION 1.6 ; ;---------------------------------------------------------------------------*/ /* BYTE Registers */ sfr P0 = 0x80; /* PORT 0 LATCH */ sfr SP = 0x81; /* STACK POINTER */ sfr DPL = 0x82; /* DATA POINTER LOW BYTE */ sfr DPH = 0x83; /* DATA POINTER HIGH BYTE */ sfr SFRPAGE = 0x84; /* SFR PAGE SELECT */ sfr SFRNEXT = 0x85; /* SFR STACK NEXT PAGE */ sfr SFRLAST = 0x86; /* SFR STACK LAST PAGE */ sfr PCON = 0x87; /* POWER CONTROL */ sfr FLSTAT = 0x88; /* FLASH STATUS */ sfr CPT0CN = 0x88; /* COMPARATOR 0 CONTROL */ sfr CPT1CN = 0x88; /* COMPARATOR 1 CONTROL */ sfr TCON = 0x88; /* TIMER/COUNTER CONTROL */ sfr TMOD = 0x89; /* TIMER/COUNTER MODE */ sfr CPT0MD = 0x89; /* COMPARATOR 0 CONFIGURATION */ sfr CPT1MD = 0x89; /* COMPARATOR 1 CONFIGURATION */ sfr PLL0CN = 0x89; /* PLL CONTROL */ sfr OSCICN = 0x8A; /* INTERNAL OSCILLATOR CONTROL */ sfr TL0 = 0x8A; /* TIMER/COUNTER 0 LOW BYTE */ sfr OSCICL = 0x8B; /* INTERNAL OSCILLATOR CALIBRATION */ sfr TL1 = 0x8B; /* TIMER/COUNTER 1 LOW BYTE */ sfr OSCXCN = 0x8C; /* EXTERNAL OSCILLATOR CONTROL */ sfr TH0 = 0x8C; /* TIMER/COUNTER 0 HIGH BYTE */ sfr TH1 = 0x8D; /* TIMER/COUNTER 1 HIGH BYTE */ sfr PLL0DIV = 0x8D; /* PLL DIVIDER */ sfr CKCON = 0x8E; /* CLOCK CONTROL */ sfr PLL0MUL = 0x8E; /* PLL MULTIPLIER */ sfr PSCTL = 0x8F; /* FLASH WRITE/ERASE CONTROL */ sfr PLL0FLT = 0x8F; /* PLL FILTER */ sfr P1 = 0x90; /* PORT 1 LATCH */ sfr SSTA0 = 0x91; /* UART 0 STATUS */ sfr MAC0BL = 0x91; /* MAC0 B REGISTER LOW BYTE */ sfr MAC0BH = 0x92; /* MAC0 B REGISTER HIGH BYTE */ sfr MAC0ACC0 = 0x93; /* MAC0 ACCUMULATOR BYTE 0 */ sfr MAC0ACC1 = 0x94; /* MAC0 ACCUMULATOR BYTE 1 */ sfr MAC0ACC2 = 0x95; /* MAC0 ACCUMULATOR BYTE 2 */ sfr SFRPGCN = 0x96; /* SFR PAGE CONTROL */ sfr MAC0ACC3 = 0x96; /* MAC0 ACCUMULATOR BYTE 3 */ sfr MAC0OVR = 0x97; /* MAC0 ACCUMULATOR OVERFLOW BYTE */ sfr CLKSEL = 0x97; /* SYSTEM CLOCK SELECT */ sfr SCON0 = 0x98; /* UART 0 CONTROL */ sfr SCON1 = 0x98; /* UART 1 CONTROL */ sfr SBUF0 = 0x99; /* UART 0 DATA BUFFER */ sfr SBUF1 = 0x99; /* UART 1 DATA BUFFER */ sfr SPI0CFG = 0x9A; /* SPI CONFIGURATION */ sfr CCH0MA = 0x9A; /* CACHE MISS ACCUMULATOR */ sfr SPI0DAT = 0x9B; /* SPI DATA */ sfr P4MDOUT = 0x9C; /* PORT 4 OUTPUT MODE CONFIGURATION */ sfr P5MDOUT = 0x9D; /* PORT 5 OUTPUT MODE CONFIGURATION */ sfr SPI0CKR = 0x9D; /* SPI CLOCK RATE CONTROL */ sfr P6MDOUT = 0x9E; /* PORT 6 OUTPUT MODE CONFIGURATION */ sfr P7MDOUT = 0x9F; /* PORT 7 OUTPUT MODE CONFIGURATION */ sfr P2 = 0xA0; /* PORT 2 LATCH */ sfr EMI0TC = 0xA1; /* EMIF TIMING CONTROL */ sfr CCH0CN = 0xA1; /* CACHE CONTROL */ sfr EMI0CN = 0xA2; /* EMIF CONTROL */ sfr CCH0TN = 0xA2; /* CACHE TUNING */ sfr EMI0CF = 0xA3; /* EMIF CONFIGURATION */ sfr CCH0LC = 0xA3; /* CACHE LOCK */ sfr P0MDOUT = 0xA4; /* PORT 0 OUTPUT MODE CONFIGURATION */ sfr P1MDOUT = 0xA5; /* PORT 1 OUTPUT MODE CONFIGURATION */ sfr P2MDOUT = 0xA6; /* PORT 2 OUTPUT MODE CONFIGURATION */ sfr P3MDOUT = 0xA7; /* PORT 3 OUTPUT MODE CONFIGURATION */ sfr IE = 0xA8; /* INTERRUPT ENABLE */ sfr SADDR0 = 0xA9; /* UART 0 SLAVE ADDRESS */ sfr P1MDIN = 0xAD; /* PORT 1 INPUT MODE */ sfr P3 = 0xB0; /* PORT 3 LATCH */ sfr PSBANK = 0xB1; /* FLASH BANK SELECT */ sfr FLACL = 0xB7; /* FLASH ACCESS LIMIT */ sfr FLSCL = 0xB7; /* FLASH SCALE */ sfr IP = 0xB8; /* INTERRUPT PRIORITY */ sfr SADEN0 = 0xB9; /* UART 0 SLAVE ADDRESS MASK */ sfr AMX0CF = 0xBA; /* ADC0 MULTIPLEXER CONFIGURATION */ sfr AMX2CF = 0xBA; /* ADC2 MULTIPLEXER CONFIGURATION */ sfr AMX0SL = 0xBB; /* ADC0 MULTIPLEXER CHANNEL SELECT */ sfr AMX2SL = 0xBB; /* ADC2 MULTIPLEXER CHANNEL SELECT */ sfr ADC0CF = 0xBC; /* ADC0 CONFIGURATION */ sfr ADC2CF = 0xBC; /* ADC2 CONFIGURATION */ sfr ADC0L = 0xBE; /* ADC0 DATA WORD LOW BYTE */ sfr ADC2 = 0xBE; /* ADC2DATA WORD */ sfr ADC0H = 0xBF; /* ADC0 DATA WORD HIGH BYTE */ sfr MAC0STA = 0xC0; /* MAC0 STATUS */ sfr SMB0CN = 0xC0; /* SMBUS CONTROL */ sfr MAC0AL = 0xC1; /* MAC0 A REGISTER LOW BYTE */ sfr SMB0STA = 0xC1; /* SMBUS STATUS */ sfr MAC0AH = 0xC2; /* MAC0 A REGISTER HIGH BYTE */ sfr SMB0DAT = 0xC2; /* SMBUS DATA */ sfr MAC0CF = 0xC3; /* MAC0 CONFIGURATION REGISTER */ sfr SMB0ADR = 0xC3; /* SMBUS SLAVE ADDRESS */ sfr ADC0GTL = 0xC4; /* ADC0 GREATER-THAN LOW BYTE */ sfr ADC2GT = 0xC4; /* ADC2 GREATER-THAN */ sfr ADC0GTH = 0xC5; /* ADC0 GREATER-THAN HIGH BYTE */ sfr ADC0LTL = 0xC6; /* ADC0 LESS-THAN LOW BYTE */ sfr ADC2LT = 0xC6; /* ADC2 LESS-THAN */ sfr ADC0LTH = 0xC7; /* ADC0 LESS-THAN HIGH BYTE */ sfr P4 = 0xC8; /* PORT 4 LATCH */ sfr TMR2CN = 0xC8; /* TIMER/COUNTER 2 CONTROL */ sfr TMR3CN = 0xC8; /* TIMER 3 CONTROL */ sfr TMR4CN = 0xC8; /* TIMER/COUNTER 4 CONTROL */ sfr TMR2CF = 0xC9; /* TIMER/COUNTER 2 CONFIGURATION */ sfr TMR3CF = 0xC9; /* TIMER 3 CONFIGURATION */ sfr TMR4CF = 0xC9; /* TIMER/COUNTER 4 CONFIGURATION */ sfr RCAP2L = 0xCA; /* TIMER/COUNTER 2 CAPTURE/RELOAD LOW BYTE */ sfr RCAP3L = 0xCA; /* TIMER 3 CAPTURE/RELOAD LOW BYTE */ sfr RCAP4L = 0xCA; /* TIMER/COUNTER 4 CAPTURE/RELOAD LOW BYTE */ sfr RCAP2H = 0xCB; /* TIMER/COUNTER 2 CAPTURE/RELOAD HIGH BYTE */ sfr RCAP3H = 0xCB; /* TIMER 3 CAPTURE/RELOAD HIGH BYTE */ sfr RCAP4H = 0xCB; /* TIMER/COUNTER 4 CAPTURE/RELOAD HIGH BYTE */ sfr TMR2L = 0xCC; /* TIMER/COUNTER 2 LOW BYTE */ sfr TMR3L = 0xCC; /* TIMER 3 LOW BYTE */ sfr TMR4L = 0xCC; /* TIMER/COUNTER 4 LOW BYTE */ sfr TMR2H = 0xCD; /* TIMER/COUNTER 2 HIGH BYTE */ sfr TMR3H = 0xCD; /* TIMER 3 HIGH BYTE */ sfr TMR4H = 0xCD; /* TIMER/COUNTER 4 HIGH BYTE */ sfr MAC0RNDL = 0xCE; /* MAC0 ROUNDING REGISTER LOW BYTE */ sfr MAC0RNDH = 0xCF; /* MAC0 ROUNDING REGISTER HIGH BYTE */ sfr SMB0CR = 0xCF; /* SMBUS CLOCK RATE */ sfr PSW = 0xD0; /* PROGRAM STATUS WORD */ sfr REF0CN = 0xD1; /* VOLTAGE REFERENCE CONTROL */ sfr DAC0L = 0xD2; /* DAC0 LOW BYTE */ sfr DAC1L = 0xD2; /* DAC1 LOW BYTE */ sfr DAC0H = 0xD3; /* DAC0 HIGH BYTE */ sfr DAC1H = 0xD3; /* DAC1 HIGH BYTE */ sfr DAC0CN = 0xD4; /* DAC0 CONTROL */ sfr DAC1CN = 0xD4; /* DAC1 CONTROL */ sfr P5 = 0xD8; /* PORT 5 LATCH */ sfr PCA0CN = 0xD8; /* PCA CONTROL */ sfr PCA0MD = 0xD9; /* PCA MODE */ sfr PCA0CPM0 = 0xDA; /* PCA MODULE 0 MODE */ sfr PCA0CPM1 = 0xDB; /* PCA MODULE 1 MODE REGISTER */ sfr PCA0CPM2 = 0xDC; /* PCA MODULE 2 MODE */ sfr PCA0CPM3 = 0xDD; /* PCA MODULE 3 MODE */ sfr PCA0CPM4 = 0xDE; /* PCA MODULE 4 MODE */ sfr PCA0CPM5 = 0xDF; /* PCA MODULE 5 MODE */ sfr ACC = 0xE0; /* ACCUMULATOR */ sfr XBR0 = 0xE1; /* PORT I/O CROSSBAR CONTROL 0 */ sfr PCA0CPL5 = 0xE1; /* PCA MODULE 5 CAPTURE/COMPARE LOW BYTE */ sfr PCA0CPH5 = 0xE2; /* PCA MODULE 5 CAPTURE/COMPARE HIGH BYTE */ sfr XBR1 = 0xE2; /* PORT I/O CROSSBAR CONTROL 1 */ sfr XBR2 = 0xE3; /* PORT I/O CROSSBAR CONTROL 2 */ sfr EIE1 = 0xE6; /* EXTENDED INTERRUPT ENABLE 1 */ sfr EIE2 = 0xE7; /* EXTENDED INTERRUPT ENABLE 2 */ sfr ADC0CN = 0xE8; /* ADC0 CONTROL */ sfr ADC2CN = 0xE8; /* ADC2 CONTROL */ sfr P6 = 0xE8; /* PORT 6 LATCH */ sfr PCA0CPL2 = 0xE9; /* PCA MODULE 2 CAPTURE/COMPARE LOW BYTE */ sfr PCA0CPH2 = 0xEA; /* PCA MODULE 2 CAPTURE/COMPARE HIGH BYTE */ sfr PCA0CPL3 = 0xEB; /* PCA MODULE 3 CAPTURE/COMPARE LOW BYTE */ sfr PCA0CPH3 = 0xEC; /* PCA MODULE 3 CAPTURE/COMPARE HIGH BYTE */ sfr PCA0CPL4 = 0xED; /* PCA MODULE 4 CAPTURE/COMPARE LOW BYTE */ sfr PCA0CPH4 = 0xEE; /* PCA MODULE 4 CAPTURE/COMPARE HIGH BYTE */ sfr RSTSRC = 0xEF; /* RESET SOURCE */ sfr B = 0xF0; /* B REGISTER */ sfr EIP1 = 0xF6; /* EXTERNAL INTERRUPT PRIORITY 1 */ sfr EIP2 = 0xF7; /* EXTERNAL INTERRUPT PRIORITY 2 */ sfr P7 = 0xF8; /* PORT 7 LATCH */ sfr SPI0CN = 0xF8; /* SPI CONTROL */ sfr PCA0L = 0xF9; /* PCA COUNTER LOW BYTE */ sfr PCA0H = 0xFA; /* PCA COUNTER HIGH BYTE */ sfr PCA0CPL0 = 0xFB; /* PCA MODULE 0 CAPTURE/COMPARE LOW BYTE */ sfr PCA0CPH0 = 0xFC; /* PCA MODULE 0 CAPTURE/COMPARE HIGH BYTE */ sfr PCA0CPL1 = 0xFD; /* PCA MODULE 1 CAPTURE/COMPARE LOW BYTE */ sfr PCA0CPH1 = 0xFE; /* PCA MODULE 1 CAPTURE/COMPARE HIGH BYTE */ sfr WDTCN = 0xFF; /* WATCHDOG TIMER CONTROL */ /* Bit Definitions */ /* TCON 0x88 */ sbit TF1 = 0x8F ; /* TIMER 1 OVERFLOW FLAG */ sbit TR1 = 0x8E ; /* TIMER 1 ON/OFF CONTROL */ sbit TF0 = 0x8D ; /* TIMER 0 OVERFLOW FLAG */ sbit TR0 = 0x8C ; /* TIMER 0 ON/OFF CONTROL */ sbit IE1 = 0x8B ; /* EXT. INTERRUPT 1 EDGE FLAG */ sbit IT1 = 0x8A ; /* EXT. INTERRUPT 1 TYPE */ sbit IE0 = 0x89 ; /* EXT. INTERRUPT 0 EDGE FLAG */ sbit IT0 = 0x88 ; /* EXT. INTERRUPT 0 TYPE */ /* CPT0CN 0x88 */ sbit CP0EN = 0x8F ; /* COMPARATOR 0 ENABLE */ sbit CP0OUT = 0x8E ; /* COMPARATOR 0 OUTPUT */ sbit CP0RIF = 0x8D ; /* COMPARATOR 0 RISING EDGE INTERRUPT */ sbit CP0FIF = 0x8C ; /* COMPARATOR 0 FALLING EDGE INTERRUPT */ sbit CP0HYP1 = 0x8B ; /* COMPARATOR 0 POSITIVE HYSTERISIS 1 */ sbit CP0HYP0 = 0x8A ; /* COMPARATOR 0 POSITIVE HYSTERISIS 0 */ sbit CP0HYN1 = 0x89 ; /* COMPARATOR 0 NEGATIVE HYSTERISIS 1 */ sbit CP0HYN0 = 0x88 ; /* COMPARATOR 0 NEGATIVE HYSTERISIS 0 */ /* CPT1CN 0x88 */ sbit CP1EN = 0x8F ; /* COMPARATOR 1 ENABLE */ sbit CP1OUT = 0x8E ; /* COMPARATOR 1 OUTPUT */ sbit CP1RIF = 0x8D ; /* COMPARATOR 1 RISING EDGE INTERRUPT */ sbit CP1FIF = 0x8C ; /* COMPARATOR 1 FALLING EDGE INTERRUPT */ sbit CP1HYP1 = 0x8B ; /* COMPARATOR 1 POSITIVE HYSTERISIS 1 */ sbit CP1HYP0 = 0x8A ; /* COMPARATOR 1 POSITIVE HYSTERISIS 0 */ sbit CP1HYN1 = 0x89 ; /* COMPARATOR 1 NEGATIVE HYSTERISIS 1 */ sbit CP1HYN0 = 0x88 ; /* COMPARATOR 1 NEGATIVE HYSTERISIS 0 */ /* FLSTAT 0x88 */ sbit FLHBUSY = 0x88 ; /* FLASH BUSY */ /* SCON0 0x98 */ sbit SM00 = 0x9F ; /* UART 0 MODE 0 */ sbit SM10 = 0x9E ; /* UART 0 MODE 1 */ sbit SM20 = 0x9D ; /* UART 0 MULTIPROCESSOR EN */ sbit REN0 = 0x9C ; /* UART 0 RX ENABLE */ sbit TB80 = 0x9B ; /* UART 0 TX BIT 8 */ sbit RB80 = 0x9A ; /* UART 0 RX BIT 8 */ sbit TI0 = 0x99 ; /* UART 0 TX INTERRUPT FLAG */ sbit RI0 = 0x98 ; /* UART 0 RX INTERRUPT FLAG */ /* SCON1 0x98 */ sbit S1MODE = 0x9F ; /* UART 1 MODE */ sbit MCE1 = 0x9D ; /* UART 1 MCE */ sbit REN1 = 0x9C ; /* UART 1 RX ENABLE */ sbit TB81 = 0x9B ; /* UART 1 TX BIT 8 */ sbit RB81 = 0x9A ; /* UART 1 RX BIT 8 */ sbit TI1 = 0x99 ; /* UART 1 TX INTERRUPT FLAG */ sbit RI1 = 0x98 ; /* UART 1 RX INTERRUPT FLAG */ /* IE 0xA8 */ sbit EA = 0xAF ; /* GLOBAL INTERRUPT ENABLE */ sbit ET2 = 0xAD ; /* TIMER 2 INTERRUPT ENABLE */ sbit ES0 = 0xAC ; /* UART0 INTERRUPT ENABLE */ sbit ET1 = 0xAB ; /* TIMER 1 INTERRUPT ENABLE */ sbit EX1 = 0xAA ; /* EXTERNAL INTERRUPT 1 ENABLE */ sbit ET0 = 0xA9 ; /* TIMER 0 INTERRUPT ENABLE */ sbit EX0 = 0xA8 ; /* EXTERNAL INTERRUPT 0 ENABLE */ /* IP 0xB8 */ sbit PT2 = 0xBD ; /* TIMER 2 PRIORITY */ sbit PS = 0xBC ; /* SERIAL PORT PRIORITY */ sbit PT1 = 0xBB ; /* TIMER 1 PRIORITY */ sbit PX1 = 0xBA ; /* EXTERNAL INTERRUPT 1 PRIORITY */ sbit PT0 = 0xB9 ; /* TIMER 0 PRIORITY */ sbit PX0 = 0xB8 ; /* EXTERNAL INTERRUPT 0 PRIORITY */ /* SMB0CN 0xC0 */ sbit BUSY = 0xC7 ; /* SMBUS 0 BUSY */ sbit ENSMB = 0xC6 ; /* SMBUS 0 ENABLE */ sbit STA = 0xC5 ; /* SMBUS 0 START FLAG */ sbit STO = 0xC4 ; /* SMBUS 0 STOP FLAG */ sbit SI = 0xC3 ; /* SMBUS 0 INTERRUPT PENDING FLAG */ sbit AA = 0xC2 ; /* SMBUS 0 ASSERT/ACKNOWLEDGE FLAG */ sbit SMBFTE = 0xC1 ; /* SMBUS 0 FREE TIMER ENABLE */ sbit SMBTOE = 0xC0 ; /* SMBUS 0 TIMEOUT ENABLE */ /* MAC0STA 0xC0 */ sbit MAC0HO = 0xC3 ; /* MAC0 HARD OVERFLOW */ sbit MAC0Z = 0xC2 ; /* MAC0 ZERO */ sbit MAC0SO = 0xC1 ; /* MAC0 SOFT OVERFLOW */ sbit MAC0N = 0xC0 ; /* MAC0 NEGATIVE */ /* TMR2CN 0xC8 */ sbit TF2 = 0xCF ; /* TIMER 2 OVERFLOW FLAG */ sbit EXF2 = 0xCE ; /* TIMER 2 EXTERNAL FLAG */ sbit EXEN2 = 0xCB ; /* TIMER 2 EXTERNAL ENABLE FLAG */ sbit TR2 = 0xCA ; /* TIMER 2 ON/OFF CONTROL */ sbit CT2 = 0xC9 ; /* TIMER 2 COUNTER SELECT */ sbit CPRL2 = 0xC8 ; /* TIMER 2 CAPTURE SELECT */ /* TMR3CN 0xC8 */ sbit TF3 = 0xCF ; /* TIMER 3 OVERFLOW FLAG */ sbit EXF3 = 0xCE ; /* TIMER 3 EXTERNAL FLAG */ sbit EXEN3 = 0xCB ; /* TIMER 3 EXTERNAL ENABLE FLAG */ sbit TR3 = 0xCA ; /* TIMER 3 ON/OFF CONTROL */ sbit CT3 = 0xC9 ; /* TIMER 3 COUNTER SELECT */ sbit CPRL3 = 0xC8 ; /* TIMER 3 CAPTURE SELECT */ /* TMR4CN 0xC8 */ sbit TF4 = 0xCF ; /* TIMER 4 OVERFLOW FLAG */ sbit EXF4 = 0xCE ; /* TIMER 4 EXTERNAL FLAG */ sbit EXEN4 = 0xCB ; /* TIMER 4 EXTERNAL ENABLE FLAG */ sbit TR4 = 0xCA ; /* TIMER 4 ON/OFF CONTROL */ sbit CT4 = 0xC9 ; /* TIMER 4 COUNTER SELECT */ sbit CPRL4 = 0xC8 ; /* TIMER 4 CAPTURE SELECT */ /* PSW 0xD0 */ sbit CY = 0xD7 ; /* CARRY FLAG */ sbit AC = 0xD6 ; /* AUXILIARY CARRY FLAG */ sbit F0 = 0xD5 ; /* USER FLAG 0 */ sbit RS1 = 0xD4 ; /* REGISTER BANK SELECT 1 */ sbit RS0 = 0xD3 ; /* REGISTER BANK SELECT 0 */ sbit OV = 0xD2 ; /* OVERFLOW FLAG */ sbit F1 = 0xD1 ; /* USER FLAG 1 */ sbit P = 0xD0 ; /* ACCUMULATOR PARITY FLAG */ /* PCA0CN 0xD8 */ sbit CF = 0xDF ; /* PCA 0 COUNTER OVERFLOW FLAG */ sbit CR = 0xDE ; /* PCA 0 COUNTER RUN CONTROL BIT */ sbit CCF5 = 0xDD ; /* PCA 0 MODULE 5 INTERRUPT FLAG */ sbit CCF4 = 0xDC ; /* PCA 0 MODULE 4 INTERRUPT FLAG */ sbit CCF3 = 0xDB ; /* PCA 0 MODULE 3 INTERRUPT FLAG */ sbit CCF2 = 0xDA ; /* PCA 0 MODULE 2 INTERRUPT FLAG */ sbit CCF1 = 0xD9 ; /* PCA 0 MODULE 1 INTERRUPT FLAG */ sbit CCF0 = 0xD8 ; /* PCA 0 MODULE 0 INTERRUPT FLAG */ /* ADC0CN 0xE8 */ sbit AD0EN = 0xEF ; /* ADC 0 ENABLE */ sbit AD0TM = 0xEE ; /* ADC 0 TRACK MODE */ sbit AD0INT = 0xED ; /* ADC 0 EOC INTERRUPT FLAG */ sbit AD0BUSY = 0xEC ; /* ADC 0 BUSY FLAG */ sbit AD0CM1 = 0xEB ; /* ADC 0 CONVERT START MODE BIT 1 */ sbit AD0CM0 = 0xEA ; /* ADC 0 CONVERT START MODE BIT 0 */ sbit AD0WINT = 0xE9 ; /* ADC 0 WINDOW INTERRUPT FLAG */ sbit AD0LJST = 0xE8 ; /* ADC 0 RIGHT JUSTIFY DATA BIT */ /* ADC2CN 0xE8 */ sbit AD2EN = 0xEF ; /* ADC 2 ENABLE */ sbit AD2TM = 0xEE ; /* ADC 2 TRACK MODE */ sbit AD2INT = 0xED ; /* ADC 2 EOC INTERRUPT FLAG */ sbit AD2BUSY = 0xEC ; /* ADC 2 BUSY FLAG */ sbit AD2CM2 = 0xEB ; /* ADC 2 CONVERT START MODE BIT 2 */ sbit AD2CM1 = 0xEA ; /* ADC 2 CONVERT START MODE BIT 1 */ sbit AD2CM0 = 0xE9 ; /* ADC 2 CONVERT START MODE BIT 0 */ sbit AD2WINT = 0xE8 ; /* ADC 2 WINDOW INTERRUPT FLAG */ /* SPI0CN 0xF8 */ sbit SPIF = 0xFF ; /* SPI 0 INTERRUPT FLAG */ sbit WCOL = 0xFE ; /* SPI 0 WRITE COLLISION FLAG */ sbit MODF = 0xFD ; /* SPI 0 MODE FAULT FLAG */ sbit RXOVRN = 0xFC ; /* SPI 0 RX OVERRUN FLAG */ sbit NSSMD1 = 0xFB ; /* SPI 0 SLAVE SELECT MODE 1 */ sbit NSSMD0 = 0xFA ; /* SPI 0 SLAVE SELECT MODE 0 */ sbit TXBMT = 0xF9 ; /* SPI 0 TX BUFFER EMPTY FLAG */ sbit SPIEN = 0xF8 ; /* SPI 0 SPI ENABLE */ /* SFR PAGE DEFINITIONS */ #define CONFIG_PAGE 0x0F /* SYSTEM AND PORT CONFIGURATION PAGE */ #define LEGACY_PAGE 0x00 /* LEGACY SFR PAGE */ #define TIMER01_PAGE 0x00 /* TIMER 0 AND TIMER 1 */ #define CPT0_PAGE 0x01 /* COMPARATOR 0 */ #define CPT1_PAGE 0x02 /* COMPARATOR 1 */ #define UART0_PAGE 0x00 /* UART 0 */ #define UART1_PAGE 0x01 /* UART 1 */ #define SPI0_PAGE 0x00 /* SPI 0 */ #define EMI0_PAGE 0x00 /* EXTERNAL MEMORY INTERFACE */ #define ADC0_PAGE 0x00 /* ADC 0 */ #define ADC2_PAGE 0x02 /* ADC 2 */ #define SMB0_PAGE 0x00 /* SMBUS 0 */ #define TMR2_PAGE 0x00 /* TIMER 2 */ #define TMR3_PAGE 0x01 /* TIMER 3 */ #define TMR4_PAGE 0x02 /* TIMER 4 */ #define DAC0_PAGE 0x00 /* DAC 0 */ #define DAC1_PAGE 0x01 /* DAC 1 */ #define PCA0_PAGE 0x00 /* PCA 0 */ #define PLL0_PAGE 0x0F /* PLL 0 */ #define MAC0_PAGE 0x03 /* MAC 0 */