📄 data_system.c
字号:
/*-----------数据显示函数-----------*/
void Display_unit(unsigned char unit[8],unsigned char n,unsigned char m)
{
DisplayChar_new(8,12,unit,n);
DisplayChar_new(13,12,unit,n);
DisplayChar_new(18,12,unit,n);
if(m==3)
return;
DisplayChar_new(23,12,unit,n);
}
void Display_phase(unsigned char phase[8],unsigned char n)
{
DisplayChar_new(7,12,"PHASE A",7);
DisplayChar_new(12,12,"PHASE B",7);
DisplayChar_new(17,12,"PHASE C",7);
if(phase[0]== 0 )
return;
DisplayChar_new(22,12,phase,n);
}
/***************display dianliu*********************/
void Display_DianLiu(void)
{
GCDisplay(24,1,CTable8);
GCDisplay(24,3,CTable31);
GCDisplay(24,5,CTable46);
Display_phase("PHASE N",7);
switch(flag.setup)
{
case 0:
{
DisplayChar_new(4,8,"CUR",3);
Data_disply(48,2,SPI.I[0],3);
Data_disply(88,2,SPI.I[1],3);
Data_disply(128,2,SPI.I[2],3);
Data_disply(168,2,SPI.I[3],3);
Display_unit("A",1,4);
break;
}
case 1:
{
DisplayChar_new(4,8,"MAX",3);
Data_disply(48,2,myMAXMIN.imaxmin[0][0],3);
Data_disply(88,2,myMAXMIN.imaxmin[1][0],3);
Data_disply(128,2,myMAXMIN.imaxmin[2][0],3);
Data_disply(168,2,myMAXMIN.imaxmin[3][0],3);
Display_unit("A",1,4);
//显示最大值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
DisplayChar_new(23,14,"attime",6);
break;
}
case 2:
{
DisplayChar_new(4,8,"MIN",3);
Data_disply(48,2,myMAXMIN.imaxmin[0][1],3);
Data_disply(88,2,myMAXMIN.imaxmin[1][1],3);
Data_disply(128,2,myMAXMIN.imaxmin[2][1],3);
Data_disply(168,2,myMAXMIN.imaxmin[3][1],3);
Display_unit("A",1,4);
//显示最小值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
DisplayChar_new(23,14,"attime",6);
break;
}
case 3:
{
DisplayChar_new(4,8,"THD",3);
Data_disply(48,2,SPI.iTHD[0],2);
Data_disply(88,2,SPI.iTHD[1],2);
Data_disply(128,2,SPI.iTHD[2],2);
Data_disply(168,2,SPI.iTHD[3],2);
DisplayChar_new(8,12,"%THD I",6);
DisplayChar_new(13,12,"%THD I",6);
DisplayChar_new(18,12,"%THD I",6);
DisplayChar_new(23,12,"%THD I",6);
break;
}
default:flag.setup=0;break;
}
//GCDisplay(8,1,CTable0);
//RRWL(unsigned char row ,unsigned char col,unsigned int wordcode)
}
/*****************Display_XDianYa****************/
void Display_XDianYa(void)
{
GCDisplay(24,1,CTable18);
GCDisplay(24,3,CTable8);
GCDisplay(24,5,CTable32);
GCDisplay(24,7,CTable46);
Display_phase(0,0);
switch(flag.setup)
{
case 0:
{
DisplayChar_new(4,9,"CUR",3);
Data_disply(48,2,SPI.U[0],1);
Data_disply(88,2,SPI.U[1],1);
Data_disply(128,2,SPI.U[2],1);
//Data_disply(168,5,SPI.XU[0],1);//加上求电流平均值
Display_unit("V",1,3);
break;
}
case 1:
{
DisplayChar_new(4,9,"MAX",3);
Data_disply(48,2,myMAXMIN.umaxmin[0][0],1);
Data_disply(88,2,myMAXMIN.umaxmin[1][0],1);
Data_disply(128,2,myMAXMIN.umaxmin[2][0],1);
Display_unit("V",1,3);
//显示最大值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
//DisplayChar_new(23,14,"attime",6);
break;
}
case 2:
{
DisplayChar_new(4,9,"MiN",3);
Data_disply(48,2,myMAXMIN.umaxmin[0][1],1);
Data_disply(88,2,myMAXMIN.umaxmin[1][1],1);
Data_disply(128,2,myMAXMIN.umaxmin[2][1],1);
Display_unit("V",1,3);
//显示最小值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
//DisplayChar_new(23,14,"attime",6);
break;
}
case 3:
{
DisplayChar_new(4,9,"THD",3);
Data_disply(48,2,SPI.uTHD[0],2);
Data_disply(88,2,SPI.uTHD[1],2);
Data_disply(128,2,SPI.uTHD[2],2);
DisplayChar_new(8,12,"%THD V",6);
DisplayChar_new(13,12,"%THD V",6);
DisplayChar_new(18,12,"%THD V",6);
break;
}
default:flag.setup=0;break;
}
}
/*******Display_LDianYa*************************/
void Display_LDianYa(void)
{
GCDisplay(24,1,CTable20);
GCDisplay(24,3,CTable8);
GCDisplay(24,5,CTable32);
GCDisplay(24,7,CTable46);
Display_phase(0,0);
switch(flag.setup)
{
case 0:
{
DisplayChar_new(4,9,"CUR",3);
Data_disply(48,2,SPI.XU[0],1);
Data_disply(88,2,SPI.XU[1],1);
Data_disply(128,2,SPI.XU[2],1);
//Data_disply(168,5,SPI.XU[0],1);//加上求电流平均值
Display_unit("V",1,3);
break;
}
case 1:
{
DisplayChar_new(4,9,"MAX",3);
Data_disply(48,2,myMAXMIN.xumaxmin[0][0],1);
Data_disply(88,2,myMAXMIN.xumaxmin[1][0],1);
Data_disply(128,2,myMAXMIN.xumaxmin[2][0],1);
Display_unit("V",1,3);
//显示最大值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
//DisplayChar_new(23,14,"attime",6);
break;
}
case 2:
{
DisplayChar_new(4,9,"MiN",3);
Data_disply(48,2,myMAXMIN.xumaxmin[0][1],1);
Data_disply(88,2,myMAXMIN.xumaxmin[1][1],1);
Data_disply(128,2,myMAXMIN.xumaxmin[2][1],1);
Display_unit("V",1,3);
//显示最小值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
//DisplayChar_new(23,14,"attime",6);
break;
}
case 3:
{
DisplayChar_new(4,9,"THD",3);
Data_disply(48,2,SPI.xuTHD[0],2);
Data_disply(88,2,SPI.xuTHD[1],2);
Data_disply(128,2,SPI.xuTHD[2],2);
DisplayChar_new(8,12,"%THD V",6);
DisplayChar_new(13,12,"%THD V",6);
DisplayChar_new(18,12,"%THD V",6);
break;
}
default:flag.setup=0;break;
}
}
/************************Disply_Gonglv*********************/
void Disply_Gonglv(unsigned char flagp)
{
unsigned int tempgonglv[4],temp_gl_mami[4][2];
unsigned char i,k;
GCDisplay(24,5,CTable33);
GCDisplay(24,7,CTable34);
GCDisplay(24,9,CTable46);
Display_phase("TOTAL",5);
Display_unit("KW",2,4);
switch(flagp)
{case 0:
{*tempgonglv=*SPI.ActPwr;
for(i=0;i<4;i++)
{
for(k=0;k<2;k++)
{
temp_gl_mami[i][k]=myMAXMIN.actpwrmaxmin[i][k];
}
}
GCDisplay(24,1,CTable36);
GCDisplay(24,3,CTable33);
break;}
case 1:
{ *tempgonglv=*SPI.ReaPwr;
for(i=0;i<4;i++)
{
for(k=0;k<2;k++)
{
temp_gl_mami[i][k]=myMAXMIN.reapwrmaxmin[i][k];
}
}
GCDisplay(24,1,CTable37);
GCDisplay(24,3,CTable33);
break;
}
case 2:
{*tempgonglv=*SPI.AppPwr;
for(i=0;i<4;i++)
{
for(k=0;k<2;k++)
{
temp_gl_mami[i][k]=myMAXMIN.apppwrmaxmin[i][k];
}
}
GCDisplay(24,1,CTable38);
GCDisplay(24,3,CTable39);
break;
}
default: break;
}
switch(flag.setup)
{
case 0:
{
DisplayChar_new(4,11,"CUR",3);
Data_disply(48,2,tempgonglv[0],2);
Data_disply(88,2,tempgonglv[1],2);
Data_disply(128,2,tempgonglv[2],2);
Data_disply(168,2,tempgonglv[3],2);
break;
}
case 1:
{
DisplayChar_new(4,11,"MAX",3);
Data_disply(48,2,temp_gl_mami[0][0],2);
Data_disply(88,2,temp_gl_mami[1][0],2);
Data_disply(128,2,temp_gl_mami[2][0],2);
Data_disply(168,2,temp_gl_mami[3][0],2);
//显示最大值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
DisplayChar_new(23,14,"attime",6);
break;
}
case 2:
{
DisplayChar_new(4,11,"MiN",3);
Data_disply(48,2,temp_gl_mami[0][1],2);
Data_disply(88,2,temp_gl_mami[1][1],2);
Data_disply(128,2,temp_gl_mami[2][1],2);
Data_disply(168,2,temp_gl_mami[3][1],2);
//显示最小值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
DisplayChar_new(23,14,"attime",6);
break;
}
default:flag.setup=0;break;
}
}
/******************GLYS*****************/
void Display_GLYS(void)
{
GCDisplay(24,1,CTable33);
GCDisplay(24,3,CTable34);
GCDisplay(24,5,CTable28);
GCDisplay(24,7,CTable10);
GCDisplay(24,9,CTable46);
Display_phase("TOTAL",5);
Display_unit("$",1,4);
switch (flag.setup)
{
case 0:
{
DisplayChar_new(4,11,"CUR",3);
Data_disply(48,2,SPI.Factor[0],2);
Data_disply(88,2,SPI.Factor[1],2);
Data_disply(128,2,SPI.Factor[2],2);
Data_disply(168,2,SPI.Factor[3],2);
break;
}
case 1:
{
DisplayChar_new(4,11,"MAX",3);
Data_disply(48,2,myMAXMIN.fctmaxmin[0][0],2);
Data_disply(88,2,myMAXMIN.fctmaxmin[1][0],2);
Data_disply(128,2,myMAXMIN.fctmaxmin[2][0],2);
Data_disply(168,2,myMAXMIN.fctmaxmin[3][0],2);
//显示最大值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
DisplayChar_new(23,14,"attime",6);
break;
}
case 2:
{
DisplayChar_new(4,11,"MIN",3);
Data_disply(48,2,myMAXMIN.fctmaxmin[0][1],2);
Data_disply(88,2,myMAXMIN.fctmaxmin[1][1],2);
Data_disply(128,2,myMAXMIN.fctmaxmin[2][1],2);
Data_disply(168,2,myMAXMIN.fctmaxmin[3][1],2);
//显示最小值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
DisplayChar_new(23,14,"attime",6);
break;
}
default: flag.setup=0;break;
}
}
/***************Display_PinLv***********/
void Display_PinLv(void)
{
GCDisplay(24,1,CTable35);
GCDisplay(24,3,CTable34);
GCDisplay(24,5,CTable46);
DisplayChar_new(7,12,"CUR",3);
DisplayChar_new(12,12,"MAX",3);
DisplayChar_new(17,12,"MIN",3);
DisplayChar_new(8,12,"HZ",2);
DisplayChar_new(13,12,"HZ",2);
DisplayChar_new(18,12,"HZ",2);
Data_disply(48,2,SPI.MainF,2);
Data_disply(88,2,myMAXMIN.fmaxmin[0],2);
DisplayChar_new(13,14,"attime",6);
Data_disply(128,2,myMAXMIN.fmaxmin[1],2);
DisplayChar_new(18,14,"attime",6);
}
/**************Display_XuLiang*************/
void Display_XuLiang(unsigned char flagp)
{
GCDisplay(24,5,CTable40);
GCDisplay(24,7,CTable41);
GCDisplay(24,9,CTable46);
if(flagp==0)
{
GCDisplay(24,1,CTable8);
GCDisplay(24,3,CTable31);
Display_phase(0,0);
Display_unit("A",1,3);
switch(flag.setup)
{
case 0:
{
DisplayChar_new(4,11,"CUR",3);
Data_disply(48,2,myNeed.NEEDI[0],2);
Data_disply(88,2,myNeed.NEEDI[1],2);
Data_disply(128,2,myNeed.NEEDI[2],2);
break;
}
case 1:
{
DisplayChar_new(4,11,"MAX",3);
Data_disply(48,2,myNeed.MAXNEEDI[0],2);
Data_disply(88,2,myNeed.MAXNEEDI[1],2);
Data_disply(128,2,myNeed.MAXNEEDI[2],2);
//显示最小值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
break;
}
default:flag.setup=0;break;
}
}
if(flagp==1)
{
GCDisplay(24,1,CTable33);
GCDisplay(24,3,CTable34);
Display_phase(0,0);
Display_unit("KW",2,3);
switch(flag.setup)
{
case 0:
{
GCDisplay(24,11,CTable36);
GCDisplay(24,13,CTable33);
DisplayChar_new(4,15,"CUR",3);
Data_disply(48,2,myNeed.NEEDACTPWR[0],2);
Data_disply(88,2,myNeed.NEEDACTPWR[1],2);
Data_disply(128,2,myNeed.NEEDACTPWR[2],2);
break;
}
case 1:
{
GCDisplay(24,11,CTable36);
GCDisplay(24,13,CTable33);
DisplayChar_new(4,15,"MAX",3);
Data_disply(48,2,myNeed.MAXNEEDACTPWR[0],2);
Data_disply(88,2,myNeed.MAXNEEDACTPWR[1],2);
Data_disply(128,2,myNeed.MAXNEEDACTPWR[2],2);
//显示最小值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
break;
}
case 2:
{
GCDisplay(24,11,CTable37);
GCDisplay(24,13,CTable33);
DisplayChar_new(4,15,"CUR",3);
Data_disply(48,2,myNeed.NEEDREAPWR[0],2);
Data_disply(88,2,myNeed.NEEDREAPWR[1],2);
Data_disply(128,2,myNeed.NEEDREAPWR[2],2);
break;
}
case 3:
{
GCDisplay(24,11,CTable37);
GCDisplay(24,13,CTable33);
DisplayChar_new(4,15,"MAX",3);
Data_disply(48,2,myNeed.MAXNEEDREAPWR[0],2);
Data_disply(88,2,myNeed.MAXNEEDREAPWR[1],2);
Data_disply(128,2,myNeed.MAXNEEDREAPWR[2],2);
//显示最大值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
break;
}
case 4:
{
GCDisplay(24,11,CTable38);
GCDisplay(24,13,CTable39);
DisplayChar_new(4,15,"CUR",3);
Data_disply(48,2,myNeed.NEEDAPPPWR[0],2);
Data_disply(88,2,myNeed.NEEDAPPPWR[1],2);
Data_disply(128,2,myNeed.NEEDAPPPWR[2],2);
break;
}
case 5:
{
GCDisplay(24,11,CTable38);
GCDisplay(24,13,CTable39);
DisplayChar_new(4,15,"MAX",3);
Data_disply(48,2,myNeed.MAXNEEDAPPPWR[0],2);
Data_disply(88,2,myNeed.MAXNEEDAPPPWR[1],2);
Data_disply(128,2,myNeed.MAXNEEDAPPPWR[2],2);
//显示最小值时间
DisplayChar_new(8,14,"attime",6);
DisplayChar_new(13,14,"attime",6);
DisplayChar_new(18,14,"attime",6);
break;
}
default:flag.setup=0;break;
}
}
}
/**********Display_DianDU**************/
void Display_DianDu(void)
{
GCDisplay(24,1,CTable8);
GCDisplay(24,3,CTable15);
GCDisplay(24,5,CTable46);
DisplayChar_new(7,17,"in",2);
DisplayChar_new(12,17,"out",3);
DisplayChar_new(17,17,"tot",3);
DisplayChar_new(22,17,"net",3);
DisplayChar_new(8,17,"kwh",3);
DisplayChar_new(13,17,"kwh",3);
DisplayChar_new(18,17,"kwh",3);
DisplayChar_new(23,17,"kwh",3);
Data_disply_8(48,2,SPI.r_PosEpt,3);
Data_disply_8(88,2,SPI.r_NegEpt,3);
Data_disply_8(128,2,SPI.r_PosEqt,3);
Data_disply_8(168,2,SPI.r_NegEqt,3);
//Data_disply(17,4,SPI.r_AddEqt,2);
}
void Display_XTZT(unsigned char flag)
{
GCDisplay(24,1,CTable22);
GCDisplay(24,3,CTable20);
GCDisplay(24,5,CTable4);
GCDisplay(24,7,CTable5);
GCDisplay(24,9,CTable46);
switch(flag)
{
case 0:
GCDisplay( 48,4, CTable16);
GCDisplay( 48,6, CTable18);
GCDisplay( 48,8, CTable21);
GCDisplay( 48,10, CTable22);
break;
case 1:
GCDisplay( 48,4, CTable17);
GCDisplay( 48,6, CTable18);
GCDisplay( 48,8, CTable17);
GCDisplay( 48,10, CTable20);
GCDisplay( 48,12, CTable21);
GCDisplay( 48,14, CTable22);
break;
case 2:
GCDisplay( 48,4, CTable17);
GCDisplay( 48,6, CTable18);
GCDisplay( 48,8, CTable19);
GCDisplay( 48,10, CTable20);
GCDisplay( 48,12, CTable21);
GCDisplay( 48,16, CTable22);
break;
default:break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -