📄 att7022init.c
字号:
//=====================================================================================
//名称:7026初始化
//入口参数:
void SET_7026(void)
{
uchar i;
RESET=0;
for(i=0;i<200;i++) //>20us
{
_nop_();
_nop_();
}
RESET=1;
SEL=1;
delay_10ms(10);
DATA_H=0;
DATA_M=0;
DATA_L=0;
WE_7026(0xc3); //清校表数据
WE_7026(0xc9); //校表数据写使能
//-----------------------------
DATA_H=0x46;
DATA_M=0x55;
DATA_L=0x0F; //电压放大1倍
WE_7026(0x3F);
//-----------------------------------
DATA_H=0x00;
DATA_M=0x00;
DATA_L=0x22;
//5760000000*0.648*0.648*0.5*0.1/(220*5*3200)=34=22H
WE_7026(0x20); //脉冲常数3200(默认值)
//-------------------------
DATA_H=0;
DATA_M=0;
DATA_L=0;
WE_7026(0x1E); //单点补偿 比差补偿区域设置
//------------------------------------------
DATA_H=0;
DATA_M=0;
DATA_L=0;
WE_7026(0x02); //相位补偿区域设置1
WE_7026(0x03); //相位补偿区域设置2
WE_7026(0x04); //相位补偿区域设置3
WE_7026(0x05); //相位补偿区域设置4
_nop_();
/* //默认值;三相四线绝对值相加,三相三线代数和相加
DATA_H=0;
DATA_M=0;
DATA_L=0;
WE_7026(0x2A); */
//---------------------------------------
//启动电流和断相阀值按照默认值
/* RD_7026(0);
SendByte(0);
SendByte(DATA_H);
SendByte(DATA_M);
SendByte(DATA_L);
*/
//------------------设置合相能量累加模式
DATA_H=0;
DATA_M=0;
DATA_L=0;
WE_7026(0x2A);
//--------------------------
lc.longs=PApow_XZ;
DATA_H=lc.bytes.ahl;
DATA_M=lc.bytes.alh;
DATA_L=lc.bytes.all;
WE_7026(0x06); //A相功率增益0 pa
WE_7026(0x09); //A相功率增益1
//-------------------------
lc.longs=PBpow_XZ;
DATA_H=lc.bytes.ahl;
DATA_M=lc.bytes.alh;
DATA_L=lc.bytes.all;
WE_7026(0x07); //B相功率增益0 pb
WE_7026(0x0A); //B相功率增益1
//-------------------------
lc.longs=PCpow_XZ;
DATA_H=lc.bytes.ahl;
DATA_M=lc.bytes.alh;
DATA_L=lc.bytes.all;
WE_7026(0x08); //C相功率增益0 pc
WE_7026(0x0B); //C相功率增益1
//-------------------------
lc.longs=PApha_XZ;
DATA_H=lc.bytes.ahl;
DATA_M=lc.bytes.alh;
DATA_L=lc.bytes.all;
WE_7026(0x0C); //A相区域0相位校正
WE_7026(0x0D); //A相区域1相位校正
WE_7026(0x0E); //A相区域2相位校正
WE_7026(0x0F); //A相区域3相位校正
WE_7026(0x10); //A相区域4相位校正
//-------------------------
lc.longs=PBpha_XZ;
DATA_H=lc.bytes.ahl;
DATA_M=lc.bytes.alh;
DATA_L=lc.bytes.all;
WE_7026(0x11); //B相区域0相位校正
WE_7026(0x12); //B相区域1相位校正
WE_7026(0x13); //B相区域2相位校正
WE_7026(0x14); //B相区域3相位校正
WE_7026(0x15); //B相区域4相位校正
//-------------------------
lc.longs=PCpha_XZ;
DATA_H=lc.bytes.ahl;
DATA_M=lc.bytes.alh;
DATA_L=lc.bytes.all;
WE_7026(0x16); //C相区域0相位校正
WE_7026(0x17); //C相区域1相位校正
WE_7026(0x18); //C相区域2相位校正
WE_7026(0x19); //C相区域3相位校正
WE_7026(0x1A); //C相区域4相位校正
//-------------------------
lc.longs=PAvol_XZ;
DATA_H=lc.bytes.ahl;
DATA_M=lc.bytes.alh;
DATA_L=lc.bytes.all;
WE_7026(0x1B); //A相电压校正
//-------------------------
lc.longs=PBvol_XZ;
DATA_H=lc.bytes.ahl;
DATA_M=lc.bytes.alh;
DATA_L=lc.bytes.all;
WE_7026(0x1C); //B相电压校正
//-------------------------
lc.longs=PCvol_XZ;
DATA_H=lc.bytes.ahl;
DATA_M=lc.bytes.alh;
DATA_L=lc.bytes.all;
WE_7026(0x1D); //C相电压校正
//-------------------------
lc.longs=PAcur_XZ;
DATA_H=lc.bytes.ahl;
DATA_M=lc.bytes.alh;
DATA_L=lc.bytes.all;
WE_7026(0x26); //A相电流校正
//-------------------------
lc.longs=PBcur_XZ;
DATA_H=lc.bytes.ahl;
DATA_M=lc.bytes.alh;
DATA_L=lc.bytes.all;
WE_7026(0x27); //B相电流校正
//-------------------------
lc.longs=PCcur_XZ;
DATA_H=lc.bytes.ahl;
DATA_M=lc.bytes.alh;
DATA_L=lc.bytes.all;
WE_7026(0x28); //C相电流校正
//-------------------------
/* lc.longs=PApow_XZ; Ptemp_XZ; //温度修正
DATA_H=lc.bytes.ahl;
DATA_M=lc.bytes.alh;
DATA_L=lc.bytes.all;
*/
DATA_H=0;
DATA_M=0;
DATA_L=0x03;
WE_7026(0x2c); //温度/第七路ADC选择控制
//------------------关闭写校表使能
DATA_H=0;
DATA_M=0;
DATA_L=0x01;
WE_7026(0xc9);
//---------------读电参数使能
DATA_H=0;
DATA_M=0;
DATA_L=0x11;
WE_7026(0xc6);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -