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

📄 iar7166.h

📁 基于ADE7166/7169的单相表程序
💻 H
📖 第 1 页 / 共 4 页
字号:
__sfr __no_init volatile unsigned char TL1 @ 0x8B;
__sfr __no_init volatile unsigned char TH0 @ 0x8C;
__sfr __no_init volatile unsigned char TH1 @ 0x8D;
__sfr __no_init volatile union
{
  unsigned char T2CON;
  struct
  {
    unsigned char CAP2 : 1;
    unsigned char CNT2 : 1;
    unsigned char TR2 : 1;
    unsigned char EXEN2 : 1;
    unsigned char TCLK : 1;
    unsigned char RCLK : 1;
    unsigned char EXF2 : 1;
    unsigned char TF2 : 1;
  } T2CON_bit;
} @ 0xC8;
__sfr __no_init volatile unsigned char RCAP2L @ 0xCA;
__sfr __no_init volatile unsigned char RCAP2H @ 0xCB;
__sfr __no_init volatile unsigned char TL2 @ 0xCC;
__sfr __no_init volatile unsigned char TH2 @ 0xCD;

/*-------------------------------------------------------------------------
 *   FLASH
 *-------------------------------------------------------------------------*/
__sfr __no_init volatile unsigned char ECON @ 0xB9;
__sfr __no_init volatile unsigned char FLSHKY @ 0xBA;
__sfr __no_init volatile unsigned char PROTKY @ 0xBB;
__sfr __no_init volatile unsigned char EDATA @ 0xBC;
__sfr __no_init volatile unsigned char EADRL @ 0xC6;
__sfr __no_init volatile unsigned char EADRH @ 0xC7;

/*-------------------------------------------------------------------------
 *   Power
 *-------------------------------------------------------------------------*/

__sfr __no_init volatile union
{
  unsigned char INTPR;
  struct
  {
    unsigned char INT0PRG : 1;
    unsigned char INT1PRG0 : 1;
    unsigned char INT1PRG1 : 1;
    unsigned char INT1PRG2 : 1;
    unsigned char  : 1;
    unsigned char  : 1;
    unsigned char  : 1;
    unsigned char  RTCCAL: 1;
  } INTPR_bit;
} @ 0xFF;
__sfr __no_init volatile union
{
  unsigned char PERIPH;
  struct
  {
    unsigned char RXPROG0 : 1;
    unsigned char RXPROG1 : 1;
    unsigned char EXTREFEN : 1;
    unsigned char REF_BATT_EN : 1;
    unsigned char PLL_FLT : 1;
    unsigned char VDD_OK : 1;
    unsigned char VSWSOURCE : 1;
    unsigned char RXFLAG : 1;
  } PERIPH_bit;
} @ 0xF4;
__sfr __no_init volatile unsigned char KYREG @ 0xC1;
__sfr __no_init volatile union
{
  unsigned char BATPR;
  struct
  {
    unsigned char BATPRG0 : 1;
    unsigned char BATPRG1 : 1;
    unsigned char  : 1;
    unsigned char  : 1;
    unsigned char  : 1;
    unsigned char  : 1;
    unsigned char  : 1;
    unsigned char  : 1;
  } BATPR_bit;
} @ 0xF5;
__sfr __no_init volatile unsigned char SCRATCH1 @ 0xFB;
__sfr __no_init volatile unsigned char SCRATCH2 @ 0xFC;
__sfr __no_init volatile unsigned char SCRATCH3 @ 0xFD;
__sfr __no_init volatile unsigned char SCRATCH4 @ 0xFE;
__sfr __no_init volatile union
{
  unsigned char IPSMF;
  struct
  {
    unsigned char FVDC : 1;
    unsigned char FBSO : 1;
    unsigned char FBAT : 1;
    unsigned char FVSW : 1;
    unsigned char  : 1;
    unsigned char FSAG : 1;
    unsigned char FPSM : 1;
    unsigned char FPSR : 1;
  } IPSMF_bit;
} @ 0xF8;
__sfr __no_init volatile union
{
  unsigned char POWCON;
  struct
  {
    unsigned char CD0 : 1;
    unsigned char CD1 : 1;
    unsigned char CD2 : 1;
    unsigned char  : 1;
    unsigned char COREOFF : 1;
    unsigned char  : 1;
    unsigned char  : 1;
    unsigned char  : 1;
  } POWCON_bit;
} @ 0xC5;
__sfr __no_init volatile union
{
  unsigned char IPSME;
  struct
  {
    unsigned char EVDCIN : 1;
    unsigned char EBSO : 1;
    unsigned char EBAT : 1;
    unsigned char EVSW : 1;
    unsigned char  : 1;
    unsigned char ESAG : 1;
    unsigned char ADEIAUTCLR : 1;
    unsigned char EPSR : 1;
  } IPSME_bit;
} @ 0xEC;
/*
 * Interrupt Vectors
 */



#pragma language=default
#endif  /* __IAR_SYSTEMS_ICC__  */

/***************************************************************************
 *   Assembler definitions
 *
 *   The following SFRs are built in in the a8051.exe and can not be
 *   defined explicitly in this file:
 *     ACC,B,PSW,SP,DPL,DPH
 *   The PSW-bits are built-in in the a8051.exe
 *     OV,AC,F0,RS0,RS1,P
 *
***************************************************************************/

#ifdef __IAR_SYSTEMS_ASM__


/*-------------------------------------------------------------------------
 *   SPI
 *-------------------------------------------------------------------------*/

SPI2CTX   DEFINE 0x9A
SPI2CRX   DEFINE 0x9B
SPIMOD1   DEFINE 0xE8
SPIMOD2   DEFINE 0xE9
SPISTAT   DEFINE 0xEA

/*-------------------------------------------------------------------------
 *   I2C
 *-------------------------------------------------------------------------*/

I2CMOD    DEFINE 0xE8
I2CADR    DEFINE 0xE9
I2CSTAT   DEFINE 0xEA

/*-------------------------------------------------------------------------
 *   RTC
 *-------------------------------------------------------------------------*/

TIMECON   DEFINE 0xA1
TIMECON2  DEFINE 0xA2
RTCPTR    DEFINE 0xA3
RTCDAT    DEFINE 0xA4
RTCCOMP   DEFINE 0xF6
TEMPCAL   DEFINE 0xF7


/*-------------------------------------------------------------------------
 *   LCD
 *-------------------------------------------------------------------------*/

LCDCON    DEFINE 0x95
LCDCLK    DEFINE 0x96
LCDSEGE   DEFINE 0x97
LCDCONX   DEFINE 0x9C
LCDPTR    DEFINE 0xAC
LCDDAT    DEFINE 0xAE
LCDCONY   DEFINE 0xB1
LCDSEGE2  DEFINE 0xED

/*-------------------------------------------------------------------------
 *   Energy Measurement
 *-------------------------------------------------------------------------*/

MADDPT    DEFINE 0x91
MDATL     DEFINE 0x92
MDATM     DEFINE 0x93
MDATH     DEFINE 0x94
VRMSL     DEFINE 0xD1
VRMSM     DEFINE 0xD2
VRMSH     DEFINE 0xD3
IRMSL     DEFINE 0xD4
IRMSM     DEFINE 0xD5
IRMSH     DEFINE 0xD6
MIRQENL   DEFINE 0xD9
MIRQENM   DEFINE 0xDA
MIRQENH   DEFINE 0xDB
MIRQSTL   DEFINE 0xDC
MIRQSTM   DEFINE 0xDD
MIRQSTH   DEFINE 0xDE
WAV1L     DEFINE 0xE2
WAV1M     DEFINE 0xE3
WAV1H     DEFINE 0xE4
WAV2L     DEFINE 0xE5
WAV2M     DEFINE 0xE6
WAV2H     DEFINE 0xE7


/*-------------------------------------------------------------------------
 *   UART
 *-------------------------------------------------------------------------*/

SCON      DEFINE 0x98
SBUF      DEFINE 0x99
SBAUDF    DEFINE 0x9D
SBAUDT    DEFINE 0x9E

/*-------------------------------------------------------------------------
 *   UART2
 *-------------------------------------------------------------------------*/

SCON2     DEFINE 0xE1
SBUF2     DEFINE 0xEB
SBAUD2    DEFINE 0xEE

/*-------------------------------------------------------------------------
 *   Interupt
 *-------------------------------------------------------------------------*/

IE        DEFINE 0xA8
IEIP2     DEFINE 0xA9
IP        DEFINE 0xB8
WDCON     DEFINE 0xC0

/*-------------------------------------------------------------------------
 *   Temp, batt and volt
 *-------------------------------------------------------------------------*/

TEMPADC   DEFINE 0xD7
ADCGO     DEFINE 0xD8
BATADC    DEFINE 0xDF
VSWADC    DEFINE 0xEF
DIFFPROG  DEFINE 0xF3
STRBPER   DEFINE 0xF9
BATVTH    DEFINE 0xFA

/*-------------------------------------------------------------------------
 *   I/O Ports
 *-------------------------------------------------------------------------*/

P0        DEFINE 0x80 /* Port 0 */
P1        DEFINE 0x90
EPCFG     DEFINE 0x9F
P2        DEFINE 0xA0
PINMAP0   DEFINE 0xB2
PINMAP1   DEFINE 0xB3
PINMAP2   DEFINE 0xB4

/*-------------------------------------------------------------------------
 *   Core
 *-------------------------------------------------------------------------*/
PCON      DEFINE 0x87
DPC     DEFINE 0xA7
CFG       DEFINE 0xAF
SPH       DEFINE 0xB7
STCON     DEFINE 0xBF



/*-------------------------------------------------------------------------
 *   Timer
 *-------------------------------------------------------------------------*/

TCON      DEFINE 0x88
TMOD      DEFINE 0x89
TL0       DEFINE 0x8A
TL1       DEFINE 0x8B
TH0       DEFINE 0x8C
TH1       DEFINE 0x8D
T2CON     DEFINE 0xC8
RCAP2L    DEFINE 0xCA
RCAP2H    DEFINE 0xCB
TL2       DEFINE 0xCC
TH2       DEFINE 0xCD


/*-------------------------------------------------------------------------
 *   FLASH
 *-------------------------------------------------------------------------*/

ECON      DEFINE 0xB9
FLSHKY    DEFINE 0xBA
PROTKY    DEFINE 0xBB
EDATA     DEFINE 0xBC
EADRL     DEFINE 0xC6
EADRH     DEFINE 0xC7

/*-------------------------------------------------------------------------
 *   Power
 *-------------------------------------------------------------------------*/

KYREG     DEFINE 0xC1
POWCON    DEFINE 0xC5
IPSME     DEFINE 0xEC
PERIPH    DEFINE 0xF4
BATPR     DEFINE 0xF5
IPSMF     DEFINE 0xF8
SCRATCH1  DEFINE 0xFB
SCRATCH2  DEFINE 0xFC
SCRATCH3  DEFINE 0xFD
SCRATCH4  DEFINE 0xFE
INTPR     DEFINE 0xFF


/*-------------------------------------------------------------------------
 *   Bit Definitions
 *-------------------------------------------------------------------------*/
//P0 bits
INT1      DEFINE	0x80
CF1	      DEFINE  0x82
CF2	      DEFINE  0x83
T0	      DEFINE  0x86
T1	      DEFINE  0x87

//TCON bits
IT0	      DEFINE  0x88
IE0	      DEFINE  0x89
IT1	      DEFINE  0x8A
IE1	      DEFINE  0x8B
TR0	      DEFINE  0x8C
TF0	      DEFINE  0x8D
TR1	      DEFINE  0x8E
TF1	      DEFINE  0x8F

//P1 bits
RXD	      DEFINE  0x90
TXD	      DEFINE  0x91
T2EX          DEFINE  0x93
T2            DEFINE  0x94

//SCON bits
RI	      DEFINE  0x98
TI	      DEFINE  0x99
RB8	      DEFINE  0x9A
TB8	      DEFINE  0x9B
REN	      DEFINE  0x9C
SM2	      DEFINE  0x9D
SM1	      DEFINE  0x9E
SM0	      DEFINE  0x9F

//IE bits
EX0	      DEFINE  0xA8
ET0	      DEFINE  0xA9
EX1	      DEFINE  0xAA
ET1	      DEFINE  0xAB
ES	      DEFINE  0xAC
ET2	      DEFINE  0xAD
ETEMP	      DEFINE  0xAE
EA	      DEFINE  0xAF

//IP bits
PX0	      DEFINE  0xB8
PT0	      DEFINE  0xB9
PX1	      DEFINE  0xBA
PT1	      DEFINE  0xBB
PS	      DEFINE  0xBC
PT2	      DEFINE  0xBD
PTEMP	      DEFINE  0xBE
PADE	      DEFINE  0xBF

//WDCON bits
WDWR	    DEFINE  0xC0
WDE	    DEFINE  0xC1
WDS	    DEFINE  0xC2
WDIR	    DEFINE  0xC3
PRE0	    DEFINE  0xC4
PRE1	    DEFINE  0xC5
PRE2	    DEFINE  0xC6
PRE3	    DEFINE  0xC7

//T2CON bits
CAP2	    DEFINE  0xC8
CNT2	    DEFINE  0xC9
TR2	    DEFINE  0xCA
EXEN2	    DEFINE  0xCB
TCLK	    DEFINE  0xCC
RCLK	    DEFINE  0xCD
EXF2	    DEFINE  0xCE
TF2	    DEFINE  0xCF

//PSW bits besides P, RS0, RS1, F0, AC and OV already built-in in the a8051.exe
F1	    DEFINE  0xD1
CY	    DEFINE  0xD7


//ADCGO bits
BTADC	    DEFINE  0xD8
TADC	    DEFINE  0xD9
VADC	    DEFINE  0xDA
PLLACK      DEFINE  0xDF

//SPIMOD1 bits
SPIR0	    DEFINE  0xE8
SPIR1	    DEFINE  0xE9
RXOFW	    DEFINE  0xEA
SSE	    DEFINE  0xEB
AUTO_SS	    DEFINE  0xEC
INTMOD      DEFINE  0xED

//I2CMOD bits
I2CRCT0	    DEFINE  0xE8
I2CRCT1	    DEFINE  0xE9
I2CRCT2	    DEFINE  0xEA
I2CRCT3	    DEFINE  0xEB
I2CRCT4	    DEFINE  0xEC
I2CR0	    DEFINE  0xED
I2CR1	    DEFINE  0xEE
I2CEN	    DEFINE  0xEF

//IPSMF bits
FVDC	    DEFINE  0xF8
FBSO	    DEFINE  0xF9
FBAT	    DEFINE  0xFA
FVSW	    DEFINE  0xFB
FSAG	    DEFINE  0xFD
FPSM	    DEFINE  0xFE
FPSR	    DEFINE  0xFF

//Define ADE indirect registers read and write commands				
WATTHR_R	  DEFINE 0x01			
RWATTHR_R	  DEFINE 0x02			
LWATTHR_R	  DEFINE 0x03			
VARHR_R	          DEFINE 0x04			
RVARHR_R	  DEFINE 0x05			
LVARHR_R	  DEFINE 0x06			
VAHR_R	          DEFINE 0x07			
RVAHR_R	          DEFINE 0x08			
LVAHR_R	          DEFINE 0x09			
PER_FREQ_R	  DEFINE 0x0A			
MODE1_R	          DEFINE 0x0B			
MODE2_R	          DEFINE 0x0C
WAVMODE_R	  DEFINE 0x0D
NLMODE_R	  DEFINE 0x0E
ACCMODE_R	  DEFINE 0x0F
PHCAL_R	          DEFINE 0x10
ZXTOUT_R	  DEFINE 0x11
LINCYC_R	  DEFINE 0x12
SAGCYC_R	  DEFINE 0x13
SAGLVL_R	  DEFINE 0x14
IPKLVL_R	  DEFINE 0x15
VPKLVL_R	  DEFINE 0x16
IPEAK_R	          DEFINE 0x17
RSTIPEAK_R	  DEFINE 0x18
VPEAK_R	          DEFINE 0x19
RSTVPEAK_R	  DEFINE 0x1A
GAIN_R	          DEFINE 0x1B

⌨️ 快捷键说明

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