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

📄 data_system.c

📁 msp430和nrf905的例子,联系qqliuyong007@163.com
💻 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 + -