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

📄 upsd3200.h

📁 本程序是一个RS232转网口的。是一个透明传输的模块
💻 H
📖 第 1 页 / 共 2 页
字号:
sfr ACON   = 0x97;                           // ADC Control Register

// --- UART2 SFRS ----
sfr SCON2     = 0x9A;                        // UART2 Serial Control
sfr SBUF2     = 0x9B;                        // UART2 Serial Buffer
// --- PWM SFRs -----
sfr PWMCON   = 0xA1;                         // PWM Polarity Control
sfr PWM0  = 0xA2;                            // PWM0 Duty Cycle
sfr PWM1  = 0xA3;                            // PWM1 Duty Cycle
sfr PWM2  = 0xA4;                            // PWM2 Duty Cycle
sfr PWM3  = 0xA5;                            // PWM3 Duty Cycle
sfr PWM4D = 0xAB;                            // PWM4 Duty Cycle
sfr PWM4P = 0xAA;                            // PWM4 Period Value
sfr PSCL0L   = 0xB1;                         // PWM0..3 8-bit PWM Prescaler low
sfr PSCL0H   = 0xB2;                         // PWM0..3 8-bit PWM Prescaler high
sfr PSCL1H   = 0xB3;                         // PWM4 8-bit PWM Prescaler high
sfr PSCL1L   = 0xB4;                         // PWM4 8-bit PWM Prescaler low

         /*======================== WDT SFRs ========================*/
sfr WDRST   = 0xA6;                          // Watch Dog Reset register
sfr WDKEY   = 0xAE;                    // Watch Dog Key Enable/Disable (write 55h)
     /*======================== INTERRUPT 2 SFRs ========================*/
sfr IEA    = 0xA7;                           // Interrupt Enable (2nd)
sfr IPA    = 0xB7;                           // Interrupt Priority (2nd)

   /*======================== I2C S1/S2 & DDC SFRs ========================*/
sfr S1SETUP   = 0xD1;                        // DDC-I2C S1 Setup Control
sfr S2SETUP   = 0xD2;                        // I2C S2 Setup Control
sfr RAMBUF    = 0xD4;                        // DDC Ram Buffer Access
sfr DDCDAT    = 0xD5;                        // DDC I2C Xmit register
sfr DDCADR    = 0xD6;                        // DDC Memory Address Pointer
sfr DDCCON    = 0xD7;                        // DDC Control Register
/*  S1CON  */
sfr S1CON     = 0xD8;                        // DDC I2C S1 Control
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;
sfr S1STA     = 0xD9;                        // DDC I2C Status
sfr S1DAT     = 0xDA;                        // DDC I2C Data Hold Register
sfr S1ADR     = 0xDB;                        // DDC I2C Bus Address
sfr S2CON     = 0xDC;                        // I2C S2 Control
sfr S2STA     = 0xDD;                        // I2C S2 Status
sfr S2DAT     = 0xDE;                        // I2C S2 Data Hold Register
sfr S2ADR     = 0xDF;                        // I2C S2 Bus Address
         /*======================== USB SFRs ========================*/
sfr USCL     = 0xE1;                         // USB Clock 8bit prescaler register
sfr UDT1     = 0xE6;                         // USB End Point 1 Data Register
sfr UDT0     = 0xE7;                         // USB End Point 0 Data register
/*  UISTA  */
sfr UISTA    = 0xE8;                         // USB Interrupt Status
sbit SUSPND    = UISTA^7;
//sbit STOP   = UISTA^6;
sbit RSTF   = UISTA^5;
sbit TXD0F    = UISTA^4;
sbit RXD0F   = UISTA^3;
sbit RXD1F   = UISTA^2;
sbit EOPF   = UISTA^1;
sbit RESUMF   = UISTA^0;
sfr UIEN     = 0xE9;                         // USB Interrupt Enable
sfr UCON0    = 0xEA;                         // USB End Point 0 Control
sfr UCON1    = 0xEB;                         // USB End Point 1 Control
sfr UCON2    = 0xEC;                         // USB End Point 2 Control
sfr USTA     = 0xED;                         // USB End Point 0 Status
sfr UADR     = 0xEE;                         // USB Address Register
sfr UDR0     = 0xEF;                         // USB Endpoint 0 Data Receive

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


       /*===============================================================
                               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 USB_VECTOR       6                   //0x33 USB
#define USB_VECTOR_ADDR   0x33
#define DDC_VECTOR       7                   //0x3B DDC
#define DDC_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
#endif





   /*========================================================================
                           DEFINEs for uPSD registers
   ========================================================================*/
#ifndef _UPSD_XREG_
#define _UPSD_XREG_
//sfr P1SFS = 0x91;
 #define bADC0   0x10
 #define bADC1   0x20
 #define bADC2   0x40
 #define bADC3   0x80
//sfr ACON = 0x97;
 #define bADEN   0x20
 #define bADS1   0x08
 #define bADS0   0x04
 #define bADST   0x02
 #define bADSF   0x01
//sfr IEA = 0xa7;
 #define bEDDC   0x80
 #define bES2    0x10
 #define bEI2C   0x02
 #define bEUSB   0x01
//sfr UDT1 = 0xe6;
//sfr UDT0 = 0xe7;
//sfr UISTA = 0xe8;
 #define uSUSPENDF 0x80
 #define uRSTF   0x20
 #define uTXD0F  0x10
 #define uRXD0F  0x08
 #define uTXD1F  0x04
 #define uEOPF   0x02
 #define uRESUMEF 0x01
//sfr UIEN = 0xe9;
 #define uSUSPNDIE 0x80
 #define uMCUR    0x40
 #define uRSTF    0x20
 #define uTXD0IE  0x10
 #define uRXD0IE  0x08
 #define uTXD1IE  0x04
 #define uEOPIE   0x02
 #define uRESUMIE 0x01
//sfr UCON0 = 0xea;
 #define uTSEQ0   0x80
 #define uSTALL0  0x40
 #define uTX0E    0x20
 #define uRX0E    0x10
 #define uTP0SIZ3 0x08
 #define uTP0SIZ2 0x04
 #define uTP0SIZ1 0x02
 #define uTP0SIZ0 0x01
//sfr UCON1 = 0xeb;
 #define uTSEQ1   0x80
 #define uEP12SEL 0x40
 #define uTX1E    0x20
 #define uFRESUM  0x10
 #define uTP1SIZ3 0x08
 #define uTP1SIZ2 0x04
 #define uTP1SIZ1 0x02
 #define uTP1SIZ0 0x01
//sfr UCON2 = 0xec;
 #define uSOUT    0x10
 #define uEP2E    0x08
 #define uEP1E    0x04
 #define uSTALL2  0x02
 #define uSTALL1  0x01
//sfr USTA = 0xed;
 #define uRSEQ    0x80
 #define uSETUP   0x40
 #define uIN      0x20
 #define uOUT     0x10
 #define uRP0SIZ3 0x08
 #define uRP0SIZ2 0x04
 #define uRP0SIZ1 0x02
 #define uPR0SIZ0 0x01
//sfr UADR = 0xee;
 #define uUSBEN   0x80
//sfr UDR0 = 0xef;
//sfr SCON2 = 0x9a;
 #define b_TI     0x02
 #define b_RI     0x01
 #define b_REN    0x10
//sfr SBUF2 = 0x9b;
//sfr WDKEY = 0xae;
 #define  WD_OFF   0x55
 #define  wdrst    0x30			//溢出时间XXS左右

 //寄存器分配基地址
 #define  PSD_REG_ADDR   0x8000   //uPSD PSD寄存器基地址


#endif


/*
*****************************************************************************************************
* 
*****************************************************************************************************
*/
#define NEW_BOARD  255
//#define OLD_BOARD  255

#ifdef OLD_BOARD
    //sbit  RS485EN    = P1^5;
    sbit  NETRSTPIN    = P1^4;
    sbit  RUN_LED      = P3^4;
    sbit  CONNECT_LED  = P1^5;
    sbit  DEFAULT_PIN  = P3^5;
#endif

#ifdef NEW_BOARD
    sbit  CONNECT_LED  = P1^2;
    sbit  RUN_LED      = P1^3;
    sbit  NETRSTPIN    = P1^4;
    sbit  RS485EN      = P1^5;
    sbit  DEFAULT_PIN  = P3^3;
#endif



#define LED(led,x)   (led=x)




/*
*****************************************************************************************************
* 
*****************************************************************************************************
*/
#ifndef MCURST
    #define MCURST()   (((void (code*) (void)) 0x0) ())  //MCU复位重起
#endif

#ifndef WDTEN
    #define WDTEN()   WDKEY = 0x5a;WDRST = 0x7e  //MCU看门狗使能
#endif

#ifndef WDTDIS
    #define WDTDIS()  WDKEY=0x55                 //MCU看门狗关使能
#endif

#ifndef WDT
    #define WDT()  WDRST=0x7e                         //MCU清看门狗
#endif




⌨️ 快捷键说明

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