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

📄 systemdefine.h

📁 MSP430FE42X防窍电电表DEMO(编译器IAR3.42)
💻 H
📖 第 1 页 / 共 2 页
字号:
#define ADAPTI2_INIT       defADAPTI2 //KI2/KICOM*POW_2_14

// *****************************************************************
#if PCB_VERSION==0
#ifdef  WITH_CALIBRATIONED
#define GAINCORR1_INIT     0x4AA2//0x499B
#define POWEROFFSET1_INIT  0x00000800//0x000012A7//0X000019B6
#ifdef  TAMPER_DETECTION
#define GAINCORR2_INIT     0x4000
#define POWEROFFSET2_INIT  0
#endif
#else
#define GAINCORR1_INIT     0x4000//0x4A74//0x4A97//0x4A97
#define POWEROFFSET1_INIT  0x00000000//0xFFFFFBE4//0XFFFFF913//0XFFFFF013
#ifdef  TAMPER_DETECTION
#define GAINCORR2_INIT     0x4000
#define POWEROFFSET2_INIT  0x00000000
#endif
#endif

#else    //#if PCB_VERSION==1
#ifdef  WITH_CALIBRATIONED
#define GAINCORR1_INIT     0x4423//0x4AD5//0x4B77
#define POWEROFFSET1_INIT  0X00000000  //0x0d75
#ifdef  TAMPER_DETECTION
#define GAINCORR2_INIT     0x4AD5//0x4B1B
#define POWEROFFSET2_INIT  0//52612
#endif
#else
#define GAINCORR1_INIT     0x4000//0x453C //0x4991 //0x453C//0x4000//0x4a00//
#define POWEROFFSET1_INIT  0X00000000  //0x0d75
#ifdef  TAMPER_DETECTION
#define GAINCORR2_INIT     0x4000
#define POWEROFFSET2_INIT  0
#endif
#endif
#endif
// ***********************************************************

#define CALCYCLCNT_INIT    0x32//0x64



#define STARTCURRENT_INIT  (float)(0.004 * Ib_CAL*POW_2_16/KICOM+0.5)
//#define STARTCURRENT_INIT  687195





#define VDROPCYCLS_INIT    0
#define RATIOTAMP_INIT     0x4666
#define ITAMP_INIT         0x140
#define VDROPLEVEL_INIT    0x1000
#define VPEAKLEVEL_INIT    0x7FFF
#define IPEAKLEVEL_INIT    0x7FFF
#define DCREMPER_INIT      0x05
//#define POWERCORR2_INIT    0

#if PCB_VERSION==0
#ifdef  WITH_CALIBRATIONED
#define STARTVOLTAG        //1652
#define VGAIN_INIT      61565//59460
#define IGAIN_INIT     2861001//2837700
#else
#define STARTVOLTAG        1652  //1602   //
//KV1_100*32768+0.5
#define VGAIN_INIT      61565//59460//41065
//KI1_1000*65536+0.5
#define IGAIN_INIT     2821787//56754//50000//2506
#endif

#else
#ifdef  WITH_CALIBRATIONED
#define STARTVOLTAG        1602
#define VGAIN_INIT      41065
#define IGAIN_INIT     1556494//1494838//KICOM_10000*65536

#else
#define STARTVOLTAG        1602   //
//KV1_100*32768+0.5
#define VGAIN_INIT      41065
//KICOM_10000*65536+0.5
#define IGAIN_INIT     KICOM_10000*65536 //56754//50000//2506
#endif
#endif

#if	PULSE_MEASURE_MODE==2
#if  PCB_VERSION == 0
#define INTRPTLEVL_INIT  0X0B0598D7//0X09EA2400//0XC0EA2400//0XFC15DC00//0X8615DC00//0X09EA2400//0XF615DC00//0x80000000
#elif PCB_VERSION == 1
#ifdef TAMPER_DETECTION  //KI=0.002 KV=0.012103271484375 CZ=
#define INTRPTLEVL_INIT  0X1F84953C//0X09EA2400//0XC0EA2400//0XFC15DC00//0X8615DC00//0X09EA2400//0XF615DC00//0x80000000
#else
#define INTRPTLEVL_INIT  0X1B8A6F74
#endif
#else

#endif
#endif	



// ********************************************************************

// ********************************************************************
#define KEY_UP_FLAG       0x01
#define KEY_DOWN_FLAG     0x02
#define KEY_REMOVE_FLAG   0x04

// ********************************************************************
// ESP寄存器设置的定义
// ********************************************************************
#define xI1  0

#ifdef TAMPER_DETECTION
#define xI2  1
#else
#define xI2  0
#endif

// 1 : Generate Interrupt after spec. number of measurements
// 0 : Generate Interrupt after interrupt level has been reached
#define xIGT 0

#define  xdefSET_CTRL0 \
                xI2  * CURR_I2 +  /* - 0: disabled 2. Current path*/\
                xI1  * CURR_I1 +  /* - 0: I1 = CT or Shunt  /  1: I1 = RogCoil  */\
                xIGT * MB +  /* 1 : Generate Interrupt after spec. number of measurements (-> 50*4096 =1 sec)*/\
                            /* 0 : Generate Interrupt after interrupt level has been reached*/\
                0 * NE0 +  /* - NE0: Count absolute active energy p1 00-0,01-A*/\
                1 * NE1 +  /* - NE1 Count absolute active energy p2 10-N,11-R*/\
                1 * DCREM_V1 +  /* - Dis/Enable DC removal alorithm on for V1*/\
                1 * DCREM_I1 +  /* - Dis/Enable DC removal alorithm on for I1*/\
                xI2 * DCREM_I2 /* //xI2 * DCREM_I2     - Dis/Enable DC removal alorithm on for I2*/



#define defSET_CTRL0 xdefSET_CTRL0

#if   PULSE_MEASURE_MODE == 2
#define defSET_EVENT \
                0 * WFSRDYME +    /* Interrupt on "New WFS"*/\
                0 * I2GTI1ME +    /* Interrupt on "I2GTI1"*/\
                1 * ILREACHEDME + /* Interrupt on "Interrupt Level reached"*/\
                1 * ENRDYME +     /* Interrupt on "Energy samples ready (1sec)"*/\
                0 * ZXLDME +      /* Interrupt on "leading zero cross"*/\
                0 * ZXTRME +      /* Interrupt on "trailing zero cross"*/\
                0 * CALRDYME +    /* Interrupt on "Calibration Data ready"*/\
                0 * TAMPME +      /* Interrupt on "Tampering detected" */\
                0 * NEGENME +     /* Interrupt on "Neg. Energy measuered" */\
                0 * VDROPME +     /* Interrupt on "V drop event" */\
                0 * VPEAKME +     /* Interrupt on "V Peak Level reached" */\
                0 * I1PEAKME +    /* Interrupt on "I1 Peak Level reached" */\
                0 * I2PEAKME +    /* Interrupt on "I2 Peak Level reached" */\
                0 * ACTIVEME

#else
#ifndef  PULSE_TIMEA_GEN
#define defSET_EVENT \
                1 * WFSRDYME +    /* Interrupt on "New WFS"*/\
                0 * I2GTI1ME +    /* Interrupt on "I2GTI1"*/\
                0 * ILREACHEDME + /* Interrupt on "Interrupt Level reached"*/\
                1 * ENRDYME +     /* Interrupt on "Energy samples ready (1sec)"*/\
                1 * ZXLDME +      /* Interrupt on "leading zero cross"*/\
                1 * ZXTRME +      /* Interrupt on "trailing zero cross"*/\
                0 * CALRDYME +    /* Interrupt on "Calibration Data ready"*/\
                0 * TAMPME +      /* Interrupt on "Tampering detected" */\
                0 * NEGENME +     /* Interrupt on "Neg. Energy measuered" */\
                0 * VDROPME +     /* Interrupt on "V drop event" */\
                0 * VPEAKME +     /* Interrupt on "V Peak Level reached" */\
                0 * I1PEAKME +    /* Interrupt on "I1 Peak Level reached" */\
                0 * I2PEAKME +    /* Interrupt on "I2 Peak Level reached" */\
                0 * ACTIVEME
#else
#define defSET_EVENT \
                0 * WFSRDYME +    /* Interrupt on "New WFS"*/\
                0 * I2GTI1ME +    /* Interrupt on "I2GTI1"*/\
                0 * ILREACHEDME + /* Interrupt on "Interrupt Level reached"*/\
                1 * ENRDYME +     /* Interrupt on "Energy samples ready (1sec)"*/\
                1 * ZXLDME +      /* Interrupt on "leading zero cross"*/\
                1 * ZXTRME +      /* Interrupt on "trailing zero cross"*/\
                0 * CALRDYME +    /* Interrupt on "Calibration Data ready"*/\
                0 * TAMPME +      /* Interrupt on "Tampering detected" */\
                0 * NEGENME +     /* Interrupt on "Neg. Energy measuered" */\
                0 * VDROPME +     /* Interrupt on "V drop event" */\
                0 * VPEAKME +     /* Interrupt on "V Peak Level reached" */\
                0 * I1PEAKME +    /* Interrupt on "I1 Peak Level reached" */\
                0 * I2PEAKME +    /* Interrupt on "I2 Peak Level reached" */\
                0 * ACTIVEME
#endif
#endif

#define defCAL_MODE \
                0 * WFSRDYME +    /* Interrupt on "New WFS"*/\
                0 * I2GTI1ME +    /* Interrupt on "I2GTI1"*/\
                0 * ILREACHEDME + /* Interrupt on "Interrupt Level reached"*/\
                0 * ENRDYME +     /* Interrupt on "Energy samples ready (1sec)"*/\
                0 * ZXLDME +      /* Interrupt on "leading zero cross"*/\
                0 * ZXTRME +      /* Interrupt on "trailing zero cross"*/\
                1 * CALRDYME +    /* Interrupt on "Calibration Data ready"*/\
                0 * TAMPME +      /* Interrupt on "Tampering detected" */\
                0 * NEGENME +     /* Interrupt on "Neg. Energy measuered" */\
                0 * VDROPME +     /* Interrupt on "V drop event" */\
                0 * VPEAKME +     /* Interrupt on "V Peak Level reached" */\
                0 * I1PEAKME +    /* Interrupt on "I1 Peak Level reached" */\
                0 * I2PEAKME +    /* Interrupt on "I2 Peak Level reached" */\
                0 * ACTIVEME
// ********************************************************************
// ESP寄存器设置的定义完毕
// ********************************************************************

// ********************************************************************
// 液晶显示项目的定义
// ********************************************************************
#ifdef TAMPER_DETECTION
#define CALNUM              11
#define ESPPAR_CHGSTP       8//定义手动校表时,ESP参数修改的校表项
#define METCHK_MODE         12
#else
#define CALNUM              6 //8
#define ESPPAR_CHGSTP       4//定义手动校表时,ESP参数修改的校表项
#define METCHK_MODE         8
#endif
// ********************************************************************
// 液晶显示项目的定义完毕
// ********************************************************************

#define		E2Check_Cnntent		0xAA				// Check Code
#define		E2Check_Address		0xF0				// Address


#define		I2C_24CXX_P0			0xA0 + (0<<1)
#define		I2C_24CXX_P1			0xA0 + (1<<1)
#define		I2C_24CXX_P2			0xA0 + (2<<1)
#define		I2C_24CXX_P3			0xA0 + (3<<1)
#define		I2C_24CXX_P4			0xA0 + (4<<1)
#define		I2C_24CXX_P5			0xA0 + (5<<1)
#define		I2C_24CXX_P6			0xA0 + (6<<1)
#define		I2C_24CXX_P7			0xA0 + (7<<1)





/* 温度采样基本偏差 */
#define TEMPERATURE_OFFSET	2680
/* 温度补偿时间间隔 */
#define CORRECT_TIME	    5
/* 晶体基本偏差(常温下) */
#define CRYSTAL_BASE_CORRECTION 0




⌨️ 快捷键说明

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