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

📄 adjust.c

📁 一个多媒体液晶显示器内部控制器(主芯片为:7301)的源程序(KC51
💻 C
字号:
/*
   --------------------------------------------------------------
   file name          : ADJUST.C
   author             : ccchen
   date               : 910315
   version number     : v3_cc910315.1
   brief introduction : adjust include brightness,contrast
                        ,phase,clock,...etc function file
   reversion history  : v3_cc910314.1
   --------------------------------------------------------------
*/

#include"CORE_LIB.H"
#include"EEPROM.H"
#include"MENUITEM.H"
#include"OSD_LIB.H"
#include"STATE.H"
#include"VIDEO.H"

bit AdjustGamma(bit DIRECTION,unsigned char RGBkind)
{
  unsigned char CANadjust=0,GAMMAdata;

  switch (RGBkind)
  {
    case Rkind:
         GAMMAdata=USER_DATA.Rgamma;
         break;
    case Gkind:
         GAMMAdata=USER_DATA.Ggamma;
         break;
    case Bkind:
         GAMMAdata=USER_DATA.Bgamma;
         break;
  } 
  if   (DIRECTION==INCREASE)
       {
         if (GAMMAdata<MAXrgbGAMMA)
            {
              ++GAMMAdata;
              CANadjust=1; 
            }
       } 
  else {
         if (GAMMAdata>MINrgbGAMMA)
            {
              --GAMMAdata;
              CANadjust=1; 
            }
       } 
  if (CANadjust)
     {
       switch (RGBkind)
       {
         case Rkind:
              USER_DATA.Rgamma=GAMMAdata;
              break;
         case Gkind:
              USER_DATA.Ggamma=GAMMAdata;
              break;
         case Bkind:
              USER_DATA.Bgamma=GAMMAdata;
         break;
       } 
       SetGammaValue(RGBkind);
     }
  return CANadjust;
}

void AdjustBrightness(bit DIRECTION)
{
  bit CANadjust=0;
  unsigned char DATA=GetBrightness();

  if   (DIRECTION==INCREASE)
       {
         if (DATA<MAXbrightness)
            {
              CANadjust=1;
              ++DATA;
            }
       }
  else {
         if (DATA>MINbrightness)
            {
              CANadjust=1;
              --DATA;
            } 
       }
  if (CANadjust)
     { 
       SetBrightness(DATA);
       SetGamma();
     }
}


void AdjustContrast(bit DIRECTION)
{
  bit CANadjust=0;
  unsigned char DATA=GetContrast();

  if   (DIRECTION==INCREASE)
       {
         if (DATA<MAXcontrast)
            {
              CANadjust=1;
              ++DATA;
            }
       }
  else {
         if (DATA>MINcontrast)
            {
              CANadjust=1;
              --DATA;
            } 
       }
  if (CANadjust)
     { 
       SetContrast(DATA);
       SetGamma();
     }
}


void AdjustClock(bit DIRECTION)
{
  if   (DIRECTION==INCREASE)
       UltClockSetting(INCREASEmode);   
  else UltClockSetting(DECREASEmode);   
}

void AdjustPhase(bit DIRECTION)
{
  if   (DIRECTION==INCREASE)
       UltSourcePhaseSetting(INCREASEmode); 
  else UltSourcePhaseSetting(DECREASEmode); 
}

void AdjustPosition(bit DIRECTION,unsigned char HorV)
{
  switch (HorV)
  {
    case 'H':
    case 'h':
         if   (DIRECTION==INCREASE)
              UltHPositionSetting(DECREASEmode);   
         else UltHPositionSetting(INCREASEmode);   
         break; 
    case 'V':
    case 'v':
         if   (DIRECTION==INCREASE)
              UltVPositionSetting(INCREASEmode);   
         else UltVPositionSetting(DECREASEmode);   
         break; 
  } // end of switch (HorV)
}

void ADJUST_SHARPNESS(bit DIRECTION)
{
  if   (DIRECTION==INCREASE)
       UltSharpnessSetting(INCREASEorDECREASEorDISPLAY,DECREASEmode);
  else UltSharpnessSetting(INCREASEorDECREASEorDISPLAY,INCREASEmode);  
}

/*
void AdjustRgb(bit DIRECTION,bit RGBkind,unsigned char ITEM)
{
  if   (DIRECTION==INCREASE)
       { 
         if   (RGBkind==GAINkind)
              UltGainSetting(INCREASEorDECREASEorDISPLAY,ITEM-1,INCREASEmode);
         else UltOffsetSetting(INCREASEorDECREASEorDISPLAY,ITEM-1,INCREASEmode);
       } 
  else {
         if   (RGBkind==GAINkind)
              UltGainSetting(INCREASEorDECREASEorDISPLAY,ITEM-1,DECREASEmode);
         else UltOffsetSetting(INCREASEorDECREASEorDISPLAY,ITEM-1,DECREASEmode);
       }
}
*/

void ADJUST_ADC(bit DIRECTION,bit ADCkind,unsigned char RGBitem)
{
  if   (DIRECTION==INCREASE)
       { 
         if   (ADCkind==GAINkind)
              UltGainSetting(INCREASEorDECREASEorDISPLAY,RGBitem,INCREASEmode);
         else UltOffsetSetting(INCREASEorDECREASEorDISPLAY,RGBitem,INCREASEmode);
       } 
  else {
         if   (ADCkind==GAINkind)
              UltGainSetting(INCREASEorDECREASEorDISPLAY,RGBitem,DECREASEmode);
         else UltOffsetSetting(INCREASEorDECREASEorDISPLAY,RGBitem,DECREASEmode);
       }
}

void AdjustOsdPosition(unsigned char HorV,bit DIRECTION)
{
  bit CHANGE=FALSE;
  unsigned int VALUE;

  switch (HorV)
  {
    case 'H':
    case 'h':
         VALUE=USER_DATA.OSDhPOSITION;
         if   (DIRECTION==INCREASE) 
              {
                //if (!MODIFY16(DIRECTION,&VALUE,MAX_OSD_H_POSITION,1))
                if (VALUE<MAX_OSD_H_POSITION)  
                   {
                     if   (VALUE<=MAX_OSD_H_POSITION-5)
                          VALUE+=5;
                     else ++VALUE;
                     CHANGE=TRUE; 
                   }
              }
         else {
                //if (!MODIFY16(DIRECTION,&VALUE,0,1))
                if (VALUE>MIN_OSD_H_POSITION)
                   {
                     if   (VALUE>=MIN_OSD_H_POSITION+5)
                          VALUE-=5;
                     else --VALUE;
                     CHANGE=TRUE; 
                   }
              }  
         if (CHANGE)
            USER_DATA.OSDhPOSITION=VALUE;
         break;  
    case 'V':
    case 'v':
         VALUE=USER_DATA.OSDvPOSITION;
         if   (DIRECTION==INCREASE) 
              {
                if (VALUE<MAX_OSD_V_POSITION)  
                   {
                     if   (VALUE<=MAX_OSD_V_POSITION-5)
                          VALUE+=5;
                     else ++VALUE;
                     CHANGE=TRUE; 
                   }
              }
         else {
                if (VALUE>MIN_OSD_V_POSITION)
                   {
                     if   (VALUE>=MIN_OSD_V_POSITION+5)
                          VALUE-=5;
                     else --VALUE;
                     CHANGE=TRUE; 
                   }
              }  
         if (CHANGE)
            USER_DATA.OSDvPOSITION=VALUE;
         break;  
  }
  if (CHANGE)
     UltOsdPositionSetting(USER_DATA.OSDhPOSITION,USER_DATA.OSDvPOSITION);
}

void ADJUST_HUE(bit DIRECTION)
{
  if   (DIRECTION==INCREASE)
       VideoHueSet(INCREASEorDECREASEorDISPLAY,INCREASEmode);
  else VideoHueSet(INCREASEorDECREASEorDISPLAY,DECREASEmode);
}

void ADJUST_SATURATION(bit DIRECTION)
{
  if   (DIRECTION==INCREASE)
       VideoSaturationSet(INCREASEorDECREASEorDISPLAY,INCREASEmode);
  else VideoSaturationSet(INCREASEorDECREASEorDISPLAY,DECREASEmode);
}


void ADJUST_ADC_BRIGHTNESS(bit DIRECTION)
{
  if   (DIRECTION==INCREASE)
       UltBrightnessSetting(INCREASEmode);
  else UltBrightnessSetting(DECREASEmode);   
}

void ADJUST_ADC_CONTRAST(bit DIRECTION)
{
  if   (DIRECTION==INCREASE)
       UltContrastSetting(INCREASEmode);   
  else UltContrastSetting(DECREASEmode);   
}

//void ADJUST_Digital_BRIGHTNESS(bit DIRECTION)
//{
//DIRECTION=0;
//}

//void ADJUST_Digital_CONTRAST(bit DIRECTION)
//{
//DIRECTION=0;
//}

⌨️ 快捷键说明

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