📄 tlregs.h
字号:
sfr TCMMODE2 = 0xAB;
//sbit EINTF2 = TCMMODE2^7;
//sbit E_COMP2 = TCMMODE2^6;
//sbit CAP_PE2 = TCMMODE2^5;
//sbit CAP_NE2 = TCMMODE2^4;
//sbit MATCH2 = TCMMODE2^3;
//sbit TOGGLE2 = TCMMODE2^2;
//sbit PWM12 = TCMMODE2^1;
//sbit PWM02 = TCMMODE2^0;
sfr TCMMODE3 = 0xBD;
sfr TCMMODE4 = 0xBE;
sfr TCMMODE5 = 0xBF;
sfr CAPCOML0 = 0xAC;
sfr CAPCOMH0 = 0xAD;
sfr CMPCOML1 = 0xAF;
sfr CMPCOMH1 = 0xB1;
sfr CMPCOML2 = 0xB2;
sfr CMPCOMH2 = 0xB3;
sfr CAPCOML3 = 0xC1;
sfr CAPCOMH3 = 0xC2;
sfr CAPCOML4 = 0xC3;
sfr CAPCOMH4 = 0xC4;
sfr CAPCOML5 = 0xC5;
sfr CAPCOMH5 = 0xC6;
/* ------------------------------ */
/* WatchDog */
/* ------------------------------ */
sfr WDTRST = 0xA6; // Watch Dog Reset
sfr WDTKEY = 0xAE; // Watch Dog Key Enable
/* ------------------------------ */
/* Interrupt */
/* ------------------------------ */
sfr IE = 0xA8; // Interrupt Enable (main)
sbit EA = IE^7; // Enable All interrupts
sbit ET2 = IE^5; // Timer 2
sbit ES = IE^4; // Usart 0
sbit ET1 = IE^3; // Timer 1
sbit EX1 = IE^2; // External Int1
sbit ET0 = IE^1; // Timer 0
sbit EX0 = IE^0; // External Int0
sfr IP = 0xB8; // Interrupt Priority (main)
sbit PDB = IP^6; //
sbit PT2 = IP^5; // Timer 2
sbit PS = IP^4; // Usart 0
sbit PT1 = IP^3; // Timer 1
sbit PX1 = IP^2; // Ext Int1
sbit PT0 = IP^1; // Timer 0
sbit PX0 = IP^0; // Ext Int 0
sfr IEA = 0xA7; // Interrupt Enable (2nd)
//sbit ADC = IEA^7;
//sbit SPI = IEA^6;
//sbit PCA = IEA^5;
//sbit ES2 = IEA^4;
//sbit EI2C = IEA^1;
sfr IPA = 0xB7; // Interrupt Priority (2nd)
//sbit PADC = IPA^7;
//sbit PSPI = IPA^6;
//sbit PPCA = IPA^5;
//sbit PS2 = IPA^4;
//sbit PI2C = IPA^1;
/* ------------------------------ */
/* SPI SFRs */
/* ------------------------------ */
sfr SPITDR=0xD4;
sfr SPIRDR=0xD5;
sfr SPICON0=0xD6;
/* SPICON0 */
//sbit TE =SPICON0^6;
//sbit RE =SPICON0^5;
//sbit SPIEN =SPICON0^4;
//sbit SSEL =SPICON0^3;
//sbit FLSB =SPICON0^2;
//sbit SPO =SPICON0^1;
sfr SPICON1=0xD7;
/* SPICON1 */
//sbit TEIE =SPICON1^3;
//sbit RORIE =SPICON1^2;
//sbit TIE =SPICON1^1;
//sbit RIE =SPICON1^0;
sfr SPICLKD=0xD2;
/* SPICLKD */
//sbit SPICLKD5 =SPICLKD^5;
//sbit SPICLKD4 =SPICLKD^4;
//sbit SPICLKD3 =SPICLKD^3;
//sbit SPICLKD2 =SPICLKD^2;
//sbit SPICLKD1 =SPICLKD^1;
//sbit SPICLKD0 =SPICLKD^0;
sfr SPISTAT=0xD3;
/* SPISTAT */
//sbit BUSY =SPISTAT^4;
//sbit TEISF =SPISTAT^3;
//sbit RORISF =SPISTAT^2;
//sbit TISF =SPISTAT^1;
//sbit RISF =SPISTAT^0;
/* ------------------------------ */
/* Clock SFRs */
/* ------------------------------ */
sfr CCON0=0xF9; //Debugger, CPU Clock Control
/* CCON0 */
//sbit DBGCE =CCON0^4;
//sbit CPU_AR =CCON0^3;
//sbit CPUPS2 =CCON0^2;
//sbit CPUPS1 =CCON0^1;
//sbit CPUPS0 =CCON0^0;
sfr CCON2=0xFB; //PCA0 Clock Control
//sbit PCA0CE =CCON2^4;
//sbit PCA0PS3 =CCON2^3;
//sbit PCA0PS2 =CCON2^2;
//sbit PCA0PS1 =CCON2^1;
//sbit PCA0PS0 =CCON2^0;
sfr CCON3=0xFC; //PCA1 Clock Control
/* CCON6 */
//sbit PCA1CE =CCON3^4;
//sbit PCA1PS3 =CCON3^3;
//sbit PCA1PS2 =CCON3^2;
//sbit PCA1PS1 =CCON3^1;
//sbit PCA1PS0 =CCON3^0;
/* ------------------------------ */
/* Turbo Lite Timer SFRs */
/* ------------------------------ */
/* Timer0,1 SFRs */
sfr TCON = 0x88; // Timer / Counter Control
sbit TF1 = TCON^7; // Standard 8051 timer control
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;
sfr TMOD = 0x89; // Timer / Counter Mode
//sbit GATE1 = TMOD^7;
//sbit C_T1 = TMOD^6;
//sbit M11 = TMOD^5;
//sbit M10 = TMOD^4;
//sbit GATE0 = TMOD^3;
//sbit C_T0 = TMOD^2;
//sbit M01 = TMOD^1;
//sbit M00 = TMOD^0;
sfr TL0 = 0x8A; // Timer 0 low byte
sfr TL1 = 0x8B; // Timer 1 low byte
sfr TH0 = 0x8C; // Timer 0 high byte
sfr TH1 = 0x8D; // Timer 1 high byte
/* Timer2 SFRs */
sfr T2CON=0xC8; // Timer2 Control Register
sbit TF2 = T2CON^7; // Timer2 overflow flag.
sbit EXF2 = T2CON^6; // External signal flag. Set when negative transition occur on T2EX and EXEN2=1.
sbit RCLK = T2CON^5; // UART receive clock select. 0-Timer1, 1-Timer2
sbit TCLK = T2CON^4; // UART transimit clock select. 0-Timer1, 1-Timer2
sbit EXEN2 = T2CON^3; // Timer2 external signal (T2EX) enable.
sbit TR2 = T2CON^2; // Start/Stop control
sbit C_T2 = T2CON^1; // Timer/Counter select
sbit CP_RL2 = T2CON^0; // Capture/Reload select
sfr SCLK1=0xD1; // Timer2 Control Register 2
//sbit RCLK2=SCLK1^5;
//sbit TCLK2=SCLK1^4;
sfr RCAP2L = 0xCA; // Timer 2 Reload low byte
sfr RCAP2H = 0xCB; // Timer 2 Reload high byte
sfr TL2 = 0xCC; // Timer 2 low byte
sfr TH2 = 0xCD; // Timer 2 high byte
/* ------------------------------ */
/* Turbo Lite IrAD SFRs */
/* ------------------------------ */
sfr IRDACON=0xCE;
/* TRDACON */
//sbit IRDAEN =IRDACON^6;
//sbit PULSE =IRDACON^5;
//sbit CDIV4 =IRDACON^4;
//sbit CDIV3 =IRDACON^3;
//sbit CDIV2 =IRDACON^2;
//sbit CDIV1 =IRDACON^1;
//sbit CDIV0 =IRDACON^0;
/* ------------------------------ */
/* Turbo Lite I2C SFRs */
/* ------------------------------ */
sfr S1SETUP=0xDB; // I2C Setup Control
//sbit ENABLE = S1SETUP^7;
// S1SETUP[6:0] = S1SETUP^[6:0];
sfr S1CON= 0xDC; // I2C Control
/* S1CON */
//sbit CR2 = S1CON^7;
//sbit EN1 = S1CON^6;
//sbit STA = S1CON^5;
//sbit STO = S1CON^4;
//sbit ADDR = S1CON^3;
//sbit AA = S1CON^2;
//sbit CR1 = S1CON^1;
//sbit CR0 = S1CON^0;
sfr S1STA= 0xDD; // I2C S2 Status
/* S1STA */
//sbit GC = S1STA^7;
//sbit STOP = S1STA^6;
//sbit INTR = S1STA^5;
//sbit TX_MD = S1STA^4;
//sbit BBUSY = S1STA^3;
//sbit BLOST = S1STA^2;
//sbit ACK_R = S1STA^1;
//sbit SLV = S1STA^0;
sfr S1DAT= 0xDE; // I2C Data Hold Register
sfr S1ADR= 0xDF; // I2C Bus Address
/* ------------------------------ */
/* Turbo Lite UART SFRs */
/* ------------------------------ */
// UART
sfr SCON = 0x98; // UART0 Serial Control
sbit SM0 = SCON^7; // Mode define bit0.
sbit SM1 = SCON^6; // Mode define bit1.
sbit SM2 = SCON^5; // Multiprocessor Enable.
sbit REN = SCON^4; // Receive Enable.
sbit TB8 = SCON^3; // Data bit8 that will be transmitted in mode 2 and 3.
sbit RB8 = SCON^2; // Data bit8 that was received in mode 2 and 3.
sbit TI = SCON^1; // Transmit interrupt flag.
sbit RI = SCON^0; // Receive interrupt flag.
sfr SBUF = 0x99; // UART0 Serial Buffer
// Second UART
sfr SCON1= 0xD8;
sbit SM01 = SCON1^7; // Mode define bit0.
sbit SM11 = SCON1^6; // Mode define bit1.
sbit SM21 = SCON1^5; // Multiprocessor Enable.
sbit REN1 = SCON1^4; // Receive Enable.
sbit TB81 = SCON1^3; // Data bit8 that will be transmitted in mode 2 and 3.
sbit RB81 = SCON1^2; // Data bit8 that was received in mode 2 and 3.
sbit TI1 = SCON1^1; // Transmit interrupt flag.
sbit RI1 = SCON1^0; // Receive interrupt flag.
sfr SBUF1= 0xD9;
/* -----------------------------------
Interrupt Vectors:
Interrupt Address = (Number * 8) + 3
------------------------------------ */
#define RESET_VECTOR_ADDR 0 // Reset Address = 0
#define IE0_VECTOR 0 //0x03 External Interrupt 0
#define IEO_VECTOR_ADDR 0x03
#define TF0_VECTOR 1 //0x0B Timer 0
#define TF0_VECTOR_ADDR 0x0B
#define IE1_VECTOR 2 //0x13 External Interrupt 1
#define IE1_VECTOR_ADDR 0x13
#define TF1_VECTOR 3 //0x1B Timer 1
#define TF1_VECTOR_ADDR 0x1B
#define SIO_VECTOR 4 //0x23 Serial Port 0
#define SIO_VECTOR_ADDR 0x23
#define TF2_VECTOR 5 //0x2B Timer 2
#define TF2_VECTOR_ADDR 0x2B
#define ADC_VECTOR 7 //0x3B ADC
#define ADC_VECTOR_ADDR 0x3B
#define I2C_VECTOR 8 //0x43 I2C
#define I2C_VECTOR_ADDR 0x43
#define SIO1_VECTOR 9 //0x4B Serial Port 1
#define SIO1_VECTOR_ADDR 0x4B
#define SPI_VECTOR 10 //0x53 SPI
#define SPI_VECTOR_ADDR 0x53
#define PCA_VECTOR 11 //0x5B PCA
#define PCA_VECTOR_ADDR 0x5B
#define DBG_VECTOR 12 //0x63 DEBUG (Highest Priority)
#define DBG_VECTOR_ADDR 0x63
/* ---------------------------------- */
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -