📄 ade7169fxx.h
字号:
//Include file for the ADE7xx series microcontroller
//SFR REG
#define P0 080H
#define SP 081H
#define DPL 082H
#define DPH 083H
#define PCON 087H
#define TCON 088H
#define TMOD 089H
#define TL0 08AH
#define TL1 08BH
#define TH0 08CH
#define TH1 08DH
#define P1 090H
#define MADDPT 091H
#define MDATL 092H
#define MDATM 093H
#define MDATH 094H
#define LCDCON 095H
#define LCDCLK 096H
#define LCDSEGE 097H
#define SCON 098H
#define SBUF 099H
#define SPI2CTX 09AH
#define SPI2CRX 09BH
#define LCDCONX 09CH
#define SBAUDF 09DH
#define SBAUDT 09EH
#define EPCFG 09FH
#define P2 0A0H
#define TIMECON 0A1H
#define HTHSEC 0A2H
#define SEC 0A3H
#define MIN 0A4H
#define HOUR 0A5H
#define INTVAL 0A6H
#define DPCON 0A7H
#define IE 0A8H
#define IEIP2 0A9H
#define LCDPTR 0ACH
#define LCDDAT 0AEH
#define CFG 0AFH
#define LCDCONY 0B1H
#define PINMAP0 0B2H
#define PINMAP1 0B3H
#define PINMAP2 0B4H
#define SPH 0B7H
#define IP 0B8H
#define ECON 0B9H
#define FLSHKY 0BAH
#define PROTKY 0BBH
#define EDATA 0BCH
#define PROTB0 0BDH
#define PROTB1 0BEH
#define PROTR 0BFH
#define WDCON 0C0H
#define KYREG 0C1H
#define POWCON 0C5H
#define EADRL 0C6H
#define EADRH 0C7H
#define T2CON 0C8H
#define RCAP2L 0CAH
#define RCAP2H 0CBH
#define TL2 0CCH
#define TH2 0CDH
#define PSW 0D0H
#define VRMSL 0D1H
#define VRMSM 0D2H
#define VRMSH 0D3H
#define IRMSL 0D4H
#define IRMSM 0D5H
#define IRMSH 0D6H
#define TEMPADC 0D7H
#define ADCGO 0D8H
#define MIRQENL 0D9H
#define MIRQENM 0DAH
#define MIRQENH 0DBH
#define MIRQSTL 0DCH
#define MIRQSTM 0DDH
#define MIRQSTH 0DEH
#define BATADC 0DFH
#define ACC 0E0H
#define 0E1H
#define WAV1L 0E2H
#define WAV1M 0E3H
#define WAV1H 0E4H
#define WAV2L 0E5H
#define WAV2M 0E6H
#define WAV2H 0E7H
#define SPIMOD1 0E8H
#define I2CMOD 0E8H
#define SPIMOD2 0E9H
#define I2CADR 0E9H
#define SPI2CSTAT 0EAH
#define IPSME 0ECH
#define LCDSEGE2 0EDH
#define VSWADC 0EFH
#define B 0F0H
#define DIFFPROG 0F3H
#define PERIPH 0F4H
#define BATPR 0F5H
#define RTCCOMP 0F6H
#define TEMPCAL 0F7H
#define IPSMF 0F8H
#define STRBPER 0F9H
#define BATVTH 0FAH
#define SCRATCH1 0FBH
#define SCRATCH2 0FCH
#define SCRATCH3 0FDH
#define SCRATCH4 0FEH
#define INTPR 0FFH
//BIT DEFINITIONS
#define INT1 080H
#define CF1 082H
#define CF2 083H
#define T0 086H
#define T1 087H
#define IT0 088H
#define IE0 089H
#define IT1 08AH
#define IE1 08BH
#define TR0 08CH
#define TF0 08DH
#define TR1 08EH
#define TF1 08FH
#define RXD 090H
#define TXD 091H
#define T2EX 093H
#define T2 094H
#define RI 098H
#define TI 099H
#define RB8 09AH
#define TB8 09BH
#define REN 09CH
#define SM2 09DH
#define SM1 09EH
#define SM0 09FH
#define EX0 0A8H
#define ET0 0A9H
#define EX1 0AAH
#define ET1 0ABH
#define ES 0ACH
#define ET2 0ADH
#define EADC 0AEH
#define EA 0AFH
#define PX0 0B8H
#define PT0 0B9H
#define PX1 0BAH
#define PT1 0BBH
#define PS 0BCH
#define PT2 0BDH
#define PADC 0BEH
#define PADE 0BFH
#define WDWR 0C0H
#define WDE 0C1H
#define WDS 0C2H
#define WDIR 0C3H
#define PRE0 0C4H
#define PRE1 0C5H
#define PRE2 0C6H
#define PRE3 0C7H
#define CAP2 0C8H
#define CNT2 0C9H
#define TR2 0CAH
#define EXEN2 0CBH
#define TCLK 0CCH
#define RCLK 0CDH
#define EXF2 0CEH
#define TF2 0CFH
#define P 0D0H
#define F1 0D1H
#define OV 0D2H
#define RS0 0D3H
#define RS1 0D4H
#define F0 0D5H
#define AC 0D6H
#define CY 0D7H
#define BTADC 0D8H
#define TADC 0D9H
#define VADC 0DAH
#define PLLACK 0DFH
#define SPIR0 0E8H
#define I2CRCT0 0E8H
#define SPIR1 0E9H
#define I2CRCT1 0E9H
#define RXOFW 0EAH
#define I2CRCT2 0EAH
#define SSE 0EBH
#define I2CRCT3 0EBH
#define AUTO_SS 0ECH
#define I2CRCT4 0ECH
#define I2CR0 0EDH
#define I2CR1 0EEH
#define I2CEN 0EFH
#define FVDC 0F8H
#define FBSO 0F9H
#define FBAT 0FAH
#define FVSW 0FBH
#define FSAG 0FDH
#define FPSM 0FEH
#define FPSR 0FFH
//Define ADE indirect registers read and write commands
#define WATTHR_R 01H
#define RWATTHR_R 02H
#define LWATTHR_R 03H
#define VARHR_R 04H
#define RVARHR_R 05H
#define LVARHR_R 06H
#define VAHR_R 07H
#define RVAHR_R 08H
#define LVAHR_R 09H
#define PER_FREQ_R 0AH
#define MODE1_R 0BH
#define MODE2_R 0CH
#define WAVMODE_R 0DH
#define NLMODE_R 0EH
#define ACCMODE_R 0FH
#define PHCAL_R 10H
#define ZXTOUT_R 11H
#define LINCYC_R 12H
#define SAGCYC_R 13H
#define SAGLVL_R 14H
#define IPKLVL_R 15H
#define VPKLVL_R 16H
#define IPEAK_R 17H
#define RSTIPEAK_R 18H
#define VPEAK_R 19H
#define RSTVPEAK_R 1AH
#define GAIN_R 1BH
#define IBGAIN_R 1CH
#define WGAIN_R 1DH
#define VARGAIN_R 1EH
#define VAGAIN_R 1FH
#define WATTOS_R 20H
#define VAROS_R 21H
#define IRMSOS_R 22H
#define VRMSOS_R 23H
#define WDIV_R 24H
#define VARDIV_R 25H
#define VADIV_R 26H
#define CF1NUM_R 27H
#define CF1DEN_R 28H
#define CF2NUM_R 29H
#define CF2DEN_R 2AH
#define MODCTRL_R 3CH
#define CALMODE_R 3DH
#define TMODE_R 3EH
#define HIDDEN_R 3FH
#define WATTHR_W 81H
#define RWATTHR_W 82H
#define LWATTHR_W 83H
#define VARHR_W 84H
#define RVARHR_W 85H
#define LVARHR_W 86H
#define VAHR_W 87H
#define RVAHR_W 88H
#define LVAHR_W 89H
#define PER_FREQ_W 8AH
#define MODE1_W 8BH
#define MODE2_W 8CH
#define WAVMODE_W 8DH
#define NLMODE_W 8EH
#define ACCMODE_W 8FH
#define PHCAL_W 90H
#define ZXTOUT_W 91H
#define LINCYC_W 92H
#define SAGCYC_W 93H
#define SAGLVL_W 94H
#define IPKLVL_W 95H
#define VPKLVL_W 96H
#define IPEAK_W 97H
#define RSTIPEAK_W 98H
#define VPEAK_W 99H
#define RSTVPEAK_W 9AH
#define GAIN_W 9BH
#define IBGAIN_W 9CH
#define WGAIN_W 9DH
#define VARGAIN_W 9EH
#define VAGAIN_W 9FH
#define WATTOS_W 0A0H
#define VAROS_W 0A1H
#define IRMSOS_W 0A2H
#define VRMSOS_W 0A3H
#define WDIV_W 0A4H
#define VARDIV_W 0A5H
#define VADIV_W 0A6H
#define CF1NUM_W 0A7H
#define CF1DEN_W 0A8H
#define CF2NUM_W 0A9H
#define CF2DEN_W 0AAH
#define MODCTRL_W 0BCH
#define CALMODE_W 0BDH
#define TMODE_W 0BEH
#define HIDDEN_W 0BFH
//***************************************************
//***** METER NON-BIT ADDRESSABLE BIT DEFINITIONS *****
//***************************************************
//MIRQSTH/MIRQENH
#define RESET 080h
#define CALDONE 040h
#define WFSM 020h
#define PKI 010h
#define PKV 008h
#define CYCEND 004h
#define ZXTO 002h
#define ZX 001h
//MIRQSTM/MIRQENM
#define CF2INT 080h
#define CF1INT 040h
#define VAEOF 020h
#define REOF 010h
#define AEOF 008h
#define VAEHF 004h
#define REHF 002h
#define AEHF 001h
//MIRQSTL/MIRQENL
#define FAULTSIGN 020h
#define VARSIGN 010h
#define APSIGN 008h
#define VANOLOAD 004h
#define RNOLOAD 002h
#define APNOLOAD 001h
//MODE1
#define SWRST 080h
#define DISZXLPF 040h
#define INTE 020h
#define SWAPBITS 010h
#define PWRDN 008h
#define DISCF2 004h
#define DISCF1 002h
#define DISHPF 001h
//MODE2
#define CF2SEL1 080h
#define CF2SEL0 040h
#define CF1SEL1 020h
#define CF1SEL0 010h
#define VARMSCFCON 008h
#define ZXRMS 004h
#define FREQSEL 002h
#define CF1WATT 00h
#define CF2VAR 040h
//GAIN
#define PGA2_2 080h
#define PGA2_1 040h
#define PGA2_0 020h
#define CH1FS1 010h
#define CH1FS0 008h
#define PGA1_2 004h
#define PGA1_1 002h
#define PGA1_0 001h
//NLMODE
#define IRMSNOLOAD 040h
#define VANOLOAD1 020h
#define VANOLOAD0 010h
#define VARNOLOAD1 008h
#define VARNOLOAD0 004h
#define APNOLOAD1 002h
#define APNOLOAD0 001h
//***************************************************
//***** LCD NON-BIT ADDRESSABLE BIT DEFINITIONS *****
//***************************************************
//LCDCON
#define LCDEN 080h
#define LCDRST 040h
#define BLINKEN 020h
#define LCDPSM2 010h
#define CLKSEL 008h
#define BIASMODE 004h
#define LMUX1 002h
#define LMUX0 001h
#define MUX4_BIAS3 007h
//LCDCLK
#define BLKMOD1 080h
#define BLKMOD0 040h
#define BLKFREQ1 020h
#define BLKFREQ0 010h
#define FD3 008h
#define FD2 004h
#define FD1 002h
#define FD0 001h
//LCDCONX
#define EXTRES 040h
#define BIASLVL5 020h
#define BIASLVL4 010h
#define BIASLVL3 008h
#define BIASLVL2 004h
#define BIASLVL1 002h
#define BIASLVL0 001h
//LCDCONY
#define INVLVL 040h
#define UPDATEOVER 002h
#define REFRESH 001h
//LCDSEGE
#define SEG25EN 080h
#define SEG24EN 040h
#define SEG23EN 020h
#define SEG22EN 010h
#define SEG21EN 008h
#define SEG20EN 004h
#define FDELAY1 002h
#define FDELAY0 001h
//LCDSEGE2
#define SEG19EN 008h
#define SEG18EN 004h
#define SEG17EN 002h
#define SEG16EN 001h
//***************************************************
//BATTERY NON-BIT ADDRESSABLE BIT DEFINITIONS
//***************************************************
//PERIPH
#define RXFLAG 080h
#define VSWSOURCE 040h
#define EXTREFEN 004h
#define RXPROG1 002h
#define RXPROG0 001h
//BATTPR
#define BATPRG1 002h
#define BATPRG0 001h
//INTPR
#define RTCCAL 080h
#define INT0PRG 001h
#define INT1GPIO 000h
#define INT1BCTRL 002h
#define INT1NOWAKE 004h
#define INT1WAKE 00Ch
//IPSME
#define EPSR 080h
#define ADEIAUTCLR 040h
#define ESAG 020h
#define EVSW 008h
#define EBAT 004h
#define EBSO 002h
#define EVDCIN 001h
//KYREG
#define KYREGKEY 0A7h
//POWCON
//(NOTE: write 0xA7 to KYREG before writing this register)
#define COREOFF 010h
#define CD2 004h
#define CD1 002h
#define CD0 001h
;***************************************************
;***** MISC NON-BIT ADDRESSABLE BIT DEFINITIONS *****
;***************************************************
//IEIP2
#define PRTC 040h
#define PSPI_I2C 010h
#define EADE 008h
#define ERTC 004h
#define EPSM 002h
#define ESPI_I2C 001h
//CFG
#define EXSP 080h
#define EXTEN 040h
#define SCPS 020h
#define MOD38EN 010h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -