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

📄 tuner.lst

📁 车载DVD osdIC TW8816原厂代码
💻 LST
📖 第 1 页 / 共 3 页
字号:
                                                      //Video_Status = TRUE;
                                                      SetTVPrSystem(TVChannel, 0);    // Not skip
                                              }
                                      // HRC
                                              SetTVFreq( TEMP_TVFREQ+12 );       // STD + 0.75 Mhz
                                              delay(30);      
                                              if(IsVideoInput()) 
                                              {       
                                                      HRC_Count++ ;
                                                      //Video_Status = TRUE;
                                                      SetTVPrSystem(TVChannel, 0);    // Not skip
                                              }
                                      // IRC
                                              SetTVFreq( TEMP_TVFREQ+32 );       // STD + 2.0 Mhz
                                              delay(30);      
                                              if(IsVideoInput()) 
                                              {       
                                                      HRC_Flag = 0; 
                                                      IRC_Flag = 1;
                                                      //Video_Status = TRUE;
                                                      SetTVPrSystem(TVChannel, 0);    // Not skip
                                              }
                              }
                              #endif  //SUPPORT_HRCIRC
C51 COMPILER V7.50   TUNER                                                                 04/01/2008 15:02:43 PAGE 9   

                              
                              // STD
                              SetTVFreq(TEMP_TVFREQ);
                              delay(30);      // Wait for 100mS
                              if(IsVideoInput()) 
                              {       
                                              #ifdef SUPPORT_HRCIRC
                                              STD_Count++ ;
                                              #endif
                                              //Video_Status = TRUE;
                                              SetTVPrSystem(TVChannel, 0);    // Not skip
                              }
              
                              
                              //delay(10);
                              //if( IsVideoInput() )
                              //      AddTVChannelEE(TVInputSel,i);
                      }
              
                      #ifdef SUPPORT_HRCIRC
                              if( !IRC_Flag )
                                      if( HRC_Count > STD_Count ) {
                                              HRC_Flag = 1;
                              }
              
                              for( TVChannel = 1; TVChannel<125; TVChannel++ )
                              {
                                      TVFreq = 0;
              
                                      if( (TVChannel == 5) || (TVChannel == 6))
                                      {
                                              if(IRC_Flag)
                                                      TVFreq = 30; // IRC=STD+2.00Mhz
                                              else
                                              {
                                                      if( HRC_Flag)
                                                              TVFreq = 12; // HRC=STD+0.75Mhz
                                              }
                                      }
                                      else
                                      {
                                              if( HRC_Flag)
                                                      TVFreq = -20; // HRC=STD-1.25Mhz
                                      }
              
                                      SetFineTuneEE(TVChannel, TVFreq);
                                      
                              }// for
                      #endif  // SUPPORT_HRCIRC
              
                      CheckAndClearMuteOn();
              
                      if( PreTVChannel > ( TVInputSel==CABLETV ? MAX_CABLETV : MAX_AIRTV ) )
                                      TVChannel = 2;
                      else TVChannel = PreTVChannel;
              
                      SetTVChannel();
              
                      if( IsAudioMuteOn() )   DisplayMuteInfo();
                      else AudioOn();
              
              }
C51 COMPILER V7.50   TUNER                                                                 04/01/2008 15:02:43 PAGE 10  

              
              
              CODE struct RegisterInfo OSDFineTuneRange={ -31, 31, 0 };
              BYTE GetFineTune(void)
              {
                      char val;
                      int rd;
                      val =  GetFineTuneEE(TVChannel) ;
                      Mapping1( val, &OSDFineTuneRange, &rd, &UserRange );
                      return (BYTE)rd;
              }
              
              BYTE ChangeFineChannel(BYTE flag)
              {
                      int rd;
                      char val;
                      WORD Freq;
              
                      val = GetFineTuneEE(TVChannel) ;
                      Printf("\r\nFine Tune:%d", (WORD)val);
              
              //      if( val & 0x80 )        rd = -(val&0x7f)
                      val = ( flag==UP ?  val+1  :  val-1  );         
                      if( val < OSDFineTuneRange.Min || val > OSDFineTuneRange.Max )
                              return 0; // Retry!!
                      #ifdef PAL_TV
                      Freq = GetTVFreqEE(TVChannel);
                      #else
                      Freq = Get_Channel2Divid();
                      #endif
              
                      Freq = Freq + val;
                      SetTVFreq( Freq );   
                      SetFineTuneEE(TVChannel, (BYTE)val);
              
                      Mapping1( val, &OSDFineTuneRange, &rd, &UserRange );
                      return (BYTE)rd;
              }
              
              
              void GetFirstChannel(void)
              {
                      TVChannel = DummyChannel = GetTVPrEE();
                      SetTVChannel();
              }
              
              BYTE IsSavedCurChn(void)
              {                                                                  
                      return( ( GetTVPrSystem( TVChannel ) & SKIPCHN_MASK ) ? CLEARED_CHN : SAVED_CHN   );
              }
              
              BYTE StoreClearCurChn(void)
              {
                      BYTE val,cleared;
              
                      val = GetTVPrSystem( TVChannel );
                      if( val & SKIPCHN_MASK )        {       val &= ( ~SKIPCHN_MASK );       cleared = SAVED_CHN ;    }
                      else                                            {       val |= SKIPCHN_MASK;        cleared = CLEARED_CHN ;     }
                      
                      SetTVPrSystem( TVChannel, val );
                      return cleared;
              }
C51 COMPILER V7.50   TUNER                                                                 04/01/2008 15:02:43 PAGE 11  

              
              void EditTVChn(BYTE _RemoDataCode)
              {
                      WORD TempChannel; 
                      TempChannel = DummyChannel ;
              
                      if( TVChManual ) {
                              TempChannel*= 10;
                              TempChannel+= _RemoDataCode;
              
                              #if defined NTSC_TV
                              if( TempChannel > (TVInputSel==AIRTV ? MAX_AIRTV : MAX_CABLETV ) ) 
                              #elif defined NTSC_JAPAN_TV
                              if      (TempChannel > MAX_AIRTV ) 
                              #endif
                              {                       
                                      while( TempChannel >= 10 )
                                              TempChannel -= 10;
                              }
                      }
                      else {
                              TempChannel = _RemoDataCode;
                      }
                      
                      DummyChannel = TempChannel;
                      DisplayTVChannel(DummyChannel, 0);
                      TVChManual = 1;         // Request to run channel after timeout.
              }
              
              BYTE GetTVType(void)
              {
                      return TVInputSel;
              }
              
              BYTE ToggleTVType(void)
              {
                      TVInputSel = (TVInputSel==AIRTV? CABLETV : AIRTV);
                      SetTVInputSelEE(TVInputSel);
                      return TVInputSel;
              }
              
              void InitTV(void)
              {
                      TVInputSel                      = GetTVInputSelEE();
                      MTSType             = MTS_STEREO;
              
                      #ifdef DEBUG_TV
                      dPrintf("\r\n++(InitTV) TunerI2CAddress:0x%04x", (WORD)TVTunerI2CAddress);
                      #endif
              
                      #if TVTunerDevice==TVAVA
                      WriteI2C(0x86, 0x00, 0x30);
                      WriteI2C(0x86, 0x01, 0x10);             //Set NTSC audio
                      WriteI2C(0x86, 0x02, 0x0c);             //Set NTSC Video
                      #endif
              
              //070406-start
              #if TVTunerDevice==LGTUNER_MK5  //Fix Tuner Video 2Vpp problem
                      WriteI2C(0x86, 0x00, 0x17);
                      WriteI2C(0x86, 0x01, 0x20);             //Set NTSC audio
                      WriteI2C(0x86, 0x02, 0x44);             //Set NTSC Video
              #endif
C51 COMPILER V7.50   TUNER                                                                 04/01/2008 15:02:43 PAGE 12  

              //070406-end
              }
              
              void ResetTVValue(void)
              {
                      //ResetTVChannelEE(AIRTV);
                      //ResetTVChannelEE(CABLETV);
              
              }
              
              #endif  //defined( NTSC_TV ) && defined(SUPPORT_TV) 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   ----    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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