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_ */