/*---------------------------------------------------------------------- REG508.H Header file for Infineon C508 Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved. --------------------------------------------------------------------------*/ #ifndef __REG508_H__ #define __REG508_H__ /* BYTE Register */ sfr P0 = 0x80; sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr WDTREL = 0x86; sfr PCON = 0x87; sfr TCON = 0x88; sfr PCON1 = 0x88; /* in mapped SFR area */ sfr TMOD = 0x89; sfr TL0 = 0x8A; sfr TL1 = 0x8B; sfr TH0 = 0x8C; sfr TH1 = 0x8D; sfr P1 = 0x90; sfr XPAGE = 0x91; sfr DPSEL = 0x92; sfr SCON = 0x98; sfr SBUF = 0x99; sfr IEN2 = 0x9A; sfr P2 = 0xA0; sfr IEN0 = 0xA8; sfr IP0 = 0xA9; sfr SRELL = 0xAA; sfr P3 = 0xB0; sfr SYSCON = 0xB1; sfr IEN1 = 0xB8; sfr IP1 = 0xB9; sfr SRELH = 0xBA; sfr IEN3 = 0xBE; sfr IRCON = 0xC0; sfr CCEN = 0xC1; sfr CCL1 = 0xC2; sfr CCH1 = 0xC3; sfr CCL2 = 0xC4; sfr CCH2 = 0xC5; sfr CCL3 = 0xC6; sfr CCH3 = 0xC7; sfr T2CON = 0xC8; sfr CRCL = 0xCA; sfr CRCH = 0xCB; sfr TL2 = 0xCC; sfr TH2 = 0xCD; /* 16-Bit SFR's for CC?? registers */ sfr16 CC1 = 0xC2; sfr16 CC2 = 0xC4; sfr16 CC3 = 0xC6; sfr16 CRC = 0xCA; sfr16 T2 = 0xCC; sfr PSW = 0xD0; sfr CP2L = 0xD2; sfr CP2H = 0xD3; sfr16 CP2 = 0xD2; sfr CMP2L = 0xD4; sfr CMP2H = 0xD5; sfr16 CMP2 = 0xD4; sfr CCIE = 0xD6; sfr CC1L2 = 0xD6; sfr BCON = 0xD7; sfr ADCON0 = 0xD8; sfr ADDATH = 0xD9; sfr ADDATL = 0xDA; sfr P4 = 0xDB; sfr ADCON1 = 0xDC; sfr CCPL = 0xDE; sfr CCPH = 0xDF; sfr16 CCP = 0xDE; sfr ACC = 0xE0; sfr CT1CON = 0xE1; sfr COINI = 0xE2; sfr CMSEL0 = 0xE3; sfr CMSEL1 = 0xE4; sfr CCIR = 0xE5; sfr CT1OFL = 0xE6; sfr CT1OFH = 0xE7; sfr B = 0xF0; sfr CT2CON = 0xF1; sfr CCL0 = 0xF2; sfr CCH0 = 0xF3; //sfr CCL1 = 0xF4; //sfr CCH1 = 0xF5; //sfr CCL2 = 0xF6; //sfr CCH2 = 0xF7; sfr P5 = 0xF8; sfr COTRAP = 0xF9; sfr EINT = 0xFB; sfr VR0 = 0xFC; /* in mapped SFR area */ sfr VR1 = 0xFD; /* in mapped SFR area */ sfr VR2 = 0xFE; /* in mapped SFR area */ sfr TRCON = 0xFF; /* BIT Register */ /* P0 */ sbit P0_7 = P0^7; sbit P0_6 = P0^6; sbit P0_5 = P0^5; sbit P0_4 = P0^4; sbit P0_3 = P0^3; sbit P0_2 = P0^2; sbit P0_1 = P0^1; sbit P0_0 = P0^0; /* TCON */ sbit TF1 = TCON^7; sbit TR1 = TCON^6; sbit TF0 = TCON^5; sbit TR0 = TCON^4; sbit IE1 = TCON^3; sbit IT1 = TCON^2; sbit IE0 = TCON^1; sbit IT0 = TCON^0; /* PCON1 */ sbit EWPD = PCON1^7; sbit WS = PCON1^4; /* P1 */ sbit _T2 = P1^7; // symbol "T2" used for sfr16 Timer2 sbit CLKOUT = P1^6; sbit T2EX = P1^5; sbit P1_4 = P1^4; sbit P1_3 = P1^3; sbit INT5 = P1^2; sbit INT4 = P1^1; sbit P1_0 = P1^0; /* SCON */ sbit SM0 = SCON^7; sbit SM1 = SCON^6; sbit SM2 = SCON^5; sbit REN = SCON^4; sbit TB8 = SCON^3; sbit RB8 = SCON^2; sbit TI = SCON^1; sbit RI = SCON^0; /* P2 */ sbit P2_7 = P2^7; sbit P2_6 = P2^6; sbit P2_5 = P2^5; sbit P2_4 = P2^4; sbit P2_3 = P2^3; sbit P2_2 = P2^2; sbit P2_1 = P2^1; sbit P2_0 = P2^0; /* IEN0 */ sbit EA = IEN0^7; sbit WDT = IEN0^6; sbit ET2 = IEN0^5; sbit ES = IEN0^4; sbit ET1 = IEN0^3; sbit EX1 = IEN0^2; sbit ET0 = IEN0^1; sbit EX0 = IEN0^0; /* P3 */ sbit RD = P3^7; sbit WR = P3^6; sbit T1 = P3^5; sbit T0 = P3^4; sbit INT1 = P3^3; sbit INT0 = P3^2; sbit TXD = P3^1; sbit RXD = P3^0; /* IEN1 */ sbit SWDT = IEN1^6; sbit EX6 = IEN1^5; sbit EX5 = IEN1^4; sbit EX4 = IEN1^3; sbit EX3 = IEN1^2; sbit EX2 = IEN1^1; sbit EADC = IEN1^0; /* IRCON */ sbit TF2 = IRCON^6; sbit IEX6 = IRCON^5; sbit IEX5 = IRCON^4; sbit IEX4 = IRCON^3; sbit IEX3 = IRCON^2; sbit IEX2 = IRCON^1; sbit IADC = IRCON^0; /* T2CON */ sbit T2PS = T2CON^7; sbit I3FR = T2CON^6; sbit I2FR = T2CON^5; sbit T2R = T2CON^4; sbit T2CM = T2CON^2; sbit T2I = T2CON^0; /* PSW */ sbit CY = PSW^7; sbit AC = PSW^6; sbit F0 = PSW^5; sbit RS1 = PSW^4; sbit RS0 = PSW^3; sbit OV = PSW^2; sbit F1 = PSW^1; sbit P = PSW^0; /* ADCON0 */ sbit BD = ADCON0^7; sbit CLK = ADCON0^6; sbit BSY = ADCON0^4; sbit ADM = ADCON0^3; sbit MX2 = ADCON0^2; sbit MX1 = ADCON0^1; sbit MX0 = ADCON0^0; /* P5 */ sbit P5_7 = P5^7; sbit P5_6 = P5^6; sbit P5_5 = P5^5; sbit P5_4 = P5^4; sbit P5_3 = P5^3; sbit P5_2 = P5^2; sbit P5_1 = P5^1; sbit P5_0 = P5^0; #endif