📄 ioade7169f16.h
字号:
/*************************************
;Ade7169 demo program
;*************************************
;AUTHOR: Su RuTong
;DATE: 03 09 2006
;*************************************/
/***************************************************************************
* - ioADE7169F16.h -
*
* Special header for the Analog Devices ADE7169F16 Microcontroller.
*
*
***************************************************************************/
/*
-12/21/2005 - Petre M. added EADE bit to IEIP2 SFR register
-01/17/2006 - Petre M. added REFRESH bit to LCDCONY SFR
*/
#ifndef IOADE7169F16_H
#define IOADE7169F16_H
#ifdef __IAR_SYSTEMS_ICC__
#pragma language=extended
/*-------------------------------------------------------------------------
* SPI
*-------------------------------------------------------------------------*/
__sfr __no_init volatile union
{
unsigned char SPI2CSTAT;
struct
{
unsigned char I2CTxWR_ERR : 1;
unsigned char I2CACC_ERR : 1;
unsigned char : 1;
unsigned char : 1;
unsigned char I2CTxIRQ : 1;
unsigned char I2CRxIRQ : 1;
unsigned char I2CNOACK : 1;
unsigned char BUSY : 1;
} SPI2CSTAT_bit;
} @ 0xEA;
__sfr __no_init volatile union
{
unsigned char SPIMOD1;
unsigned char I2CCOMP;
struct
{
unsigned char SPIRATE0 : 1;
unsigned char SPIRATE1 : 1;
unsigned char RxOF_EN : 1;
unsigned char SS_EN : 1;
unsigned char AUTO_SS_S : 1;
unsigned char : 1;
unsigned char : 1;
unsigned char : 1;
} SPIMOD1_bit;
struct
{
unsigned char RCNT0 : 1;
unsigned char RCNT1 : 1;
unsigned char RCNT2 : 1;
unsigned char RCNT3 : 1;
unsigned char RCNT4 : 1;
unsigned char I2CRATE0 : 1;
unsigned char I2CRATE1 : 1;
unsigned char I2CEN_S : 1;
} I2CCOMP_bit;
} @ 0xE8;
__sfr __no_init volatile union
{
unsigned char SPI2CTx;
struct
{
unsigned char SPI2CT0 : 1;
unsigned char SPI2CT1 : 1;
unsigned char SPI2CT2 : 1;
unsigned char SPI2CT3 : 1;
unsigned char SPI2CT4 : 1;
unsigned char SPI2CT5 : 1;
unsigned char SPI2CT6 : 1;
unsigned char SPI2CT7 : 1;
} SPI2CTx_bit;
} @ 0x9A;
__sfr __no_init volatile union
{
unsigned char SPIMOD2;
unsigned char I2CADR;
struct
{
unsigned char TIMODE : 1;
unsigned char SPILSBF : 1;
unsigned char SPICPHA : 1;
unsigned char SPICPOL : 1;
unsigned char SPIMS_b : 1;
unsigned char SPIODO : 1;
unsigned char SPIEN : 1;
unsigned char SPICONT : 1;
} SPIMOD2_bit;
struct
{
unsigned char I2CR_W : 1;
unsigned char : 1;
unsigned char : 1;
unsigned char : 1;
unsigned char : 1;
unsigned char : 1;
unsigned char : 1;
unsigned char : 1;
} I2CADR_bit;
} @ 0xE9;
__sfr __no_init volatile union
{
unsigned char SPI2CRx;
struct
{
unsigned char SPI2R0 : 1;
unsigned char SPI2R1 : 1;
unsigned char SPI2R2 : 1;
unsigned char SPI2R3 : 1;
unsigned char SPI2R4 : 1;
unsigned char SPI2R5 : 1;
unsigned char SPI2R6 : 1;
unsigned char SPI2R7 : 1;
} SPI2CRx_bit;
} @ 0x9B;
__sfr __no_init volatile unsigned char I2CMOD @ 0xE8;
/*-------------------------------------------------------------------------
* RTC
*-------------------------------------------------------------------------*/
__sfr __no_init volatile unsigned char RTCCOMP @ 0xF6;
__sfr __no_init volatile union
{
unsigned char TIMECON;
struct
{
unsigned char RTCEN : 1;
unsigned char ITEN : 1;
unsigned char ALARM : 1;
unsigned char SIT : 1;
unsigned char ITS0 : 1;
unsigned char ITS1 : 1;
unsigned char TFH : 1;
unsigned char MIDNIGHT : 1;
} TIMECON_bit;
} @ 0xA1;
__sfr __no_init volatile unsigned char TEMPCAL @ 0xF7;
__sfr __no_init volatile unsigned char HTSSEC @ 0xA2;
__sfr __no_init volatile unsigned char SEC @ 0xA3;
__sfr __no_init volatile unsigned char MIN @ 0xA4;
__sfr __no_init volatile unsigned char HOUR @ 0xA5;
__sfr __no_init volatile unsigned char INTVAL @ 0xA6;
#define HTHSEC HTSSEC
/*-------------------------------------------------------------------------
* LCD
*-------------------------------------------------------------------------*/
__sfr __no_init volatile union
{
unsigned char LCDPTR;
struct
{
unsigned char ADDRESS0 : 1;
unsigned char ADDRESS1 : 1;
unsigned char ADDRESS2 : 1;
unsigned char ADDRESS3 : 1;
unsigned char ADDRESS4 : 1;
unsigned char ADDRESS5 : 1;
unsigned char : 1;
unsigned char WR : 1;
} LCDPTR_bit;
} @ 0xAC;
__sfr __no_init volatile union
{
unsigned char LCDCONY;
struct
{
unsigned char REFRESH_S : 1;
unsigned char UPDATEOVER_S : 1;
unsigned char : 1;
unsigned char : 1;
unsigned char : 1;
unsigned char : 1;
unsigned char INV_LVL : 1;
unsigned char : 1;
} LCDCONY_bit;
} @ 0xB1;
__sfr __no_init volatile unsigned char LCDDAT @ 0xAE;
__sfr __no_init volatile union
{
unsigned char LCDCON;
struct
{
unsigned char LMUX0_S : 1;
unsigned char LMUX1_S : 1;
unsigned char BIAS : 1;
unsigned char CLKSEL_S : 1;
unsigned char LCDPSM2_S : 1;
unsigned char BLINKEN_S : 1;
unsigned char LCDRST_S : 1;
unsigned char LCDEN_S : 1;
} LCDCON_bit;
} @ 0x95;
__sfr __no_init volatile union
{
unsigned char LCDCLK;
struct
{
unsigned char FD0_S : 1;
unsigned char FD1_S : 1;
unsigned char FD2_S : 1;
unsigned char FD3_S : 1;
unsigned char BLKFREQ0_S : 1;
unsigned char BLKFREQ1_S : 1;
unsigned char BLKMODE0_S : 1;
unsigned char BLKMODE1_S : 1;
} LCDCLK_bit;
} @ 0x96;
__sfr __no_init volatile union
{
unsigned char LCDSEGE;
struct
{
unsigned char FDELAY0_S : 1;
unsigned char FDELAY1_S : 1;
unsigned char SEG20EN_S : 1;
unsigned char SEG21EN_S : 1;
unsigned char SEG22EN_S : 1;
unsigned char SEG23EN_S : 1;
unsigned char SEG24EN_S : 1;
unsigned char SEG25EN_S : 1;
} LCDSEGE_bit;
} @ 0x97;
__sfr __no_init volatile union
{
unsigned char LCDSEGE2;
struct
{
unsigned char SEG16EN_S : 1;
unsigned char SEG17EN_S : 1;
unsigned char SEG18EN_S : 1;
unsigned char SEG19EN_S : 1;
unsigned char : 1;
unsigned char : 1;
unsigned char : 1;
unsigned char : 1;
} LCDSEGE2_bit;
} @ 0xED;
__sfr __no_init volatile union
{
unsigned char LCDCONX;
struct
{
unsigned char BIASLVL0_S : 1;
unsigned char BIASLVL1_S : 1;
unsigned char BIASLVL2_S : 1;
unsigned char BIASLVL3_S : 1;
unsigned char BIASLVL4_S : 1;
unsigned char BIASLVL5_S : 1;
unsigned char EXTRES : 1;
unsigned char : 1;
} LCDCONX_bit;
} @ 0x9C;
/*-------------------------------------------------------------------------
* Energy Measurement
*-------------------------------------------------------------------------*/
__sfr __no_init volatile unsigned char WAV1L @ 0xE2;
__sfr __no_init volatile unsigned char VRMSL @ 0xD1;
__sfr __no_init volatile unsigned char MADDPT @ 0x91;//EADDPT @ 0x91;
__sfr __no_init volatile unsigned char WAV1M @ 0xE3;
__sfr __no_init volatile unsigned char VRMSM @ 0xD2;
__sfr __no_init volatile unsigned char MDATL @ 0x92; //EDATL @ 0x92;
__sfr __no_init volatile unsigned char WAV1H @ 0xE4;
__sfr __no_init volatile unsigned char VRMSH @ 0xD3;
__sfr __no_init volatile unsigned char MDATM @ 0x93; //EDATM @ 0x93;
__sfr __no_init volatile unsigned char WAV2L @ 0xE5;
__sfr __no_init volatile unsigned char IRMSL @ 0xD4;
__sfr __no_init volatile unsigned char MDATH @ 0x94; //EDATH @ 0x94;
__sfr __no_init volatile unsigned char WAV2M @ 0xE6;
__sfr __no_init volatile unsigned char IRMSM @ 0xD5;
__sfr __no_init volatile unsigned char WAV2H @ 0xE7;
__sfr __no_init volatile union
{
unsigned char EIRQENL;
struct
{
unsigned char APNOLOAD_S : 1;
unsigned char RNOLOAD_S : 1;
unsigned char VANOLOAD_S : 1;
unsigned char APSIGN_S : 1;
unsigned char VARSIGN_S : 1;
unsigned char FAULLTSIGN_S : 1;
unsigned char : 1;
unsigned char : 1;
} EIRQENL_bit;
} @ 0xD9;
__sfr __no_init volatile union
{
unsigned char EIRQENM;
struct
{
unsigned char AEHF_S : 1;
unsigned char REHF_S : 1;
unsigned char VAEHF_S : 1;
unsigned char AEOF_S : 1;
unsigned char REOF_S : 1;
unsigned char VAEOF_S : 1;
unsigned char CF1_S : 1;
unsigned char CF2_S : 1;
} EIRQENM_bit;
} @ 0xDA;
__sfr __no_init volatile unsigned char IRMSH @ 0xD6;
__sfr __no_init volatile union
{
unsigned char EIRQENH;
struct
{
unsigned char ZX_S : 1;
unsigned char ZXTO_S : 1;
unsigned char CYCEND_S : 1;
unsigned char PKV_S : 1;
unsigned char PKI_S : 1;
unsigned char WFSM_S : 1;
unsigned char CALDONE_S : 1;
unsigned char : 1;
} EIRQENH_bit;
} @ 0xDB;
__sfr __no_init volatile union
{
unsigned char EIRQSTL;
struct
{
unsigned char APNOLOAD_S : 1;
unsigned char RNOLOAD_S : 1;
unsigned char VANOLOAD_S : 1;
unsigned char APSIGN_S : 1;
unsigned char VARSIGN_S : 1;
unsigned char FAULLTSIGN_S : 1;
unsigned char : 1;
unsigned char : 1;
} EIRQSTL_bit;
} @ 0xDC;
__sfr __no_init volatile union
{
unsigned char EIRQSTM;
struct
{
unsigned char AEHF_S : 1;
unsigned char REHF_S : 1;
unsigned char VAEHF_S : 1;
unsigned char AEOF_S : 1;
unsigned char REOF_S : 1;
unsigned char VAEOF_S : 1;
unsigned char CF1_S : 1;
unsigned char CF2_S : 1;
} EIRQSTM_bit;
} @ 0xDD;
__sfr __no_init volatile union
{
unsigned char EIRQSTH;
struct
{
unsigned char ZX_S : 1;
unsigned char ZXTO_S : 1;
unsigned char CYCEND_S : 1;
unsigned char PKV_S : 1;
unsigned char PKI_S : 1;
unsigned char WFSM_S : 1;
unsigned char CALDONE_S : 1;
unsigned char RESET_S : 1;
} EIRQSTH_bit;
} @ 0xDE;
/*-------------------------------------------------------------------------
* UART
*-------------------------------------------------------------------------*/
__sfr __no_init volatile union
{
unsigned char SBAUDF;
struct
{
unsigned char T3FD0_S : 1;
unsigned char T3FD1_S : 1;
unsigned char T3FD2_S : 1;
unsigned char T3FD3_S : 1;
unsigned char T3FD4_S : 1;
unsigned char T3FD5_S : 1;
unsigned char : 1;
unsigned char : 1;
} SBAUDF_bit;
} @ 0x9D;
__sfr __no_init volatile unsigned char SBUF @ 0x99;
__sfr __no_init volatile union
{
unsigned char SBAUDT;
struct
{
unsigned char DIV0_S : 1;
unsigned char DIV1_S : 1;
unsigned char DIV2_S : 1;
unsigned char BE_S : 1;
unsigned char FE_S : 1;
unsigned char OWE_S : 1;
unsigned char : 1;
unsigned char T3BAUDEN_S : 1;
} SBAUDT_bit;
} @ 0x9E;
__sfr __no_init volatile union
{
unsigned char SCON;
struct
{
unsigned char RI_S : 1;
unsigned char TI_S : 1;
unsigned char RB8_S : 1;
unsigned char TB8_S : 1;
unsigned char REN_S : 1;
unsigned char SM2_S : 1;
unsigned char SM1_S : 1;
unsigned char SM0_S : 1;
} SCON_bit;
} @ 0x98;
/* SCON */
#define RI SCON_bit.RI_S
#define TI SCON_bit.TI_S
#define RB8 SCON_bit.RB8_S
#define TB8 SCON_bit.TB8_S
#define REN SCON_bit.REN_S
#define SM2 SCON_bit.SM2_S
#define SM1 SCON_bit.SM1_S
#define SM0 SCON_bit.SM0_S
/*-------------------------------------------------------------------------
* Interupt
*-------------------------------------------------------------------------*/
__sfr __no_init volatile union
{
unsigned char IP;
struct
{
unsigned char PX0_S : 1;
unsigned char PT0_S : 1;
unsigned char PX1_S : 1;
unsigned char PT1_S : 1;
unsigned char PS_S : 1;
unsigned char PT2_S : 1;
unsigned char PADC_S : 1;
unsigned char PADE_S : 1;
} IP_bit;
} @ 0xB8;
/* IP */
#define PADE IP_bit.PADE_S
#define PADC IP_bit.PADC_S
#define PT2 IP_bit.PT2_S
#define PS IP_bit.PS_S
#define PT1 IP_bit.PT1_S
#define PX1 IP_bit.PX1_S
#define PT0 IP_bit.PT0_S
#define PX0 IP_bit.PX0_S
__sfr __no_init volatile union
{
unsigned char IE;
struct
{
unsigned char EX0_S : 1; // bit0
unsigned char ET0_S : 1;
unsigned char EX1_S : 1;
unsigned char ET1_S : 1;
unsigned char ES_S : 1;
unsigned char ET2_S : 1;
unsigned char EADC_S : 1;
unsigned char EA_S : 1; // bit7
} IE_bit;
} @ 0xA8;
/* IE */
#define EX0 IE_bit.EX0_S
#define ET0 IE_bit.ET0_S
#define EX1 IE_bit.EX1_S
#define ET1 IE_bit.ET1_S
#define ES IE_bit.ES_S
#define ET2 IE_bit.ET2_S
#define EADC IE_bit.EADC_S
#define EA IE_bit.EA_S
__sfr __no_init volatile union
{
unsigned char WDCON;
struct
{
unsigned char WDWR_S : 1;
unsigned char WDE_S : 1;
unsigned char WDS_S : 1;
unsigned char WDIR_S : 1;
unsigned char PRE0_S : 1;
unsigned char PRE1_S : 1;
unsigned char PRE2_S : 1;
unsigned char PRE3_S : 1;
} WDCON_bit;
} @ 0xC0;
/* WDCON */
#define WDWR WDCON_bit.WDWR_S
#define WDE WDCON_bit.WDE_S
#define WDS WDCON_bit.WDS_S
#define WDIR WDCON_bit.WDIR_S
#define PRE0 WDCON_bit.PRE0_S
#define PRE1 WDCON_bit.PRE1_S
#define PRE2 WDCON_bit.PRE2_S
#define PRE3 WDCON_bit.PRE3_S
__sfr __no_init volatile union
{
unsigned char IEIP2;
struct
{
unsigned char ESI_S : 1;
unsigned char EPSM_S : 1;
unsigned char ETI_S : 1;
unsigned char EADE_S : 1;
unsigned char PSI_S : 1;
unsigned char : 1;
unsigned char PTI_S : 1;
unsigned char : 1;
} IEIP2_bit;
} @ 0xA9;
/* IEIP2 */
//#define ESI IEIP2_bit.ESI_S
//#define EPSM IEIP2_bit.EPSM_S
//#define EADE IEIP2_bit.EADE_S
//#define PSI IEIP2_bit.PSI_S
//#define PTI IEIP2_bit.PTI_S
/*-------------------------------------------------------------------------
* Temp, batt and volt
*-------------------------------------------------------------------------*/
__sfr __no_init volatile unsigned char VSWADC @ 0xEF;
__sfr __no_init volatile union
{
unsigned char DIFFPROG;
struct
{
unsigned char VSW_DIFF0_S : 1;
unsigned char VSW_DIFF1_S : 1;
unsigned char VSW_DIFF2_S : 1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -