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

📄 paltuner.lst

📁 车载DVD osdIC TW8816原厂代码
💻 LST
📖 第 1 页 / 共 3 页
字号:
 510   1              SetTVFreq( TEMP_TVFREQ );
 511   1      
 512   1              if( IsVideoInput() ) {
 513   2                              if( flag == UP )        TEMP_TVFREQ += FREQ_INC;
 514   2                              else    TEMP_TVFREQ -= FREQ_INC;
 515   2              }
 516   1      
 517   1              while(1)
 518   1              {
 519   2                              if( WantToStopTVScan() )
 520   2                              break;
 521   2      
 522   2                              if( flag == UP )        TEMP_TVFREQ += FREQ_INC;
 523   2                              else    TEMP_TVFREQ -= FREQ_INC;
 524   2      
 525   2                              SetTVFreq( TEMP_TVFREQ ); 
 526   2                              DisplayTVFreq(TEMP_TVFREQ);
 527   2                          delay(20);  // Wait for 150mS
 528   2      
 529   2                              if( IsVideoInput() ) 
 530   2                                      if(AFT(TEMP_TVFREQ)) break;
 531   2      
 532   2                              if( (TEMP_TVFREQ > MAX_FREQUENCY ) || (TEMP_TVFREQ < MIN_FREQUENCY)) break;
 533   2              };
 534   1      
 535   1              if( IsAudioMuteOn() )   DisplayMuteInfo();
 536   1              else AudioOn();
 537   1      
 538   1      }
 539          
 540          void ScanTVChannel(void)
 541          {
 542   1              BYTE i;
 543   1              WORD addr;
 544   1              WORD TEMP_TVFREQ;
 545   1      
 546   1              TVChannel = 0;
 547   1      
 548   1              AudioOff();
 549   1      
C51 COMPILER V7.50   PALTUNER                                                              04/01/2008 15:02:41 PAGE 10  

 550   1              //if( Colorsystem == SECAM_L_BAND ) TEMP_TVFREQ = SECAM_L_MIN; 
 551   1              //else
 552   1              TEMP_TVFREQ = MIN_FREQUENCY;
 553   1      
 554   1              DisplayScanChannel(TVChannel);
 555   1      
 556   1              for( ; TEMP_TVFREQ < MAX_FREQUENCY; TEMP_TVFREQ += FREQ_INC ) //1Mhz++
 557   1              {
 558   2                      if( WantToStopTVScan() ) break;
 559   2      
 560   2                      SetTVFreq( TEMP_TVFREQ ); 
 561   2      
 562   2                      DisplayTVFreq(TEMP_TVFREQ);
 563   2                      
 564   2                      delay(15);      // Wait for 150mS
 565   2      
 566   2                      if( IsVideoInput() ) {
 567   3                              if(AFT(TEMP_TVFREQ)){
 568   4                              //TVFreq = TEMP_TVFREQ; 
 569   4                              TEMP_TVFREQ = TVFreq;   
 570   4                              TEMP_TVFREQ += FREQ_INC*2;//32++; 2Mhz++
 571   4                              TVChannel++;
 572   4      
 573   4                              DisplayScanChannel(TVChannel);
 574   4      
 575   4                              SetTVFreqEE( TVChannel, TVFreq );
 576   4                              SetTVPrSystem(TVChannel, 0);    // Not skip
 577   4                              SetFineTuneEE(TVChannel, 0);    // FineTune = 0
 578   4      
 579   4                              addr = FIRST_SAVEDPR+TVCHNAME + TVChannel*BYTEPERCHANNEL;       // Channel Name = "-----" (Default)
 580   4                              for(i=0; i<5; i++, addr++)
 581   4                                      WriteEEP( addr, '-' );
 582   4                      } 
 583   3      
 584   3                      if( TVChannel > TOTAL_PR )      break;
 585   3                              }                       
 586   2      
 587   2                      }//for
 588   1      
 589   1              i=TVChannel+1;
 590   1      
 591   1              TVChannel = DummyChannel = 1; // First Channel
 592   1      
 593   1      //070406-start
 594   1      #if  TVTunerDevice==LGTUNER_MK5 
 595   1              ClearScanTV();  // for fast clear scantv osd
 596   1      #endif  //TVTunerDevice==LGTUNER_MK5 
 597   1      //070406-end
 598   1      
 599   1              SetTVChannel();
 600   1      
 601   1              if( IsAudioMuteOn() )   DisplayMuteInfo();
 602   1              else AudioOn();
 603   1      
 604   1              // Erase remain channel data 
 605   1              for( ; i <= TOTAL_PR; i++ ){
 606   2                      SetTVFreqEE( i, 0x0fff );
 607   2                      SetTVPrSystem(i, SKIPCHN_MASK); // skip
 608   2                      WriteEEP(FIRST_SAVEDPR+TVCHNAME + i*BYTEPERCHANNEL, 0xff);      // First char of the name = 0xff;
 609   2                      SetFineTuneEE(i, 0);    // FineTune = 0
 610   2              }
 611   1      #ifdef DEBUG
C51 COMPILER V7.50   PALTUNER                                                              04/01/2008 15:02:41 PAGE 11  

 612   1              dPuts("\r\n Channel scan-----Finished"); 
 613   1      #endif
 614   1      
 615   1      }
 616          
 617          /*
 618          void SaveChannel( BYTE chn )
 619          {
 620                  TVChannel = chn;
 621                  SetTVFreqEE( TVChannel, TVFreq );
 622                  SetTVChannel();
 623          }
 624          */
 625          CODE struct RegisterInfo OSDFineTuneRange={ -31, 31, 0 };
 626          BYTE GetFineTune(void)
 627          {
 628   1              char val;
 629   1              int rd;
 630   1              val =  GetFineTuneEE(TVChannel) ;
 631   1              Mapping1( val, &OSDFineTuneRange, &rd, &UserRange );
 632   1              return (BYTE)rd;
 633   1      }
 634          
 635          BYTE ChangeFineChannel(BYTE flag)
 636          {
 637   1              int rd;
 638   1              char val;
 639   1              WORD Freq;
 640   1      
 641   1              val = GetFineTuneEE(TVChannel) ;
 642   1              Printf("\r\nFine Tune:%d", (WORD)val);
 643   1      
 644   1      //      if( val & 0x80 )        rd = -(val&0x7f)
 645   1              val = ( flag==UP ?  val+1  :  val-1  );         
 646   1              if( val < OSDFineTuneRange.Min || val > OSDFineTuneRange.Max )
 647   1                      return 0; // Retry!!
 648   1              Freq = GetTVFreqEE(TVChannel);
 649   1      
 650   1              Freq = Freq + val;
 651   1              SetTVFreq( Freq );   
 652   1              SetFineTuneEE(TVChannel, (BYTE)val);
 653   1      
 654   1              Mapping1( val, &OSDFineTuneRange, &rd, &UserRange );
 655   1              return (BYTE)rd;
 656   1      }
 657          
 658          
 659          void GetFirstChannel(void)
 660          {
 661   1              TVChannel = DummyChannel = GetTVPrEE();
 662   1              SetTVChannel();
 663   1      }
 664          
 665          BYTE IsSavedCurChn(void)
 666          {                                                                  
 667   1              return( ( GetTVPrSystem( TVChannel ) & SKIPCHN_MASK ) ? CLEARED_CHN : SAVED_CHN   );
 668   1      }
 669          /*
 670          BYTE StoreClearCurChn(void)
 671          {
 672                  BYTE val,cleared;
 673          
C51 COMPILER V7.50   PALTUNER                                                              04/01/2008 15:02:41 PAGE 12  

 674                  val = GetTVPrSystem( TVChannel );
 675                  if( val & SKIPCHN_MASK )        {       val &= ( ~SKIPCHN_MASK );       cleared = SAVED_CHN ;    }
 676                  else                                            {       val |= SKIPCHN_MASK;        cleared = CLEARED_CHN ;     }
 677                  
 678                  SetTVPrSystem( TVChannel, val );
 679                  return cleared;
 680          }
 681          */
 682          void EditTVChn(BYTE _RemoDataCode)
 683          {
 684   1              WORD TempChannel; 
 685   1              TempChannel = DummyChannel ;
 686   1      
 687   1              if( TVChManual ) {
 688   2                      TempChannel*= 10;
 689   2                      TempChannel+= _RemoDataCode;
 690   2      
 691   2                      if      (TempChannel > TOTAL_PR )
 692   2                      {                       
 693   3                              while( TempChannel >= 10 )
 694   3                                      TempChannel -= 10;
 695   3                      }
 696   2              }
 697   1              else {
 698   2                      TempChannel = _RemoDataCode;
 699   2              }
 700   1              
 701   1              DummyChannel = TempChannel;
 702   1              DisplayTVChannel(DummyChannel, 0);
 703   1              TVChManual = 1;         // Request to run channel after timeout.
 704   1      }
 705          
 706          void InitTV(void)
 707          {
 708   1      //070406-start
 709   1      #if  TVTunerDevice==LGTUNER_MK5 
 710   1              SetTVIFStd(IF_I);
 711   1      #else   //TVTunerDevice==LGTUNER_MK5 
              
                      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
              
              #endif  //TVTunerDevice==LGTUNER_MK5 
 726   1      //070406-end
 727   1      
 728   1      }
 729          
 730          void SetTVIFStd(BYTE cStd)
 731          {
 732   1              CODE BYTE PALSECAMTunerSysReg[] = {
 733   1                                                                                      0x56,0x72,0x09, //for B/G
 734   1                                                                                      0x56,0x72,0x0a, //for I
 735   1                                                                                      0x56,0x72,0x0b, //for D/K
C51 COMPILER V7.50   PALTUNER                                                              04/01/2008 15:02:41 PAGE 13  

 736   1                                                                                      0x46,0x50,0x4b, //for L
 737   1                                                                                      0xc6,0x50,0x53  //for L'
 738   1                                              };
 739   1              MTSType             = MTS_STEREO;
 740   1      
 741   1              #ifdef DEBUG_TV
                      dPrintf("\r\n++(InitTV) TunerI2CAddress:0x%04x", (WORD)TVTunerI2CAddress);
                      #endif
 744   1      
 745   1              cStd = GetVInputStdDetectModeEE();
 746   1              WriteI2Cn_ExternalDev(TVTunerIFI2CAddress, 0x00, &PALSECAMTunerSysReg[cStd*3], 3);
 747   1      
 748   1      }
 749          
 750          void ResetTVValue(void)
 751          {
 752   1      
 753   1      }
 754          #endif  //defined( PAL_TV ) && defined(SUPPORT_TV) 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1770    ----
   CONSTANT SIZE    =    110    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =      2      44
   DATA SIZE        =      3    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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