//*******************************************************************************************<br /><br />/*--------------------------------------------------------------------------<br />REG952.H<br />Header file for Philips 89LPC952<br /><br />--------------------------------------------------------------------------*/<br /><br />#ifndef __REG952_H__<br />#define __REG952_H__<br /><br />/* Include memory mapped SFRs */<br />/* Analog Digital Converter 0*/<br />#define ADC0HBND (*((unsigned char volatile xdata*)0xFFEF))<br />#define ADC0LBND (*((unsigned char volatile xdata*)0xFFEE))<br />#define AD0DAT0R (*((unsigned char volatile xdata*)0xFFFE))<br />#define AD0DAT0L (*((unsigned char volatile xdata*)0xFFFF))<br />#define AD0DAT1R (*((unsigned char volatile xdata*)0xFFFC))<br />#define AD0DAT1L (*((unsigned char volatile xdata*)0xFFFD))<br />#define AD0DAT2R (*((unsigned char volatile xdata*)0xFFFA))<br />#define AD0DAT2L (*((unsigned char volatile xdata*)0xFFFB))<br />#define AD0DAT3R (*((unsigned char volatile xdata*)0xFFF8))<br />#define AD0DAT3L (*((unsigned char volatile xdata*)0xFFF9))<br />#define AD0DAT4R (*((unsigned char volatile xdata*)0xFFF6))<br />#define AD0DAT4L (*((unsigned char volatile xdata*)0xFFF7))<br />#define AD0DAT5R (*((unsigned char volatile xdata*)0xFFF4))<br />#define AD0DAT5L (*((unsigned char volatile xdata*)0xFFF5))<br />#define AD0DAT6R (*((unsigned char volatile xdata*)0xFFF2))<br />#define AD0DAT6L (*((unsigned char volatile xdata*)0xFFF3))<br />#define AD0DAT7R (*((unsigned char volatile xdata*)0xFFF0))<br />#define AD0DAT7L (*((unsigned char volatile xdata*)0xFFF1))<br />#define BNDSTA0 (*((unsigned char volatile xdata*)0xFFED))<br /><br />#define BRGCON_1 (*((unsigned char volatile xdata*)0xFFB3))<br />#define BRG0_1 (*((unsigned char volatile xdata*)0xFFB4))<br />#define BRG1_1 (*((unsigned char volatile xdata*)0xFFB5))<br />#define P4M1 (*((unsigned char volatile xdata*)0xFFB8))<br />#define P4M2 (*((unsigned char volatile xdata*)0xFFB9))<br />#define P5M1 (*((unsigned char volatile xdata*)0xFFBA))<br />#define P5M2 (*((unsigned char volatile xdata*)0xFFBB))<br />#define S1ADDR (*((unsigned char volatile xdata*)0xFFB2))<br />#define S1ADEN (*((unsigned char volatile xdata*)0xFFB1))<br />#define S1BUF (*((unsigned char volatile xdata*)0xFFB0))<br /><br /><br />/* BYTE Registers */<br />sfr ACC = 0xE0;<br />sfr AD0CON = 0x97;<br />sfr AD0INS = 0xA3;<br />sfr ADMODA = 0xC0;<br />sfr ADMODB = 0xA1;<br />sfr AUXR1 = 0xA2;<br /><br />sfr B = 0xF0;<br />sfr BRGR0_0 = 0xBE;<br />sfr BRGR1_0 = 0xBF;<br />sfr BRGCON_0 = 0xBD;<br /><br />sfr CMP1 = 0xAC;<br />sfr CMP2 = 0xAD;<br /><br />sfr DIVM = 0x95;<br />sfr DPH = 0x83;<br />sfr DPL = 0x82;<br />sfr FADRH = 0xE7;<br />sfr FMADRL = 0xE6;<br />sfr FMCON = 0xE4;<br />sfr FMDATA = 0xE5;<br /><br />sfr I2ADR = 0xDB;<br />sfr I2CON = 0xD8;<br />sfr I2DAT = 0xDA;<br />sfr I2SCLH = 0xDD;<br />sfr I2SCLL = 0xDC;<br />sfr I2STAT = 0xD9;<br /><br />sfr IEN0 = 0xA8;<br />sfr IEN1 = 0xE8;<br />sfr IEN2 = 0xD5;<br />sfr IP0 = 0xB8;<br />sfr IP0H = 0xB7;<br />sfr IP1 = 0xF8;<br />sfr IP1H = 0xF7;<br />sfr IP2 = 0xD6;<br />sfr IP2H = 0xD7;<br /><br />sfr KBCON = 0x94;<br />sfr KBMASK = 0x86;<br />sfr KBPATN = 0x93;<br /><br />sfr P0 = 0x80;<br />sfr P1 = 0x90;<br />sfr P2 = 0xA0;<br />sfr P3 = 0xB0;<br />sfr P4 = 0xB3;<br />sfr P5 = 0xB4;<br /><br /><br />sfr P0M1 = 0x84;<br />sfr P0M2 = 0x85;<br />sfr P1M1 = 0x91;<br />sfr P1M2 = 0x92;<br />sfr P2M1 = 0xA4;<br />sfr P2M2 = 0xA5;<br />sfr P3M1 = 0xB1;<br />sfr P3M2 = 0xB2;<br />sfr PCON = 0x87;<br />sfr PCONA = 0xB5;<br />sfr PSW = 0xD0;<br />sfr PT0AD = 0xF6;<br /><br />sfr RSTSRC = 0xDF;<br />sfr RTCCON = 0xD1;<br />sfr RTCH = 0xD2;<br />sfr RTCL = 0xD3;<br /><br />sfr S0ADDR = 0xA9;<br />sfr S0ADEN = 0xB9;<br />sfr S0BUF = 0x99;<br />sfr S0CON = 0x98;<br />sfr S0STAT = 0xBA;<br />sfr SP = 0x81;<br />sfr SPCTL = 0xE2;<br />sfr SPSTAT = 0xE1;<br />sfr SPDAT = 0xE3;<br />sfr S1CON = 0xB6;<br />sfr S1STAT = 0xD4;<br /><br />sfr TAMOD = 0x8F;<br />sfr TCON = 0x88;<br />sfr TH0 = 0x8C;<br />sfr TH1 = 0x8D;<br />sfr TL0 = 0x8A;<br />sfr TL1 = 0x8B;<br />sfr TMOD = 0x89;<br />sfr TRIM = 0x96;<br /><br />sfr WDCON = 0xA7;<br />sfr WDL = 0xC1;<br />sfr WFEED1 = 0xC2;<br />sfr WFEED2 = 0xC3;<br /><br /><br />/* BIT Registers */<br />/* PSW */<br />sbit CY = PSW^7;<br />sbit AC = PSW^6;<br />sbit F0 = PSW^5;<br />sbit RS1 = PSW^4;<br />sbit RS0 = PSW^3;<br />sbit OV = PSW^2;<br />sbit F1 = PSW^1;<br />sbit P = PSW^0;<br /><br />/* TCON */<br />sbit TF1 = TCON^7;<br />sbit TR1 = TCON^6;<br />sbit TF0 = TCON^5;<br />sbit TR0 = TCON^4;<br />sbit IE1 = TCON^3;<br />sbit IT1 = TCON^2;<br />sbit IE0 = TCON^1;<br />sbit IT0 = TCON^0;<br /><br />/* IEN0 */<br />sbit EA = IEN0^7;<br />sbit EWDRT = IEN0^6;<br />sbit EBO = IEN0^5;<br />sbit ES = IEN0^4; // alternatively "ESR"<br />sbit ESR = IEN0^4;<br />sbit ET1 = IEN0^3;<br />sbit EX1 = IEN0^2;<br />sbit ET0 = IEN0^1;<br />sbit EX0 = IEN0^0;<br /><br />/* IEN1 */<br />sbit EAD = IEN1^7; // alternatively "EIEE" <br />sbit EIEE = IEN1^7;<br />sbit EST = IEN1^6;<br />sbit ECCU = IEN1^4;<br />sbit ESPI = IEN1^3;<br />sbit EC = IEN1^2;<br />sbit EKBI = IEN1^1;<br />sbit EI2C = IEN1^0;<br /><br />/* IP0 */ <br />sbit PWDRT = IP0^6;<br />sbit PB0 = IP0^5;<br />sbit PS = IP0^4; // alternatively "PSR"<br />sbit PSR = IP0^4;<br />sbit PT1 = IP0^3;<br />sbit PX1 = IP0^2;<br />sbit PT0 = IP0^1;<br />sbit PX0 = IP0^0;<br /><br />/* IP1 */<br />sbit PAD = IP1^7; // alternatively "PIEE" <br />sbit PIEE = IP1^7;<br />sbit PST = IP1^6;<br />sbit PCCU = IP1^4;<br />sbit PSPI = IP1^3;<br />sbit PC_ = IP1^2;<br />sbit PKBI = IP1^1;<br />sbit PI2C = IP1^0;<br /><br />/* S0CON */<br />sbit SM0_0 = S0CON^7; // alternatively "FE"<br />sbit FE_0 = S0CON^7;<br />sbit SM1_0 = S0CON^6;<br />sbit SM2_0 = S0CON^5;<br />sbit REN_0 = S0CON^4;<br />sbit TB8_0 = S0CON^3;<br />sbit RB8_0 = S0CON^2;<br />sbit TI_0 = S0CON^1;<br />sbit RI_0 = S0CON^0;<br /><br />/* S1CON */<br />sbit SM0_1 = S1CON^7; // alternatively "FE"<br />sbit FE_1 = S1CON^7;<br />sbit SM1_1 = S1CON^6;<br />sbit SM2_1 = S1CON^5;<br />sbit REN_1 = S1CON^4;<br />sbit TB8_1 = S1CON^3;<br />sbit RB8_1 = S1CON^2;<br />sbit TI_1 = S1CON^1;<br />sbit RI_1 = S1CON^0;<br /><br />/* I2CON */<br />sbit I2EN = I2CON^6;<br />sbit STA = I2CON^5;<br />sbit STO = I2CON^4;<br />sbit SI = I2CON^3;<br />sbit AA = I2CON^2;<br />sbit CRSEL = I2CON^0;<br /><br />/* P0 */<br />sbit KB7 = P0^7; // alternatively "T1"<br />sbit T1 = P0^7;<br />sbit KB6 = P0^6; // alternatively "CMP1"<br />//sbit CMP1 = P0^6;<br />sbit KB5 = P0^5;<br />sbit KB4 = P0^4;<br />sbit KB3 = P0^3;<br />sbit KB2 = P0^2;<br />sbit KB1 = P0^1;<br />sbit KB0 = P0^0; // alternatively "CMP2"<br />//sbit CMP2 = P0^0;<br /><br /><br />/* P3 */<br />sbit XTAL1= P3^1;<br />sbit XTAL2= P3^0;<br /><br />/* TCR20 */<br />sbit PLLEN = TCR20^7;<br />sbit HLTRN = TCR20^6;<br />sbit HLTEN = TCR20^5;<br />sbit ALTCD = TCR20^4;<br />sbit ALTAB = TCR20^3;<br />sbit TDIR2 = TCR20^2;<br />sbit TMOD21= TCR20^1;<br />sbit TMOD20= TCR20^0;<br /><br />/* ADMODA */<br />sbit BNDI0 = ADMODA^7;<br />sbit BURST0 = ADMODA^6;<br />sbit SCC0 = ADMODA^5;<br />sbit SCAN0 = ADMODA^4;<br />#endif<br /><br />
|