📄 ezregs.h
字号:
sbit ES1 = 0xA8+6;
sbit EA = 0xA8+7;
sfr IP = 0xB8;
/* IP */
sbit PX0 = 0xB8+0;
sbit PT0 = 0xB8+1;
sbit PX1 = 0xB8+2;
sbit PT1 = 0xB8+3;
sbit PS0 = 0xB8+4;
sbit PT2 = 0xB8+5;
sbit PS1 = 0xB8+6;
sfr SCON1 = 0xC0;
/* SCON1 */
sbit RI1 = 0xC0+0;
sbit TI1 = 0xC0+1;
sbit RB81 = 0xC0+2;
sbit TB81 = 0xC0+3;
sbit REN1 = 0xC0+4;
sbit SM21 = 0xC0+5;
sbit SM11 = 0xC0+6;
sbit SM01 = 0xC0+7;
sfr SBUF1 = 0xC1;
sfr T2CON = 0xC8;
/* T2CON */
sbit CP_RL2 = 0xC8+0;
sbit C_T2 = 0xC8+1;
sbit TR2 = 0xC8+2;
sbit EXEN2 = 0xC8+3;
sbit TCLK = 0xC8+4;
sbit RCLK = 0xC8+5;
sbit EXF2 = 0xC8+6;
sbit TF2 = 0xC8+7;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2 = 0xCC;
sfr TH2 = 0xCD;
sfr PSW = 0xD0;
/* PSW */
sbit P = 0xD0+0;
sbit FL = 0xD0+1;
sbit OV = 0xD0+2;
sbit RS0 = 0xD0+3;
sbit RS1 = 0xD0+4;
sbit F0 = 0xD0+5;
sbit AC = 0xD0+6;
sbit CY = 0xD0+7;
sfr EICON = 0xD8; // Was WDCON in DS80C320; Bit Values differ from Reg320
/* EICON */
sbit INT6 = 0xD8+3;
sbit RESI = 0xD8+4;
sbit ERESI = 0xD8+5;
sbit SMOD1 = 0xD8+7;
sfr ACC = 0xE0;
sfr EIE = 0xE8; // EIE Bit Values differ from Reg320
/* EIE */
sbit EUSB = 0xE8+0;
sbit EI2C = 0xE8+1;
sbit EIEX4 = 0xE8+2;
sbit EIEX5 = 0xE8+3;
sbit EIEX6 = 0xE8+4;
sfr B = 0xF0;
sfr EIP = 0xF8; // EIP Bit Values differ from Reg320
/* EIP */
sbit PUSB = 0xF8+0;
sbit PI2C = 0xF8+1;
sbit EIPX4 = 0xF8+2;
sbit EIPX5 = 0xF8+3;
sbit EIPX6 = 0xF8+4;
/*-----------------------------------------------------------------------------
Bit Masks
-----------------------------------------------------------------------------*/
/* CPU Control & Status Register */
#define bmCHIPREV (bmBIT7 | bmBIT6 | bmBIT5 | bmBIT4)
#define bmCLK24OE bmBIT1
#define bm8052RES bmBIT0
/* Port Configuration Registers */
/* Port A */
#define bmRXD1OUT bmBIT7
#define bmRXD0OUT bmBIT6
#define bmFRD bmBIT5
#define bmFWR bmBIT4
#define bmCS bmBIT3
#define bmOE bmBIT2
#define bmT1OUT bmBIT1
#define bmT0OUT bmBIT0
/* Port B */
#define bmT2OUT bmBIT7
#define bmINT6 bmBIT6
#define bmINT5 bmBIT5
#define bmINT4 bmBIT4
#define bmTXD1 bmBIT3
#define bmRXD1 bmBIT2
#define bmT2EX bmBIT1
#define bmT2 bmBIT0
/* Port C */
#define bmRD bmBIT7
#define bmWR bmBIT6
#define bmT1 bmBIT5
#define bmT0 bmBIT4
#define bmINT1 bmBIT3
#define bmINT0 bmBIT2
#define bmTXD0 bmBIT1
#define bmRXD0 bmBIT0
/* Isochronous Status & End Point Valid Registers */
#define bmEP15 bmBIT7
#define bmEP14 bmBIT6
#define bmEP13 bmBIT5
#define bmEP12 bmBIT4
#define bmEP11 bmBIT3
#define bmEP10 bmBIT2
#define bmEP9 bmBIT1
#define bmEP8 bmBIT0
/* I2C Control & Status Register */
#define bmSTART bmBIT7
#define bmSTOP bmBIT6
#define bmLASTRD bmBIT5
#define bmID (bmBIT4 | bmBIT3)
#define bmBERR bmBIT2
#define bmACK bmBIT1
#define bmDONE bmBIT0
/* Interrupt Vector Register */
#define bmIV4 bmBIT6
#define bmIV3 bmBIT5
#define bmIV2 bmBIT4
#define bmIV1 bmBIT3
#define bmIV0 bmBIT2
/* End point Interrupt Request, End Point Interrupt Enable */
/* And End Point Valid Registers */
#define bmEP7 bmBIT7
#define bmEP6 bmBIT6
#define bmEP5 bmBIT5
#define bmEP4 bmBIT4
#define bmEP3 bmBIT3
#define bmEP2 bmBIT2
#define bmEP1 bmBIT1
#define bmEP0 bmBIT0
/* Global Interrupt Request & Enable Registers */
#define bmIBN bmBIT5
#define bmURES bmBIT4
#define bmSUSP bmBIT3
#define bmSUTOK bmBIT2
#define bmSOF bmBIT1
#define bmSUDAV bmBIT0
/* Global Control */
#define bmBREAK bmBIT3
#define bmBPPULSE bmBIT2
#define bmBPEN bmBIT1
#define bmAVEN bmBIT0
/* USB Control & Status Register */
#define bmRWAKEUP bmBIT7
#define bmDISCON bmBIT3
#define bmDISCOE bmBIT2
#define bmRENUM bmBIT1
#define bmSIGRESUME bmBIT0
/* End Point 0 Control & Status Register */
#define bmOUT bmBIT3
#define bmIN bmBIT2
#define bmHS bmBIT1
#define bmHSSTALL bmBIT0
/* End Point Control & Status Registers */
#define bmEPSTALL bmBIT0
#define bmEPBUSY bmBIT1
/* Fast Transfer Register */
#define bmFISO bmBIT7
#define bmFBLK bmBIT6
#define bmRPOL bmBIT5
#define bmRMOD1 bmBIT4
#define bmRMOD0 bmBIT3
#define bmWPOL bmBIT2
#define bmWMOD1 bmBIT1
#define bmWMOD0 bmBIT0
/* Endpoint Pairing Register */
#define bmISOSEND0 bmBIT7
#define bmPR6OUT bmBIT5
#define bmPR4OUT bmBIT4
#define bmPR2OUT bmBIT3
#define bmPR6IN bmBIT2
#define bmPR4IN bmBIT1
#define bmPR2IN bmBIT0
/* End point control offsets */
enum
{
IN0BUF_ID = 0,
IN1BUF_ID,
IN2BUF_ID,
IN3BUF_ID,
IN4BUF_ID,
IN5BUF_ID,
IN6BUF_ID,
IN7BUF_ID,
OUT0BUF_ID,
OUT1BUF_ID,
OUT2BUF_ID,
OUT3BUF_ID,
OUT4BUF_ID,
OUT5BUF_ID,
OUT6BUF_ID,
OUT7BUF_ID
};
#define EP0CS EPIO[0].cntrl
#define IN0BC EPIO[0].bytes
#define IN1CS EPIO[1].cntrl
#define IN1BC EPIO[1].bytes
#define IN2CS EPIO[2].cntrl
#define IN2BC EPIO[2].bytes
#define IN3CS EPIO[3].cntrl
#define IN3BC EPIO[3].bytes
#define IN4CS EPIO[4].cntrl
#define IN4BC EPIO[4].bytes
#define IN5CS EPIO[5].cntrl
#define IN5BC EPIO[5].bytes
#define IN6CS EPIO[6].cntrl
#define IN6BC EPIO[6].bytes
#define IN7CS EPIO[7].cntrl
#define IN7BC EPIO[7].bytes
#define OUT0CS EPIO[8].cntrl
#define OUT0BC EPIO[8].bytes
#define OUT1CS EPIO[9].cntrl
#define OUT1BC EPIO[9].bytes
#define OUT2CS EPIO[10].cntrl
#define OUT2BC EPIO[10].bytes
#define OUT3CS EPIO[11].cntrl
#define OUT3BC EPIO[11].bytes
#define OUT4CS EPIO[12].cntrl
#define OUT4BC EPIO[12].bytes
#define OUT5CS EPIO[13].cntrl
#define OUT5BC EPIO[13].bytes
#define OUT6CS EPIO[14].cntrl
#define OUT6BC EPIO[14].bytes
#define OUT7CS EPIO[15].cntrl
#define OUT7BC EPIO[15].bytes
/*-----------------------------------------------------------------------------
Macros
-----------------------------------------------------------------------------*/
/* Convert End point ID (d0000eee) to EPIO offset */
#define EPID(id) (((~id & 0x80) >> 4) + (id & 0x07))
#endif /* EZREGS_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -