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

📄 ioade7169f16.h

📁 一个电表的程序
💻 H
📖 第 1 页 / 共 3 页
字号:
/***************************************************************************
 *                                - 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
-02/21/2006 - Petre M. added SFRs for Energy Measurement
-03/20/2006 - Petre M. replaced EADC bit in IE SFR with ETEMP
*/
#ifndef IOADE7169F16_H
#define IOADE7169F16_H
#ifdef __IAR_SYSTEMS_ICC__
#pragma language=extended


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

__sfr __no_init volatile union
{
  unsigned char SPI2CSTAT;
  unsigned char I2CSTAT;
  struct
  {
    unsigned char  : 1;
    unsigned char SPITxIRQ : 1;
    unsigned char  : 1;
    unsigned char  : 1;
    unsigned char SPIRxIRQ : 1;
    unsigned char SPIRxOF : 1;
    unsigned char MMERR : 1;
    unsigned char BUSY : 1;
  } SPI2CSTAT_bit;
  struct
  {
    unsigned char I2CTxWR_ERR : 1;
    unsigned char I2CACC_ERR : 1;
    unsigned char I2CFIFOSTAT : 2;
    unsigned char I2CTxIRQ : 1;
    unsigned char I2CRxIRQ : 1;
    unsigned char I2CNOACK : 1;
    unsigned char I2CBUSY : 1;
  } I2CSTAT_bit;

} @ 0xEA;
__sfr __no_init volatile union
{
  unsigned char SPIMOD1;
  unsigned char I2CCOMP;
  unsigned char I2CMOD;
  struct
  {
    unsigned char SPIRATE0 : 1;
    unsigned char SPIRATE1 : 1;
    unsigned char RxOF_EN : 1;
    unsigned char SS_EN : 1;
    unsigned char AUTO_SS : 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 : 1;
  } I2CCOMP_bit;
  struct
  {
    unsigned char RCNT : 5;
    unsigned char I2CRATE : 2;
    unsigned char I2CEN : 1;
  } I2CMOD_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;

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

/*-------------------------------------------------------------------------
 *   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 : 1;
    unsigned char UPDATEOVER : 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 : 1;
    unsigned char LMUX1 : 1;
    unsigned char BIAS : 1;
    unsigned char CLKSEL : 1;
    unsigned char LCDPSM2 : 1;
    unsigned char BLINKEN : 1;
    unsigned char LCDRST : 1;
    unsigned char LCDEN : 1;
  } LCDCON_bit;
} @ 0x95;
__sfr __no_init volatile union
{
  unsigned char LCDCLK;
  struct
  {
    unsigned char FD0 : 1;
    unsigned char FD1 : 1;
    unsigned char FD2 : 1;
    unsigned char FD3 : 1;
    unsigned char BLKFREQ0 : 1;
    unsigned char BLKFREQ1 : 1;
    unsigned char BLKMODE0 : 1;
    unsigned char BLKMODE1 : 1;
  } LCDCLK_bit;
} @ 0x96;
__sfr __no_init volatile union
{
  unsigned char LCDSEGE;
  struct
  {
    unsigned char FDELAY0 : 1;
    unsigned char FDELAY1 : 1;
    unsigned char SEG20EN : 1;
    unsigned char SEG21EN : 1;
    unsigned char SEG22EN : 1;
    unsigned char SEG23EN : 1;
    unsigned char SEG24EN : 1;
    unsigned char SEG25EN : 1;
  } LCDSEGE_bit;
} @ 0x97;
__sfr __no_init volatile union
{
  unsigned char LCDSEGE2;
  struct
  {
    unsigned char SEG16EN : 1;
    unsigned char SEG17EN : 1;
    unsigned char SEG18EN : 1;
    unsigned char SEG19EN : 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 : 1;
    unsigned char BIASLVL1 : 1;
    unsigned char BIASLVL2 : 1;
    unsigned char BIASLVL3 : 1;
    unsigned char BIASLVL4 : 1;
    unsigned char BIASLVL5 : 1;
    unsigned char EXTRES : 1;
    unsigned char  : 1;
  } LCDCONX_bit;
} @ 0x9C;

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

__sfr __no_init volatile union
{
  unsigned char MIRQSTM;
  struct
  {
    unsigned char AEHF : 1;
    unsigned char REHF : 1;
    unsigned char VAEHF : 1;
    unsigned char AEOF : 1;
    unsigned char REOF : 1;
    unsigned char VAEOF : 1;
    unsigned char CF1 : 1;
    unsigned char CF2 : 1;
  } MIRQSTM_bit;
} @ 0xDD;
__sfr __no_init volatile union
{
  unsigned char MIRQSTH;
  struct
  {
    unsigned char ZX : 1;
    unsigned char ZXTO : 1;
    unsigned char CYCEND : 1;
    unsigned char PKV : 1;
    unsigned char PKI : 1;
    unsigned char WFSM : 1;
    unsigned char  : 1;
    unsigned char RESET : 1;
  } MIRQSTH_bit;
} @ 0xDE;
__sfr __no_init volatile unsigned char MADDPT @ 0x91;
__sfr __no_init volatile unsigned char MDATL @ 0x92;
__sfr __no_init volatile unsigned char MDATM @ 0x93;
__sfr __no_init volatile unsigned char MDATH @ 0x94;
__sfr __no_init volatile unsigned char WAV1L @ 0xE2;
__sfr __no_init volatile unsigned char VRMSL @ 0xD1;
__sfr __no_init volatile unsigned char VRMSM @ 0xD2;
__sfr __no_init volatile unsigned char VRMSH @ 0xD3;
__sfr __no_init volatile unsigned char IRMSL @ 0xD4;
__sfr __no_init volatile unsigned char IRMSM @ 0xD5;
__sfr __no_init volatile unsigned char IRMSH @ 0xD6;
__sfr __no_init volatile unsigned char WAV1M @ 0xE3;
__sfr __no_init volatile unsigned char WAV1H @ 0xE4;
__sfr __no_init volatile unsigned char WAV2L @ 0xE5;
__sfr __no_init volatile unsigned char WAV2M @ 0xE6;
__sfr __no_init volatile unsigned char WAV2H @ 0xE7;

__sfr __no_init volatile union
{
  unsigned char MIRQENM;
  struct
  {
    unsigned char AEHF : 1;
    unsigned char REHF : 1;
    unsigned char VAEHF : 1;
    unsigned char AEOF : 1;
    unsigned char REOF : 1;
    unsigned char VAEOF : 1;
    unsigned char CF1 : 1;
    unsigned char CF2 : 1;
  } MIRQENM_bit;
} @ 0xDA;
__sfr __no_init volatile union
{
  unsigned char MIRQENH;
  struct
  {
    unsigned char ZX : 1;
    unsigned char ZXTO : 1;
    unsigned char CYCEND : 1;
    unsigned char PKV : 1;
    unsigned char PKI : 1;
    unsigned char WFSM : 1;
    unsigned char  : 1;
    unsigned char  : 1;
  } MIRQENH_bit;
} @ 0xDB;
__sfr __no_init volatile union
{
  unsigned char MIRQSTL;
  struct
  {
    unsigned char APNOLOAD : 1;
    unsigned char RNOLOAD : 1;
    unsigned char VANOLOAD : 1;
    unsigned char APSIGN : 1;
    unsigned char VARSIGN : 1;
    unsigned char FAULTSIGN : 1;
    unsigned char  : 1;
    unsigned char ADEIRQFLAG : 1;
  } MIRQSTL_bit;
} @ 0xDC;
__sfr __no_init volatile union
{
  unsigned char MIRQENL;
  struct
  {
    unsigned char APNOLOAD : 1;
    unsigned char RNOLOAD : 1;
    unsigned char VANOLOAD : 1;
    unsigned char APSIGN : 1;
    unsigned char VARSIGN : 1;
    unsigned char FAULTSIGN : 1;
    unsigned char  : 1;
    unsigned char  : 1;
  } MIRQENL_bit;
} @ 0xD9;

//the following registers can be accessed using MADDPT and MDAT SFRs
//For this reason they are declared with #define
#define WATTHR    0x01
#define RWATTHR   0x02
#define LWATTHR   0x03
#define VARHR     0x04
#define RVARHR    0x05
#define LVARHR    0x06
#define VAHR      0x07

⌨️ 快捷键说明

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