⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 std_8051.h

📁 HSAV OTG13S USB-HOST MP3模块应用源代码
💻 H
字号:
 #ifdef  ROOT

//#ifdef ALLOCATE_EXTERN

#define EXTR 
#define _AT_ _at_

#define XgDATA                   xdata volatile unsigned char
#define Xg2DATA                  xdata volatile unsigned int
#define Xg4DATA                  xdata volatile unsigned long
#else        
#define EXTR        extern 
#define _AT_ ;/ ## /

#define XgDATA                   extern xdata volatile unsigned char
#define Xg2DATA                  extern xdata volatile unsigned int
#define Xg4DATA                  extern xdata volatile unsigned long
#endif                  
#define TINY 
#define XBYTE ((unsigned char volatile xdata *) 0)

#define DWORD                   unsigned long
#define WORD                    unsigned int
#define BYTE                    unsigned char
#define byte                    unsigned char
#define word                    unsigned int
#define CONST_CHAR              unsigned char code
#define CONST_INT               unsigned int code
#define IDATA 					idata
#define BOOL                    bit
#define NULL					0xff
#define TRUE 					1
#define FALSE 					0


#define cXTAL_3M580HZ           219
#define cXTAL_4M000HZ           214
#define cXTAL_4M332HZ           211
#define cXTAL_5M6448HZ          197
#define cXTAL_6M000HZ           194
#define cXTAL_7M200HZ           181
#define cXTAL_8M000HZ           173
#define cXTAL_8M4672HZ          168
#define cXTAL_10M700HZ          146
#define cXTAL_11M059HZ          139
#define cXTAL_11M2896HZ         137
#define cXTAL_12M000HZ          131
#define cXTAL_12M288HZ          128
#define cXTAL_16M934HZ          80
#define cXTAL_20M000HZ          49
#define cXTAL_22M1184HZ         25
#define cXTAL_22M5792HZ         20
#define cXTAL_24M576HZ          0
#define cXTAL_24M000HZ 			130 /* Remote Dubing */
#define cXTAL_27M000HZ          118 /* Remote Dubing */


sfr P0                          = 0x80;
sfr P1                          = 0x90;
sfr P2                          = 0xA0;
sfr P3                          = 0xB0;

sfr PSW                         = 0xD0;
sfr ACC                         = 0xE0;
sfr B                           = 0xF0;
sfr SP                          = 0x81;
sfr DPL                         = 0x82;
sfr DPH                         = 0x83;
sfr PCON                        = 0x87;
sfr TCON                        = 0x88;
sfr TMOD                        = 0x89;
sfr TL0                         = 0x8A;
sfr TL1                         = 0x8B;
sfr TH0                         = 0x8C;
sfr TH1                         = 0x8D;
sfr IE                          = 0xA8;
sfr IP                          = 0xB8;
sfr SCON                        = 0x98;
sfr SBUF                        = 0x99;
sfr T2CON                       = 0xC8;
sfr RCAP2L                      = 0xCA;
sfr RCAP2H                      = 0xCB;
sfr TL2                         = 0xCC;
sfr TH2                         = 0xCD;

sfr T3                          = 0xFF;  
sfr EBTCON                      = 0xEB;


/* P80C453 Special */
sfr P4                          = 0xc0;
sfr P5                          = 0xc8;
sfr P6                          = 0xd8;

/* W78C438 Special */
sfr EPMA                        = 0xa2;
sfr P8                          = 0xa6;




/* AT89S8252 Special */
sfr DP1L                        = 0x84;
sfr DP1H                        = 0x85;
sfr WMCON                       = 0x96;
sfr SPCR                        = 0xd5;
sfr SPSR                        = 0xaa;
sfr SPDR                        = 0x86;

/* SST89C54/58 Special */
sfr   WDTD                      = 0x86;
sfr   SFCF                      = 0xb1;
sfr   SFCM                      = 0xb2;
sfr   SFAL                      = 0xb3;
sfr   SFAH                      = 0xb4;
sfr   SFDT                      = 0xb5;
sfr   SFST                      = 0xb6;
sfr   WDTC                      = 0xc0;

sfr M6759_AUXR                  = 0x97;


/*  BIT Registers  */
/*  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 P     = PSW^0; //8052 only

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

/*  IE  */
sbit EA    = IE^7;
sbit ET2   = IE^5; //8052 only
sbit ES    = IE^4;
sbit ET1   = IE^3;
sbit EX1   = IE^2;
sbit ET0   = IE^1;
sbit EX0   = IE^0;

/*  IP  */
sbit PT2   = IP^5;
sbit PS    = IP^4;
sbit PT1   = IP^3;
sbit PX1   = IP^2;
sbit PT0   = IP^1;
sbit PX0   = IP^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;

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

/*  P1  */
sbit T2EX  = P1^1; // 8052 only
sbit T2    = P1^0; // 8052 only
             
/*  T2CON  */
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;


#define CF                      CY

#define IE_EX0                  0x01    /* 1 = enable INT0 interrupt */
#define IE_ET0                  0x02    /* 1 = enable TIMER0 interrupt */
#define IE_EX1                  0x04    /* 1 = enable INT1 interrupt */
#define IE_ET1                  0x08    /* 1 = enable TIMER1 interrupt */
#define IE_ES                   0x10    /* 1 = enable SERIAL interrupt */
#define IE_ET2                  0x20    /* 1 = enable TIMER2 interrupt */
#define IE_EA                   0x80    /* 1 = enable ALL interrupt */

#define IP_PX0                  0x01    /* 1 = INT0 high priority */
#define IP_PT0                  0x02    /* 1 = TIMER0 high priority */
#define IP_PX1                  0x04    /* 1 = INT1 high priority */
#define IP_PT1                  0x08    /* 1 = TIMER1 high priority */
#define IP_PS                   0x10    /* 1 = SERIAL high priority */
#define IP_PT2                  0x20    /* 1 = TIMER2 high priority */


#define TMODE_16bitTimer0       0x01
#define TMODE_8bitAutoTimer0    0x02
#define TMODE_16bitTimer1       0x10
#define TMODE_8bitAutoTimer1    0x20

#define cTMOD                   0x00
      /* 0001 0001 T0:16bit timer; T1:16bit timer; */
/* T1 GATE: T1 C/T: T1 M1: T1 M0: T0 GATE: T0 C/T: T0 M1: T0 M0 */


#define TCON_IT0                0x01   /* 1 = Edge-sensitive */
#define TCON_IE0                0x02   /* 1 = INT0 interrupt and auto clear */
#define TCON_IT1                0x04   /* 1 = Edge-sensitive */
#define TCON_IE1                0x08   /* 1 = INT0 interrupt and auto clear */
#define TCON_TR0                0x10   /* TIMER0 start */
#define TCON_TF0                0x20   /* 1 = TIMER0 interrupt and auto clear */
#define TCON_TR1                0x40   /* TIMER1 start */
#define TCON_TE1                0x80   /* 1 = TIMER0 interrupt and auto clear */


#define SCON_MODE0              0x00  /* fosc/12 shift */ 
#define SCON_MODE1              0x40  /* 8bit UART */ 
#define SCON_MODE2              0x80  /* fosc/64or32 9bit UART */ 
#define SCON_MODE3              0xc0  /* 9bit UART */ 
#define SCON_SM2                0x20  /* 1 = enable mult1processor */
#define SCON_REN                0x10  /* 1 = SERIAL start */

#define PCON_SMOD               0x80  /* 1 = SMOD set */
   /* SMOD=1: 4800&1200&19200(11M) at 12M; SMOD=0:1200-9600 at 11.059M */
       /*  TH1 = 0xfd;       SMOD = 1 is 19600 */
    /* f3=1800 at 12M; fd=19200(SMOD=1)&9600,fa=4800;f4=2400 at 11.059M */


sbit P00    					= P0^0;
sbit P01    					= P0^1;
sbit P02    					= P0^2;
sbit P03    					= P0^3;
sbit P04    					= P0^4;
sbit P05    					= P0^5;
sbit P06    					= P0^6;
sbit P07    					= P0^7;

sbit P10    					= P1^0;
sbit P11    					= P1^1;
sbit P12    					= P1^2;
sbit P13    					= P1^3;
sbit P14    					= P1^4;
sbit P15    					= P1^5;
sbit P16    					= P1^6;
sbit P17    					= P1^7;

sbit P20    					= P2^0;
sbit P21    					= P2^1;
sbit P22    					= P2^2;
sbit P23    					= P2^3;
sbit P24    					= P2^4;
sbit P25    					= P2^5;
sbit P26    					= P2^6;
sbit P27    					= P2^7;

sbit P30    					= P3^0;
sbit P31    					= P3^1;
sbit P32    					= P3^2;
sbit P33    					= P3^3;
sbit P34    					= P3^4;
sbit P35    					= P3^5;
sbit P36    					= P3^6;
sbit P37    					= P3^7;








#ifndef OLD_RTE   
#define IOP0                    P0     
#define IOP1                    P1     
#define IOP2                    P2     
#define IOP3                    P3     
#else 
#define IOP0                    P4     
#define IOP1                    P1     
#define IOP2                    P5     
#define IOP3                    P3     
#endif      
#define IOP6                    P6
#define IOP8                    P8






#ifdef V3LagreRAM
	#define RTE52V3
    #define	P36_HIGH                        (IOP8 & 0x40)
    #define	P37_HIGH                        (IOP8 & 0x80)
    #define	OP36(bit)      		            {if (bit) IOP8 |= 0x40; \
                                               else IOP8 &= ~0x40;}
    #define	OP37(bit)          		        {if (bit) IOP8 |= 0x80; \
                                               else IOP8 &= ~0x80;}
    #define	FP36            		        {IOP8 ^= 0x40;} 
    #define	FP37            		        {IOP8 ^= 0x80;} 
#else
    #define	P36_HIGH                        (P36)
    #define	P37_HIGH                        (P37)
    #define	OP36(bit)      		            {P36 = bit;}
    #define	OP37(bit)      		            {P37 = bit;}
    #define	FP36            		        {IOP3 ^= 0x40;}
    #define	FP37            		        {IOP3 ^= 0x80;}

#endif

#ifdef V3NormalRAM
	#define RTE52V3
#endif
#ifdef V3LagreRAM
	#define RTE52V3
#endif



#ifdef RTE52V3
	#ifdef  ROOT
		void MRTE(BYTE gLocal_1){  
		    BYTE gLocal_2;
			IOP8 = ((gLocal_1 >> 4) | 0xf0) & 0xdf;
		    gLocal_2 = 5; while (--gLocal_2 != 0);
		    IOP8 |= 0xf0;
		    IOP8 = ((gLocal_1 & 0x0f) | 0xf0) & 0xcf;
		    gLocal_2 = 5; while (--gLocal_2 != 0);
		    IOP8 |= 0xf0;
		    return;  
		}
	#endif
	void MRTE(BYTE gLocal_1);
    #define	MDEBUG(val)                     {MRTE(val);}
#else
    #define	MDEBUG(val)                     {}
#endif

extern void          _nop_     (void);
#define NOP          _nop_


#define OP00(bit)               if (bit) {P00=1;} else {P00=0;}
#define OP01(bit)               if (bit) {P01=1;} else {P01=0;}
#define OP02(bit)               if (bit) {P02=1;} else {P02=0;}
#define OP03(bit)               if (bit) {P03=1;} else {P03=0;}
#define OP04(bit)               if (bit) {P04=1;} else {P04=0;}
#define OP05(bit)               if (bit) {P05=1;} else {P05=0;}
#define OP06(bit)               if (bit) {P06=1;} else {P06=0;}
#define OP07(bit)               if (bit) {P07=1;} else {P07=0;}

#define OP10(bit)               if (bit) {P10=1;} else {P10=0;}
#define OP11(bit)               if (bit) {P11=1;} else {P11=0;}
#define OP12(bit)               if (bit) {P12=1;} else {P12=0;}
#define OP13(bit)               if (bit) {P13=1;} else {P13=0;}
#define OP14(bit)               if (bit) {P14=1;} else {P14=0;}
#define OP15(bit)               if (bit) {P15=1;} else {P15=0;}
#define OP16(bit)               if (bit) {P16=1;} else {P16=0;}
#define OP17(bit)               if (bit) {P17=1;} else {P17=0;}

#define OP20(bit)               if (bit) {P20=1;} else {P20=0;}
#define OP21(bit)               if (bit) {P21=1;} else {P21=0;}
#define OP22(bit)               if (bit) {P22=1;} else {P22=0;}
#define OP23(bit)               if (bit) {P23=1;} else {P23=0;}
#define OP24(bit)               if (bit) {P24=1;} else {P24=0;}
#define OP25(bit)               if (bit) {P25=1;} else {P25=0;}
#define OP26(bit)               if (bit) {P26=1;} else {P26=0;}
#define OP27(bit)               if (bit) {P27=1;} else {P27=0;}

#define OP30(bit)               if (bit) {P30=1;} else {P30=0;}
#define OP31(bit)               if (bit) {P31=1;} else {P31=0;}
#define OP32(bit)               if (bit) {P32=1;} else {P32=0;}
#define OP33(bit)               if (bit) {P33=1;} else {P33=0;}
#define OP34(bit)               if (bit) {P34=1;} else {P34=0;}
#define OP35(bit)               if (bit) {P35=1;} else {P35=0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -