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

📄 upsd3300.h

📁 尽量朝“单片”方向设计硬件系统。系统器件越多
💻 H
📖 第 1 页 / 共 2 页
字号:
sfr SPITDR   = 0xD4;    // SPI Transmit Reg.
sfr SPIRDR   = 0xD5;    // SPI Receive Reg.
sfr SPICON0  = 0xD6;    // SPI Control0 Reg.
sfr SPICON1  = 0xD7;    // SPI Control1 Reg.

// --- IrDA SFRs ----
sfr IRDACON  = 0xCE;    // IrDA Configuration Register

// --- MCU Debug ---
sfr DSTAT    = 0xCF;    // Debug MCU Status
sfr DIR      = 0x9E;    // Debug Index Register
sfr DVR      = 0x9F;    // Debug Value Register


// --- Clock Control SFRs ----
sfr CCON0    = 0xF9;    // PLL, Debugber, CPU Clock Control
sfr CCON1    = 0xFA;    // PLL Divider Input
sfr CCON2    = 0xFB;    // PCA0 Clock Control
sfr CCON3    = 0xFC;    // PCA1 Clock Control


// --- XDATA Pointer SFRs ----
sfr DPTC     = 0x85;    // XData Pointer Control
sfr DPTM     = 0x86;    // XData Pointer Mode

// --- Program Counter -----
sfr PCL      = 0x9A;    // Program Counter Low 
sfr PCH      = 0x9B;    // Program Counter High 

// --- Temporary SFRs -----
sfr TSFR0    = 0XB5;    // Temporary SFR0
sfr TSFR1    = 0XB6;    // Temporary SFR1

// --- Bus control SFRs -----
sfr BUSCON    = 0X9D;    // Bus control

/* --------------------------- */
/*  Common 8051 BIT Registers  */
/* --------------------------- */
/*  PSW  */
sbit CY    = PSW^7;	    // Carry
sbit AC    = PSW^6;	    // 
sbit F0    = PSW^5;
sbit RS1   = PSW^4;
sbit RS0   = PSW^3;
sbit OV    = PSW^2;	    // Overflow
sbit P     = PSW^0; 	// 

/*  SCON  */
sbit SM0   = SCON^7;	// Standard 8051 Uart Control
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;

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

/*  IE  */
sbit EA    = IE^7;  	// Enable All interrupts
sbit EDB   = IE^6;  	// Enable Debug
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

/*  IP  */
sbit PDB   = IP^6;	    // Debug
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

/*    P4 Alternate 1  */
sbit PCA1_XCLK  = P4^7;	 // PCA1
sbit TCM5       = P4^6;  // TCM5
sbit TCM4       = P4^5;  //	TCM4
sbit TCM3       = P4^4;  //	TCM3
sbit PCA0_XCLK  = P4^3;	 // PCA0
sbit TCM2       = P4^2;  // TCM2
sbit TCM1       = P4^1;  //	TCM1
sbit TCM0       = P4^0;  //	TCM0

  
/*    P4 Alternate 2  */
sbit SPI_SSEL_P4   = P4^7;  // SPI SSEL
sbit SPI_TxD_P4    = P4^6;  // SPI TxD
sbit SPI_RxD_P4    = P4^5;  // SPI RxD
sbit SPI_SCLK_P4   = P4^4;  // SPI SCLK
sbit UART1_TxD_P4  = P4^3;  // UART1 TxD
sbit UART1_RxD_P4  = P4^2;  // UART1 RxD
sbit TMR2_TRG_P4   = P4^1;  // Timer 2 Trigger Input
sbit TMR2_CNT_P4   = P4^0;  // Timer 2 Count Input


/*  P3  */
sbit I2CSC      = P3^7;	 // I2C Serial Clock
sbit I2CSD      = P3^6;	 // I2C Serial Data
sbit CNTR1      = P3^5;	 // Counter 1 Input
sbit CNTR0      = P3^4;	 // Counter 0 Input
sbit INT1       = P3^3;	 // Ext Int 1 / Timer 1 Gate	
sbit INT0       = P3^2;	 // Ext Int 0 / Timer 0 Gate
sbit UART0_TxD  = P3^1;	 // UART0 TxD
sbit UART0_RxD  = P3^0;	 // UART0 RxD


/*  P1 Alternate 1 */
sbit SPI_SSEL   = P1^7;	 // SPI SSEL
sbit SPI_TxD    = P1^6;  // SPI TxD
sbit SPI_RxD    = P1^5;  // SPI RxD
sbit SPI_SCLK   = P1^4;  // SPI SCLK
sbit UART1_TxD  = P1^3;  // UART1 TxD
sbit UART1_RxD  = P1^2;  // UART1 RxD
sbit TMR2_TRG   = P1^1;  // Timer 2 Trigger Input
sbit TMR2_CNT   = P1^0;  // Timer 2 Count Input


