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

📄 ioade7169f16.h

📁 用ADE7169F16单片机实现了单向多费4率电能表
💻 H
📖 第 1 页 / 共 3 页
字号:
/*************************************
;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 + -