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

📄 tlregs.h

📁 Keil3_Full程序
💻 H
📖 第 1 页 / 共 2 页
字号:
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 + -