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

📄 devtuner.lst

📁 MSTARXX.rar
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.18   DEVTUNER                                                              09/29/2009 23:58:04 PAGE 1   


C51 COMPILER V8.18, COMPILATION OF MODULE DEVTUNER
OBJECT MODULE PLACED IN ..\..\1out\DevTuner.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE ..\..\tv\DevTuner.c BROWSE INCDIR(..\..\inc) DEBUG OBJECTEXTEND PRINT(..\..
                    -\1out\DevTuner.lst) OBJECT(..\..\1out\DevTuner.obj)

line level    source

   1          /******************************************************************************
   2           Copyright (c) 2005 MStar Semiconductor, Inc.
   3           All rights reserved.
   4          
   5           [Module Name]: DevTuner.c
   6           [Date]:        30-JUN-2004
   7           [Comment]:
   8             TV tuner subroutines.
   9           [Reversion History]:
  10          *******************************************************************************/
  11          
  12          #define _DEVTUNER_C_
  13          #include "types.h"
  14          #include "global.h"
  15          
  16          #if TV_ENABLE
  17          #include "DevTuner.h"
  18          #include "i2c.h"
  19          #include "misc.h"
  20          #include "DEBUG.h"
  21          #include "tv.h"
  22          #include "devvd.h"
  23          #include "panel.h"
  24          #include "mstar.h"
  25          
  26          ///////////////////////////////////////////////////////////////////////////////
  27          ///////////////////////////////////////////////////////////////////////////////
  28          void devTunerWrite(WORD wFreq)
  29          {
  30   1      #if (TUNER_TYPE==TUNER_XUGUANG_VFT_5A_118)
                      BYTE controltemp;
              #endif
  33   1          g_bTunerParm.ProgDivide = wFreq+(WORD)(TN_FREQ_IF*1000)/TN_FREQ_SS;
  34   1      
  35   1          if( wFreq < TN_LOWBAND_END )               // low bank
  36   1              g_bTunerParm.ControlInfo2 = TN_LOW_BAND;
  37   1          else if( wFreq <  TN_MIDBAND_END)       // middle band
  38   1              g_bTunerParm.ControlInfo2 = TN_MID_BAND;
  39   1          else
  40   1              g_bTunerParm.ControlInfo2 = TN_HIGH_BAND;
  41   1      
  42   1          //printf("\r\nwFreq = %x", wFreq);
  43   1          //printf("\r\ng_TuneFreqIF = %x", g_TuneFreqIF);
  44   1      #if (TUNER_TYPE==TUNER_XUGUANG_VFT_5A_118)
                  controltemp=g_bTunerParm->ControlInfo2;
                  controltemp&=0x3F;
              
                      switch((chData.ucChannelMisc&SoundSysMask)%TV_SOUND_NUMS)
                              {
                      case TV_SOUND_BG:
                              controltemp|=0x80;
                          break;
                      case TV_SOUND_I:
                          controltemp|=0x40;
C51 COMPILER V8.18   DEVTUNER                                                              09/29/2009 23:58:04 PAGE 2   

                          break;
                      case TV_SOUND_M:
                          default:
                      case TV_SOUND_DK:
                          controltemp|=0xC0;
                          break;
                              }
                  g_bTunerParm.ControlInfo2=controltemp;
              #endif
  64   1      
  65   1          i2c_AccessStart(TN_PROG_I2C_ADDR, I2C_WRITE);
  66   1          i2c_SendByte(g_bTunerParm.ProgDivide>>8);
  67   1          Delay1ms(1);
  68   1          i2c_SendByte(g_bTunerParm.ProgDivide&0xff);
  69   1          Delay1ms(1);
  70   1          i2c_SendByte(TN_CTL_BYTE);
  71   1          Delay1ms(1);
  72   1          i2c_SendByte(g_bTunerParm.ControlInfo2);
  73   1          Delay1ms(1);
  74   1          i2c_Stop();
  75   1      }
  76          
  77          
  78          #if TUNER_2IN1
  79          ///////////////////////////////////////////////////////////////////////////////
  80          ///////////////////////////////////////////////////////////////////////////////
  81          void devTunerSetChromaToPal(void)
  82          {
  83   1        i2cWriteByte(TN_IF_I2C_ADDR,TN_SWITCHING_SUBADDR,SwitchDataPAL);//0xd6);
  84   1        i2cWriteByte(TN_IF_I2C_ADDR,TN_ADJUST_SUBADDR,AdjustDataPAL|g_VideoSetting.TunerAGC);//0x70);
  85   1      }
  86          
  87          
  88          void devTunerSetChromaToNtsc(void)
  89          {
  90   1        i2cWriteByte(TN_IF_I2C_ADDR,TN_SWITCHING_SUBADDR,SwitchDataNTSC);//0x16);
  91   1        i2cWriteByte(TN_IF_I2C_ADDR,TN_ADJUST_SUBADDR,AdjustDataNTSC|g_VideoSetting.TunerAGC);//0x30);
  92   1      }
  93          
  94          void devTunerSetChromaToSECAM(void)
  95          {
  96   1        i2cWriteByte(TN_IF_I2C_ADDR,TN_SWITCHING_SUBADDR,SwitchDataSECAM);//0x16);
  97   1        i2cWriteByte(TN_IF_I2C_ADDR,TN_ADJUST_SUBADDR,AdjustDataSECAM|g_VideoSetting.TunerAGC);//0x30);
  98   1      }
  99          
 100          BYTE devTunerGetStatus(BYTE ucLoopCount)
 101          {
 102   1          BYTE ucStatus; // tuner status
 103   1          BYTE AfcWinCounter=0;
 104   1      
 105   1          while(ucLoopCount--) // loop to detect
 106   1          {
 107   2               i2cBurstCurrentBytes(TN_IF_I2C_ADDR,&ucStatus,1);
 108   2      
 109   2              if (ucStatus & TN_READ_AFCWIN) // check inside AFC Window
 110   2                  AfcWinCounter++;
 111   2      
 112   2              if(AfcWinCounter>ucLoopCount/2)
 113   2                  break;
 114   2      
 115   2              Delay1ms(1);
 116   2          }
C51 COMPILER V8.18   DEVTUNER                                                              09/29/2009 23:58:04 PAGE 3   

 117   1      
 118   1          return ucStatus;
 119   1      }
 120          
 121          void devTunerSetSoundToPalBG(void)
 122          {//devTunerSetChromaToPal();
 123   1        i2cWriteByte(TN_IF_I2C_ADDR,TN_DATA_SUBADDR,SoundPALBG);
 124   1      }
 125          
 126          void devTunerSetSoundToPalI(void)
 127          {//devTunerSetChromaToPal();
 128   1        i2cWriteByte(TN_IF_I2C_ADDR,TN_DATA_SUBADDR,SoundPALI);
 129   1      }
 130          
 131          void devTunerSetSoundToPalDK(void)
 132          {//devTunerSetChromaToPal();
 133   1        i2cWriteByte(TN_IF_I2C_ADDR,TN_DATA_SUBADDR,SoundPALDK);
 134   1      }
 135          
 136          void devTunerSetSoundToNTSCMN(void)
 137          {//devTunerSetChromaToNtsc();
 138   1        i2cWriteByte(TN_IF_I2C_ADDR,TN_DATA_SUBADDR,SoundNTSC);
 139   1      }
 140          
 141          void devTunerSetSoundToSECAML(void)
 142          {//devTunerSetChromaToSECAM();
 143   1        i2cWriteByte(TN_IF_I2C_ADDR,TN_DATA_SUBADDR,SoundSECAML);
 144   1      }
 145          
 146          
 147          void devTunerSetAGCValue(value)
 148          {
 149   1          BYTE uctemp;
 150   1          if (chData.ucChannelMisc==TV_SOUND_M)
 151   1                  uctemp=AdjustDataNTSC;
 152   1          else
 153   1                  uctemp=AdjustDataPAL;
 154   1      
 155   1              uctemp&=0xE0;
 156   1          i2cWriteByte(TN_IF_I2C_ADDR,TN_ADJUST_SUBADDR,uctemp|value);
 157   1      }
 158          
 159          
 160          #else
              ///////////////////////////////////////////////////////////////////////////////
              ///////////////////////////////////////////////////////////////////////////////
              void devTunerSetSoundToPalBG(void)
              {
                  BYTE tempvalue;
                  tempvalue=P4;
                  tempvalue&=0xFC;
                  tempvalue|=0x03;
                  P4=tempvalue;
              }
              
              void devTunerSetSoundToPalI(void)
              {
                  BYTE tempvalue;
                  tempvalue=P4;
                  tempvalue&=0xFC;
                  tempvalue|=0x02;
                  P4=tempvalue;
C51 COMPILER V8.18   DEVTUNER                                                              09/29/2009 23:58:04 PAGE 4   

              }

⌨️ 快捷键说明

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