/*  P1 Alternate 2 */
sbit ADC7       = P1^7;	 // ADC Channel 7
sbit ADC6       = P1^6;	 // ADC Channel 6
sbit ADC5       = P1^5;	 // ADC Channel 5
sbit ADC4       = P1^4;	 // ADC Channel 4
sbit ADC3       = P1^3;	 // ADC Channel 3
sbit ADC2       = P1^2;	 // ADC Channel 2
sbit ADC1       = P1^1;	 // ADC Channel 1
sbit ADC0       = P1^0;	 // ADC Channel 0

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


/*    PCON   */
/*
sbit SMOD0      = PCON^7;	// Baud Rate bit for UART0	
sbit SMOD1      = PCON^6;	// Baud Rate bit for UART1
sbit LVD        = PCON^5;	// Low voltage Reset enable
sbit POR        = PCON^4;  	// Power On Reset
sbit PD         = PCON^1;	// Power Down Mode
sbit IDLE       = PCON^0;  	// Idle Mode
*/

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


/*    P1 GPIO   */
sbit P1_7       = P1^7;	   // bit 7 of P1
sbit P1_6       = P1^6;    // bit 6 of P1
sbit P1_5       = P1^5;	   // bit 5 of P1
sbit P1_4       = P1^4;	   // bit 4 of P1
sbit P1_3       = P1^3;	   // bit 3 of P1
sbit P1_2       = P1^2;	   // bit 2 of P1
sbit P1_1       = P1^1;	   // bit 1 of P1
sbit P1_0       = P1^0;	   // bit 0 of P1

/*    P3 GPIO   */
sbit P3_7       = P3^7;	   // bit 7 of P3
sbit P3_6       = P3^6;	   // bit 6 of P3
sbit P3_5       = P3^5;	   // bit 5 of P3
sbit P3_4       = P3^4;	   // bit 4 of P3
sbit P3_3       = P3^3;	   // bit 3 of P3
sbit P3_2       = P3^2;	   // bit 2 of P3
sbit P3_1       = P3^1;	   // bit 1 of P3
sbit P3_0       = P3^0;	   // bit 0 of P3

/*    P4 GPIO   */
sbit P4_7       = P4^7;	   // bit 7 of P4
sbit P4_6       = P4^6;	   // bit 6 of P4
sbit P4_5       = P4^5;	   // bit 5 of P4
sbit P4_4       = P4^4;	   // bit 4 of P4
sbit P4_3       = P4^3;	   // bit 3 of P4
sbit P4_2       = P4^2;	   // bit 2 of P4
sbit P4_1       = P4^1;	   // bit 1 of P4
sbit P4_0       = P4^0;	   // bit 0 of P4


/*    ACON   */
//sbit AINTF  = ACON^7;
//sbit AINTEN = ACON^6;
//sbit ADEN   = ACON^5;
//sbit ADS2   = ACON^4;
//sbit ADS1   = ACON^3;
//sbit ADS0   = ACON^2;
//sbit ADST   = ACON^1;
//sbit ADSF   = ACON^0;

/*  SCON1   */
sbit SM01   = SCON1^7;
sbit SM11   = SCON1^6;
sbit SM21   = SCON1^5;
sbit REN1   = SCON1^4;
sbit TB81   = SCON1^3;
sbit RB81   = SCON1^2;
sbit TI1    = SCON1^1;
sbit RI1    = SCON1^0;


 /*  IEA  */
//sbit ADC    = IEA^7;
//sbit SPI    = IEA^6; 
//sbit PCA    = IEA^5; 
//sbit ES2    = IEA^4;
//sbit EI2C   = IEA^1;
//sbit EUSB   = IEA^0;

/*  IPA  */
//sbit PADC   = IPA^7;
//sbit PSPI   = IPA^6;
//sbit PPCA   = IPA^5;
//sbit PS2    = IPA^4;
//sbit PI2C   = IPA^1;
//sbit PUSB   = IPA^0;


/*  S1CON  */
//sbit CR2        = S1CON^7;
//sbit ENI1       = 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;

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

/* IRDACON */
//sbit IRDAEN     = IRDACON^6;
//sbit BIT_PULSE  = IRDACON^5;
//sbit CDIV4      = IRDACON^4;
//sbit CDIV3      = IRDACON^3;
//sbit CDIV2      = IRDACON^2;
//sbit CDIV1      = IRDACON^1;
//sbit CDIV0      = IRDACON^0;


/* -----------------------------------
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 UART0_VECTOR		4		//0x23 Serial Port 0
#define UART0_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 UART1_VECTOR   		9		//0x4B Serial Port 1
#define UART1_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 + -