www.pudn.com > RC500.rar > at89c5131.h


/*H**************************************************************************** 
* NAME:           at89c5131.h 
*------------------------------------------------------------------------------ 
* PURPOSE: 
*   This file defines Sfr registers and BIT Registers for AT89C5131 
*  (Keil notation is the reference) 
******************************************************************************/ 
 
#ifndef _REG5131_H_ 
#define _REG5131_H_ 
 
#if(0) 
 
//******************************************* 
//*** 
//***	Just for SOURCE INSIGHT reading 
//*** 
//******************************************* 
 
/* _____ C 5 1   C O R E ______________________________________________________ 
*/ 
sfr ACC		= 0XE0; 
sfr B		= 0XF0; 
sfr PSW		= 0XD0; 
sfr SP		= 0X81; 
sfr DPL		= 0X82; 
sfr DPH		= 0X83; 
sfr DPTR		= 0X82; 
 
 
/* _____  I / O    P O R T ____________________________________________________ 
*/ 
sfr P0		= 0X80; 
sfr P1		= 0X90; 
sfr P2		= 0XA0; 
sfr P3		= 0XB0; 
sfr P4		= 0XC0; 
 
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; 
 
sbit P1_7	= P1^7; 
sbit P1_6	= P1^6; 
sbit P1_5	= P1^5; 
sbit P1_4	= P1^4; 
sbit P1_3	= P1^3; 
sbit P1_2	= P1^2; 
sbit P1_1	= P1^1; 
sbit P1_0	= P1^0; 
  
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; 
 
sbit P3_7	= P3^7; 
sbit P3_6	= P3^6; 
sbit P3_5	= P3^5; 
sbit P3_4	= P3^4; 
sbit P3_3	= P3^3; 
sbit P3_2	= P3^2; 
sbit P3_1	= P3^1; 
sbit P3_0	= P3^0; 
 
sbit P4_1	= P4^1; 
sbit P4_0	= P4^0; 
 
 
/* _____ T I M E R S __________________________________________________________ 
*/ 
sfr TH0		= 0x8C;  
sfr TL0		= 0x8A; 
sfr TH1		= 0x8D; 
sfr TL1		= 0x8B; 
sfr TH2		= 0xCD; 
sfr TL2		= 0xCC; 
sfr TCON		= 0x88; 
sfr TMOD		= 0x89; 
sfr T2CON	= 0xC8; 
sfr T2MOD	= 0xC9; 
sfr RCAP2H	= 0xCB; 
sfr RCAP2L	= 0xCA; 
sfr WDTRST	= 0xA6; 
sfr WDTPRG	= 0xA7; 
 
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; 
 
sbit TF2		= T2CON^7; 
sbit EXF2	= T2CON^6; 
sbit RCLK		= T2CON^5; 
sbit TCLK		= T2CON^4; 
sbit EXEN2	= T2CON^3; 
sbit TR2		= T2CON^2; 
sbit C_T2	= T2CON^1; 
sbit CP_RL2	= T2CON^0; 
 
 
/* _____ S E R I A L    I / O _________________________________________________ 
*/ 
sfr SCON		= 0x98; 
sfr SBUF		= 0x99; 
sfr SADEN 	= 0xB9; 
sfr SADDR 	= 0xA9; 
 
sbit FE_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; 
 
/* _____ B A U D    R A T E    G E N E R A T O R ______________________________ 
*/ 
sfr BRL		= 0x9A; 
sfr BDRCON	= 0x9B; 
 
/* _____ P C A ________________________________________________________________ 
*/ 
sfr CCON		= 0xD8; 
sfr CMOD		= 0xD9; 
sfr CL		= 0xE9; 
sfr CH		= 0xF9; 
sfr CCAPM0	= 0xDA; 
sfr CCAPM1	= 0xDB; 
sfr CCAPM2	= 0xDC; 
sfr CCAPM3	= 0xDD; 
sfr CCAPM4	= 0xDE; 
sfr CCAP0H	= 0xFA; 
sfr CCAP1H	= 0xFB; 
sfr CCAP2H	= 0xFC; 
sfr CCAP3H	= 0xFD; 
sfr CCAP4H	= 0xFE; 
sfr CCAP0L	= 0xEA; 
sfr CCAP1L	= 0xEB; 
sfr CCAP2L	= 0xEC; 
sfr CCAP3L	= 0xED; 
sfr CCAP4L	= 0xEE; 
 
sbit CF		= CCON^7; 
sbit CR		= CCON^6; 
sbit CCF4	= CCON^4; 
sbit CCF3	= CCON^3; 
sbit CCF2	= CCON^2; 
sbit CCF1	= CCON^1; 
sbit CCF0	= CCON^0; 
 
 
/* _____ I N T E R R U P T ____________________________________________________ 
*/ 
sfr IEN0		= 0xA8;       /* Sfr ( IEN0,  bit addressable			*/ 
sfr IEN1		= 0xB1; 
sfr IPL0		= 0xB8;       /* Sfr ( IPL0, bit addressable		*/ 
sfr IPH0		= 0xB7; 
sfr IPL1		= 0xB2; 
sfr IPH1		= 0xB3; 
 
sbit EA 		= IEN0^7; 
sbit EC 		= 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; 
 
sbit PPCL		= IPL0^6; 
sbit PT2L		= IPL0^5; 
sbit PSL 		= IPL0^4; 
sbit PTIL		= IPL0^3; 
sbit PXIL		= IPL0^2; 
sbit PT0L		= IPL0^1; 
sbit PX0L		= IPL0^0; 
 
/* _____ P L L ________________________________________________________________ 
*/ 
sfr PLLCON	= 0xA3; 
sfr PLLDIV	= 0xA4; 
 
/* _____ K E Y B O A R D ______________________________________________________ 
*/ 
sfr KBF 		= 0x9E; 
sfr KBE 		= 0x9D; 
sfr KBLS		= 0x9C; 
 
/* _____ T W I ________________________________________________________________ 
*/ 
sfr SSCON	= 0x93; 
sfr SSCS 		= 0x94; 
sfr SSDAT	= 0x95; 
sfr SSADR	= 0x96; 
 
/* _____ S P I ________________________________________________________________ 
*/ 
sfr SPCON	= 0xC3; 
sfr SPSTA	= 0xC4; 
sfr SPDAT	= 0xC5; 
 
/* _____ U S B ________________________________________________________________ 
*/ 
sfr USBCON 	= 0xBC; 
sfr USBADDR	= 0xC6; 
sfr USBINT 	= 0xBD; 
sfr USBIEN 	= 0xBE; 
sfr UEPNUM 	= 0xC7; 
sfr UEPCONX	= 0xD4; 
sfr UEPSTAX	= 0xCE; 
sfr UEPRST 	= 0xD5; 
sfr UEPINT 	= 0xF8;         /* Sfr ( UEPINT, bit addressable) */ 
sfr UEPIEN 	= 0xC2; 
sfr UEPDATX	= 0xCF; 
sfr UBYCTLX	= 0xE2; 
sfr UBYCTHX	= 0xE3; 
sfr UDPADDL	= 0xD6; 
sfr UDPADDH	= 0xD7; 
sfr UFNUML 	= 0xBA; 
sfr UFNUMH 	= 0xBB; 
                                /* UEPINT bits */ 
sbit EP6INT	= UEPINT^6; 
sbit EP5INT	= UEPINT^5; 
sbit EP4INT	= UEPINT^4; 
sbit EP3INT	= UEPINT^3; 
sbit EP2INT	= UEPINT^2; 
sbit EP1INT	= UEPINT^1; 
sbit EP0INT	= UEPINT^0; 
 
/* _____ M I S C . ____________________________________________________________ 
*/ 
sfr PCON  	= 0x87; 
sfr AUXR  	= 0x8E; 
sfr AUXR1 	= 0xA2; 
sfr CKCON0	= 0x8F; 
sfr CKCON1	= 0xAF; 
sfr CKSEL 	= 0x85; 
sfr LEDCON	= 0xF1; 
sfr FCON  	= 0xD1; 
sfr EECON 	= 0xD2; 
 
#endif 
/*  
** _____ H E A D E R S ________________________________________________________ 
*/ 
 
/*  
** _____ F U N C T I O N   D E F I N I T I O N ________________________________ 
*/ 
#define Sfr(x,y)      sfr x = y 
#define Sfr16(x,y)  sfr16 x = y 
#define Sbit(x,y,z)  sbit x = y ^ z 
 
 
/*  
** _____ B Y T E   R E G I S T E R S __________________________________________ 
*/ 
 
/* _____ C 5 1   C O R E ______________________________________________________ 
*/ 
Sfr ( ACC   , 0xE0 ) ;        /* Sfr ( ACC, bit addressable)*/ 
Sfr ( B     , 0xF0 ) ;        /* Sfr ( B,   bit addressable)*/ 
Sfr ( PSW   , 0xD0 ) ;        /* Sfr ( PSW, bit addressable)*/ 
Sfr ( SP    , 0x81 ) ; 
Sfr ( DPL   , 0x82 ) ; 
Sfr ( DPH   , 0x83 ) ; 
 
Sfr16 (DPTR, 0x82); 
 
#define PM_PD   0x02    /* Power Down Mode */ 
#define PM_IDL  0x01    /* Idle Mode */ 
 
/* _____  I / O    P O R T ____________________________________________________ 
*/ 
Sfr ( P0    , 0x80 ) ;        /* Sfr ( P0, bit addressable)*/ 
 
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 ) ; 
 
Sfr ( P1    , 0x90 ) ;        /* Sfr ( P1, bit addressable)*/ 
 
Sbit ( P1_7 , P1 , 7 ) ; 
Sbit ( P1_6 , P1 , 6 ) ; 
Sbit ( P1_5 , P1 , 5 ) ; 
Sbit ( P1_4 , P1 , 4 ) ; 
Sbit ( P1_3 , P1 , 3 ) ; 
Sbit ( P1_2 , P1 , 2 ) ; 
Sbit ( P1_1 , P1 , 1 ) ; 
Sbit ( P1_0 , P1 , 0 ) ; 
 
Sfr ( P2    , 0xA0 ) ;        /* Sfr ( P2, bit addressable)*/ 
 
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 ) ; 
 
Sfr ( P3    , 0xB0 ) ;        /* Sfr ( P3, bit addressable)*/ 
sfr IP      = 0xB8;     /* Interrupt Priority Register */ 
Sbit ( P3_7 , P3 , 7 ) ; 
Sbit ( P3_6 , P3 , 6 ) ; 
Sbit ( P3_5 , P3 , 5 ) ; 
Sbit ( P3_4 , P3 , 4 ) ; 
Sbit ( P3_3 , P3 , 3 ) ; 
Sbit ( P3_2 , P3 , 2 ) ; 
Sbit ( P3_1 , P3 , 1 ) ; 
Sbit ( P3_0 , P3 , 0 ) ; 
 
Sfr ( P4    , 0xC0 ) ;        /* Sfr ( P4, bit addressable)*/ 
 
Sbit ( P4_1 , P4 , 1 ) ; 
Sbit ( P4_0 , P4 , 0 ) ; 
 
 
/* _____ T I M E R S __________________________________________________________ 
*/ 
Sfr ( TH0   , 0x8C ) ;  
Sfr ( TL0   , 0x8A ) ; 
Sfr ( TH1   , 0x8D ) ; 
Sfr ( TL1   , 0x8B ) ; 
Sfr ( TH2   , 0xCD ) ; 
Sfr ( TL2   , 0xCC ) ; 
Sfr ( TCON  , 0x88 ) ;        /* Sfr ( TCON,  bit addressable)*/ 
Sfr ( TMOD  , 0x89 ) ; 
Sfr ( T2CON , 0xC8 ) ;        /* Sfr ( T2CON, bit addressable)*/ 
Sfr ( T2MOD , 0xC9 ) ; 
Sfr ( RCAP2H, 0xCB ) ; 
Sfr ( RCAP2L, 0xCA ) ; 
Sfr ( WDTRST, 0xA6 ) ; 
Sfr ( WDTPRG, 0xA7 ) ; 
 
                            /* TCON bits */ 
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 ) ; 
                            /* T2CON bits */ 
Sbit ( TF2   , T2CON , 7 ) ; 
Sbit ( EXF2  , T2CON , 6 ) ; 
Sbit ( RCLK  , T2CON , 5 ) ; 
Sbit ( TCLK  , T2CON , 4 ) ; 
Sbit ( EXEN2 , T2CON , 3 ) ; 
Sbit ( TR2   , T2CON , 2 ) ; 
Sbit ( C_T2  , T2CON , 1 ) ; 
Sbit ( CP_RL2, T2CON , 0 ) ; 
 
 
/* _____ S E R I A L    I / O _________________________________________________ 
*/ 
Sfr ( SCON  , 0x98 ) ; 
Sfr ( SBUF  , 0x99 ) ; 
Sfr ( SADEN , 0xB9 ) ; 
Sfr ( SADDR , 0xA9 ) ; 
 
Sbit ( FE_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 ) ; 
 
/* _____ B A U D    R A T E    G E N E R A T O R ______________________________ 
*/ 
Sfr ( BRL   , 0x9A ) ; 
Sfr ( BDRCON, 0x9B ) ; 
 
/* _____ P C A ________________________________________________________________ 
*/ 
Sfr ( CCON   , 0xD8 ) ;      /* Sfr ( CCON, bit addressable)*/ 
Sfr ( CMOD   , 0xD9 ) ; 
Sfr ( CL     , 0xE9 ) ; 
Sfr ( CH     , 0xF9 ) ; 
Sfr ( CCAPM0 , 0xDA ) ; 
Sfr ( CCAPM1 , 0xDB ) ; 
Sfr ( CCAPM2 , 0xDC ) ; 
Sfr ( CCAPM3 , 0xDD ) ; 
Sfr ( CCAPM4 , 0xDE ) ; 
Sfr ( CCAP0H , 0xFA ) ; 
Sfr ( CCAP1H , 0xFB ) ; 
Sfr ( CCAP2H , 0xFC ) ; 
Sfr ( CCAP3H , 0xFD ) ; 
Sfr ( CCAP4H , 0xFE ) ; 
Sfr ( CCAP0L , 0xEA ) ; 
Sfr ( CCAP1L , 0xEB ) ; 
Sfr ( CCAP2L , 0xEC ) ; 
Sfr ( CCAP3L , 0xED ) ; 
Sfr ( CCAP4L , 0xEE ) ; 
 
                             /* CCON bits */ 
Sbit ( CF    , CCON , 7 ) ; 
Sbit ( CR    , CCON , 6 ) ; 
Sbit ( CCF4  , CCON , 4 ) ; 
Sbit ( CCF3  , CCON , 3 ) ; 
Sbit ( CCF2  , CCON , 2 ) ; 
Sbit ( CCF1  , CCON , 1 ) ; 
Sbit ( CCF0  , CCON , 0 ) ; 
 
 
/* _____ I N T E R R U P T ____________________________________________________ 
*/ 
Sfr ( IEN0   , 0xA8 ) ;       /* Sfr ( IEN0,  bit addressable			*/ 
Sfr ( IEN1   , 0xB1 ) ; 
Sfr ( IPL0  , 0xB8 ) ;       /* Sfr ( IPL0, bit addressable		*/ 
Sfr ( IPH0  , 0xB7 ) ; 
Sfr ( IPL1  , 0xB2 ) ; 
Sfr ( IPH1  , 0xB3 ) ; 
 
                             /* IE0 bits */ 
Sbit ( EA   , IEN0 , 7 ) ; 
Sbit ( EC   , 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 ) ; 
                             /* IPL0 bits */ 
Sbit ( PPCL , IPL0 , 6 ) ; 
Sbit ( PT2L , IPL0 , 5 ) ; 
Sbit ( PSL  , IPL0 , 4 ) ; 
Sbit ( PTIL , IPL0 , 3 ) ; 
Sbit ( PXIL , IPL0 , 2 ) ; 
Sbit ( PT0L , IPL0 , 1 ) ; 
Sbit ( PX0L , IPL0 , 0 ) ; 
 
/* _____ P L L ________________________________________________________________ 
*/ 
Sfr ( PLLCON, 0xA3 ) ; 
Sfr ( PLLDIV, 0xA4 ) ; 
 
/* _____ K E Y B O A R D ______________________________________________________ 
*/ 
Sfr ( KBF   , 0x9E ) ; 
Sfr ( KBE   , 0x9D ) ; 
Sfr ( KBLS  , 0x9C ) ; 
 
/* _____ T W I ________________________________________________________________ 
*/ 
Sfr ( SSCON , 0x93 ) ; 
Sfr ( SSCS  , 0x94 ) ; 
Sfr ( SSDAT , 0x95 ) ; 
Sfr ( SSADR , 0x96 ) ; 
 
/* _____ S P I ________________________________________________________________ 
*/ 
Sfr ( SPCON , 0xC3 ) ; 
Sfr ( SPSTA , 0xC4 ) ; 
Sfr ( SPDAT , 0xC5 ) ; 
 
/* _____ U S B ________________________________________________________________ 
*/ 
Sfr ( USBCON , 0xBC ) ; 
Sfr ( USBADDR, 0xC6 ) ; 
Sfr ( USBINT , 0xBD ) ; 
Sfr ( USBIEN , 0xBE ) ; 
Sfr ( UEPNUM , 0xC7 ) ; 
Sfr ( UEPCONX, 0xD4 ) ; 
Sfr ( UEPSTAX, 0xCE ) ; 
Sfr ( UEPRST , 0xD5 ) ; 
Sfr ( UEPINT , 0xF8 ) ;         /* Sfr ( UEPINT, bit addressable) */ 
Sfr ( UEPIEN , 0xC2 ) ; 
Sfr ( UEPDATX, 0xCF ) ; 
Sfr ( UBYCTLX, 0xE2 ) ; 
Sfr ( UBYCTHX, 0xE3 ) ; 
Sfr ( UDPADDL, 0xD6 ) ; 
Sfr ( UDPADDH, 0xD7 ) ; 
Sfr ( UFNUML , 0xBA ) ; 
Sfr ( UFNUMH , 0xBB ) ; 
                                /* UEPINT bits */ 
Sbit ( EP6INT , UEPINT , 6 ) ; 
Sbit ( EP5INT , UEPINT , 5 ) ; 
Sbit ( EP4INT , UEPINT , 4 ) ; 
Sbit ( EP3INT , UEPINT , 3 ) ; 
Sbit ( EP2INT , UEPINT , 2 ) ; 
Sbit ( EP1INT , UEPINT , 1 ) ; 
Sbit ( EP0INT , UEPINT , 0 ) ; 
 
/* _____ M I S C . ____________________________________________________________ 
*/ 
Sfr ( PCON   , 0x87 ) ; 
Sfr ( AUXR   , 0x8E ) ; 
Sfr ( AUXR1  , 0xA2 ) ; 
Sfr ( CKCON0 , 0x8F ) ; 
Sfr ( CKCON1 , 0xAF ) ; 
Sfr ( CKSEL  , 0x85 ) ; 
Sfr ( LEDCON , 0xF1 ) ; 
Sfr ( FCON   , 0xD1 ) ; 
Sfr ( EECON  , 0xD2 ) ; 
/*------------------------------------------------ 
Interrupt Vectors: 
Interrupt Address = (Number * 8) + 3 
------------------------------------------------*/ 
#define IE0_VECTOR	0  /* 0x03 External Interrupt 0 */ 
#define TF0_VECTOR	1  /* 0x0B Timer 0 */ 
#define IE1_VECTOR	2  /* 0x13 External Interrupt 1 */ 
#define TF1_VECTOR	3  /* 0x1B Timer 1 */ 
#define SIO_VECTOR	4  /* 0x23 Serial port */ 
 
#define TF2_VECTOR	5  /* 0x2B Timer 2 */ 
#define EX2_VECTOR	5  /* 0x2B External Interrupt 2 */ 
 
sbit IE0  = 0x89;       /* Interrupt 0 Edge Flag */ 
#endif        /* _REG5131_H_ */