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

📄 vosd.c

📁 LCDTV的source code,含周邊ic的driver code ,scaler ,
💻 C
📖 第 1 页 / 共 3 页
字号:
          case(2)://Move Item Down in (Main Page -> Video)
            Item=(Item+1)%9;
            Video_Page2_Sel();          
          break;
          case(3)://Move Item Down in (Main Page -> Audio)
            Item=(Item+1)%6;
            Video_Page3_Sel();          
          break;
          case(4)://Move Item Down in (Main Page -> TV)
            Item=(Item+1)%7;
            Video_Page4_Sel();          
          break;          
          }
        }
    break;

    //&&&&&&&&&&&&&&&&&&&&&&&&&&& VOL+ &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    case(KEY_VOL_PLUS):
      if((Page==0)||(Page==100)) {//Hot Volume Up
        OSD_Show(0,0,0,0,0);
        Page=3;
        Item=0;
        Adjustment_Win();
        OSD_Show(1,0,0,0,0);
        Page=101;      
        OSD_CountDown=3;
        }
      if(badjust) {//-----------In Adjustment Page----------//
        switch(Page) {
          case(1)://(Main Page)
            switch(Item) {
              case(3)://(Main Page -> Sleep++)
                if(Sleep<10) {
                  Sleep++;
                  EE_MCU_Byte_Write(EE_SLEEP, Sleep);
                  Line_Attribute(0, 0, 29, WHITE);
                  Line_Attribute(1, 0, 29, WHITE);
                  if(Sleep==0) {
                    pos0=0;
                    pos1=1;
                    SleepCountDown=MinuteCounter=0;
                    Print_String(1, 1, "OFF", CYAN);
                    }
                  else {
                    pos0=(Sleep-1)/5;
                    pos1=(Sleep-1)%5;
                    pos1=pos1*5+5;
                    SleepCountDown=20+Sleep*10;
                    MinuteCounter=0;
                    Print_Char(1, 1, SleepCountDown, CYAN);
                    }
                  Line_Attribute(pos0, pos1, pos1+2, RED);
                  }
              break;
              }
          break;
          case(2)://(Main Page -> Video)
            switch(Item) {
              case(0)://(Main Page -> Video -> Contrast++)
                if(Contrast<CONTRAST_MAX) {
                  Contrast++;
                  Set_Contrast(Contrast);
                  EE_MCU_Byte_Write(ParaAddress+EE_CONTRAST, Contrast);
                  Paint_Bar(1, 2, CONTRAST_MIN, CONTRAST_MAX, Contrast);
                  Print_Char(1, 25, Contrast, WHITE);
                  }
              break;
              case(1)://(Main Page -> Video -> Brightness++)
                if(Brightness<BRIGHTNESS_MAX) {
                  Brightness++;
                  Set_Brightness(Brightness);
                  EE_MCU_Byte_Write(ParaAddress+EE_BRIGHTNESS, Brightness);
                  Paint_Bar(1, 2, BRIGHTNESS_MIN, BRIGHTNESS_MAX, Brightness);
                  Print_Char(1, 25, Brightness, WHITE);
                  }
              break;
              case(2)://(Main Page -> Video -> Saturation++)
                if(Saturation<SATURATION_MAX) {
                  Saturation++;
                  Set_Saturation(Saturation);
                  EE_MCU_Byte_Write(ParaAddress+EE_SATURATION, Saturation);
                  Paint_Bar(1, 2, SATURATION_MIN, SATURATION_MAX, Saturation);
                  Print_Char(1, 25, Saturation, WHITE);
                  }
              break;
              case(3)://(Main Page -> Video -> Hue++)
                if(Hue<HUE_MAX) {
                  Hue++;
                  Set_Hue(Hue);
                  EE_MCU_Byte_Write(ParaAddress+EE_HUE, Hue);
                  Paint_Bar(1, 2, HUE_MIN, HUE_MAX, Hue);
                  Print_Char(1, 25, Hue, WHITE);
                  }
              break;
              case(4)://(Main Page -> Video -> Sharpness++)
                if(Sharpness<SHARPNESS_MAX) {
                  Sharpness++;
                  Set_Sharpness(Sharpness);
                  EE_MCU_Byte_Write(ParaAddress+EE_SHARPNESS, Sharpness);
                  Paint_Bar(1, 2, SHARPNESS_MIN, SHARPNESS_MAX, Sharpness);
                  Print_Char(1, 25, Sharpness, WHITE);
                  }
              break;
              case(5)://(Main Page -> Video -> Color Temp.++)
                if(Color_Temp<2) {
                  Color_Temp++;
                  Contrast=0x10;
                  Brightness=0x10;
                  Set_Color_Temp(Color_Temp);
                  Set_Contrast(Contrast);
                  Set_Brightness(Brightness);
                  EE_MCU_Byte_Write(EE_COLOR_TEMP, Color_Temp);
                  EE_MCU_Byte_Write(ParaAddress+EE_CONTRAST, Contrast);
                  EE_MCU_Byte_Write(ParaAddress+EE_BRIGHTNESS, Brightness);
                  StrPtr=COLOR_TMP[Language];
                  length=StringLength(*(StrPtr+0))+StringLength(*(StrPtr+1))+StringLength(*(StrPtr+2));
                  length=(29-length)/4;
                  pos0=length;
                  pos1=pos0+StringLength(*(StrPtr+0))+length;
                  pos2=pos1+StringLength(*(StrPtr+1))+length;
                  Line_Attribute(1, 0, 29, WHITE);
                  switch(Color_Temp) {
                    case(0):
                      Line_Attribute(1, pos0, pos0+StringLength(*(StrPtr+0))-1, RED);
                    break;
                    case(1):
                      Line_Attribute(1, pos1, pos1+StringLength(*(StrPtr+1))-1, RED);
                    break;
                    case(2):
                      Line_Attribute(1, pos2, pos2+StringLength(*(StrPtr+2))-1, RED);
                    break;
                    }
                  }
              break;
              case(6)://(Main Page -> Video -> Caption++)
                if(Caption<8) {
                  Caption++;
                  Set_Caption(Caption);
                  EE_MCU_Byte_Write(EE_CAPTION, Caption);
                  Line_Attribute(1, 0, 29, WHITE);
                  length=1+3*Caption;
                  Line_Attribute(1, length, length+2, RED);
                  }
              break;
              case(7)://(Main Page -> Video -> OSD Display Enable)
                if(OSD_Disp==0) {
                  OSD_Disp=1;
                  EE_MCU_Byte_Write(EE_OSD_DISP, OSD_Disp);
                  Line_Attribute(1, 0, 29, WHITE);
                  if(OSD_Disp)
                    Line_Attribute(1, 16, 29, RED);
                  else
                    Line_Attribute(1, 0, 15, RED);
                  }
              break;
              }
          break;
          case(3)://(Main Page -> Audio)
            switch(Item) {
              case(0)://(Main Page -> Audio -> Volume++)
                if(Volume<VOLUME_MAX) {
                  Volume++;
                  Adjust_Volume(Volume);
                  EE_MCU_Byte_Write(EE_VOLUME, Volume);
                  Paint_Bar(1, 2, VOLUME_MIN, VOLUME_MAX, Volume);
                  Print_Char(1, 25, Volume, WHITE);
                  }
              break;
              case(1)://(Main Page -> Audio -> Treble++)
                if(Treble<TREBLE_MAX) {
                  Treble++;
                  Set_Treble(Treble);
                  EE_MCU_Byte_Write(EE_TREBLE, Treble);
                  Paint_Bar(1, 2, TREBLE_MIN, TREBLE_MAX, Treble);
                  Print_Char(1, 25, Treble, WHITE);
                  }
              break;
              case(2)://(Main Page -> Audio -> Bass++)
                if(Bass<BASS_MAX) {
                  Bass++;
                  Set_Bass(Bass);
                  EE_MCU_Byte_Write(EE_BASS, Bass);
                  Paint_Bar(1, 2, BASS_MIN, BASS_MAX, Bass);
                  Print_Char(1, 25, Bass, WHITE);
                  }
              break;
              case(3)://(Main Page -> Audio -> Balance++)
                if(Balance<BALANCE_MAX) {
                  Balance++;
                  Set_Balance(Balance);
                  EE_MCU_Byte_Write(EE_BALANCE, Balance);
                  Paint_Bar(1, 2, BALANCE_MIN, BALANCE_MAX, Balance);
                  Print_Char(1, 25, Balance, WHITE);
                  }
              break;              
              case(4)://(Main Page -> Audio -> Speaker Enable)
                if(Mute==1) {
                  Mute=0;
                  EE_MCU_Byte_Write(EE_MUTE, Mute);
                  if((Source==TV)&&(Get_Bit(EE_MCU_Byte_Read(ChannelLockTable_EEPROM_Address()+Channel/8), Channel%8)==1))
                    Set_Mute(1);
                  else
                    Set_Mute(Mute);
                  Line_Attribute(1, 0, 29, WHITE);
                  if(Mute)
                    Line_Attribute(1, 0, 15, RED);
                  else
                    Line_Attribute(1, 16, 29, RED);
                  }
              break;
              }
          break;
          case(4)://(Main Page -> TV)
            switch(Item) {
			  case(0)://(Main Page -> TV -> TV/CATV)
                if(TV_Mode<3) {
                  TV_Mode++;
                  EE_MCU_Byte_Write(EE_TV_MODE, TV_Mode);
                  Channel=EE_MCU_Byte_Read(Channel_EEPROM_Address());
                  Line_Attribute(1, 0, 29, WHITE);
                  switch(TV_Mode) {
		            case(TV_AIR):
                      Line_Attribute(1, 5, 7, RED);
                    break;
        	        case(CATV_STD):
                      Line_Attribute(1, 16, 18, RED);
                    break;
			        case(CATV_IRC):
                      Line_Attribute(1, 20, 22, RED);
                    break;
                    case(CATV_HRC):
                      Line_Attribute(1, 24, 26, RED);
                    break;
                    }
                  Set_Background(YES, BLACK);
                  Set_Caption(0); 
                  Set_Mute(1);
                  Pre_Channel=Channel;
                  Set_Channel(Channel);
                  bno_signal=1;
                  DelayX10ms(50);
                  }
              break;
              case(1)://(Main Page -> TV -> MTS)
                if(MTS_Mode<2) {
                  MTS_Mode++;
                  EE_MCU_Byte_Write(EE_MTS_MODE, MTS_Mode);
                  Line_Attribute(1, 0, 29, WHITE);
                  Set_MTS_Mode(MTS_Mode);
                  Line_Attribute(1, 0+MTS_Mode*10, 9+MTS_Mode*10, RED);   
                  }
              break;
              case(3)://(Main Page -> TV -> Increase Channel)
                Blank_TV_Screen();
                i=Channel;
                do{
                  if(TV_Mode==TV_AIR)
                    i=(i+1)%CHANNEL_AIR_MAX;
                  else
                    i=(i+1)%CHANNEL_MAX;
                  j=EE_MCU_Byte_Read(ChannelTable_EEPROM_Address()+i/8);
                  }while((i!=Channel)&&(Get_Bit(j, i%8)==0));
                Channel=i;
                Set_Channel(Channel);
                EE_MCU_Byte_Write(Channel_EEPROM_Address(), Channel);
                Print_Char(1, 13, Channel+1, WHITE);
                bno_signal=1; 
              break;
              case(4)://(Main Page -> TV -> Erase Channel)
                i=EE_MCU_Byte_Read(ChannelTable_EEPROM_Address()+Channel/8);
                j=Channel%8;
                if(Get_Bit(i, j)==1) {
                  i=Set_Bit(i, j, 0);
                  EE_MCU_Byte_Write(ChannelTable_EEPROM_Address()+Channel/8, i);
                  Line_Attribute(1, 0, 15, WHITE);
                  Line_Attribute(1, 16, 29, RED);
                  }
              break;
              case(5)://(Main Page -> TV -> Channel Unlock)
                i=EE_MCU_Byte_Read(ChannelLockTable_EEPROM_Address()+Channel/8);
                j=Channel%8;
                if(Get_Bit(i, j)==1) {//Channel=Lock
                  i=Set_Bit(i, j, 0);
                  EE_MCU_Byte_Write(ChannelLockTable_EEPROM_Address()+Channel/8, i);
                  Line_Attribute(1, 0, 15, WHITE);
                  Line_Attribute(1, 16, 29, RED);
                  Set_Background(NO, BLACK);
                  Set_Mute(Mute);
                  }
              break;
              }
          break;
          case(200)://V-Chip column right
            VChip_Cursor(4);
          break;
          }
        }
      else {
        switch(Page) {
          case(101)://(Hot Volume Up)
            if(Volume<VOLUME_MAX) {
              if(Mute) {
                Mute=0;
                EE_MCU_Byte_Write(EE_MUTE, Mute);
                }
              Volume++;
              EE_MCU_Byte_Write(EE_VOLUME, Volume);
              if((Source==TV)&&(Get_Bit(EE_MCU_Byte_Read(ChannelLockTable_EEPROM_Address()+Channel/8), Channel%8)==1))
                Set_Mute(1);
              else {
                Set_Mute(Mute);              
                Adjust_Volume(Volume);
                }
              Paint_Bar(1, 2, VOLUME_MIN, VOLUME_MAX, Volume);
              Print_Char(1, 25, Volume, WHITE);
              OSD_CountDown=3;

⌨️ 快捷键说明

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