📄 data_function.h
字号:
/*-----------数据显示函数-----------*/
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],2);
Data_disply(88,2,SPI.I[1],2);
Data_disply(128,2,SPI.I[2],2);
Data_disply(168,2,SPI.I[3],2);
Display_unit("A",1,4);
break;
}
case 1:
{
DisplayChar_new(4,8,"MAX",3);
Data_disply(48,2,myMAXMIN.imaxmin[0][0],2);
Data_disply(88,2,myMAXMIN.imaxmin[1][0],2);
Data_disply(128,2,myMAXMIN.imaxmin[2][0],2);
Data_disply(168,2,myMAXMIN.imaxmin[3][0],2);
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],2);
Data_disply(88,2,myMAXMIN.imaxmin[1][1],2);
Data_disply(128,2,myMAXMIN.imaxmin[2][1],2);
Data_disply(168,2,myMAXMIN.imaxmin[3][1],2);
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 long 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:
{
for(i=0;i<3;i++)
{
tempgonglv[i]=PatchCode(SPI.ActPwr[i]);
if(tempgonglv[i]!=SPI.ActPwr[i])//显示负号
GCDisplay((56+40*i),0,CTable102);
for(k=0;k<2;k++)
{
temp_gl_mami[i][k]=PatchCode(myMAXMIN.actpwrmaxmin[i][k]);
if(temp_gl_mami[i][k] != myMAXMIN.actpwrmaxmin[i][k])//显示负号
{if(flag.setup==(k+1))
GCDisplay((56+40*i),0,CTable102);
}
}
//总功率相对与一般功率来说最大值高一个数量级,显示向右移一位。
tempgonglv[3]=PatchCode(SPI.ActPwr[3])/10;
if(tempgonglv[3]!=SPI.ActPwr[3]/10)//显示负号
GCDisplay((56+40*i),0,CTable102);
for(k=0;k<2;k++)
{
temp_gl_mami[3][k]=PatchCode(myMAXMIN.actpwrmaxmin[3][k])/10;
if(temp_gl_mami[3][k]!=myMAXMIN.actpwrmaxmin[3][k]/10)//显示负号
{if(flag.setup==(k+1))
GCDisplay((56+40*3),0,CTable102);
}
}
}
GCDisplay(24,1,CTable36);
GCDisplay(24,3,CTable33);
break;}
case 1:
{
for(i=0;i<3;i++)
{ tempgonglv[i]=PatchCode(SPI.ReaPwr[i]);
for(k=0;k<2;k++)
{
temp_gl_mami[i][k]=PatchCode(myMAXMIN.reapwrmaxmin[i][k]);
}
}
tempgonglv[3]=PatchCode(SPI.ReaPwr[3])/10;
for(k=0;k<2;k++)
{
temp_gl_mami[3][k]=PatchCode(myMAXMIN.reapwrmaxmin[3][k])/10;
}
GCDisplay(24,1,CTable37);
GCDisplay(24,3,CTable33);
break;
}
case 2:
{
for(i=0;i<3;i++)
{ tempgonglv[i]=PatchCode(SPI.AppPwr[i]);
for(k=0;k<2;k++)
{
temp_gl_mami[i][k]=PatchCode(myMAXMIN.apppwrmaxmin[i][k]);
}
tempgonglv[3]=PatchCode(SPI.AppPwr[3])/10;
for(k=0;k<2;k++)
{
temp_gl_mami[3][k]=PatchCode(myMAXMIN.apppwrmaxmin[3][k])/10;
}
}
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],1);
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],1);
//显示最大值时间
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],1);
//显示最小值时间
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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -