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

📄 adc.lst

📁 车载DVD osdIC TW8816原厂代码
💻 LST
字号:
C51 COMPILER V7.50   ADC                                                                   04/01/2008 15:01:58 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE ADC
OBJECT MODULE PLACED IN .\Output\adc.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE adc.c COMPACT OPTIMIZE(9,SIZE) BROWSE MODDP2 INCDIR(.\Include\) DEFINE(INTE
                    -RNAL_MCU) DEBUG OBJECTEXTEND PRINT(.\Source\adc.lst) OBJECT(.\Output\adc.obj)

line level    source

   1          #include "Config.h"
   2          
   3          #include "reg.h"
   4          #include "typedefs.h"
   5          #include "i2c.h"
   6          #include "adc.h"
   7          #include "printf.h"
   8          #include "main.h"
   9          #include "tw88.h"
  10          #include "pc_eep.h"
  11          #include "measure.h"
  12          
  13          // Address
  14          #define PLLDIVM         0xc3
  15          #define PLLDIVL         0xc4
  16          #define PHASE           0xc5
  17          #define RGB_SEL         0xd0
  18          #define ADCMODE         0xc0
  19          #define ADC_POWER       0xcb
  20          #define VCOCURR         0xc2
  21          
  22          //=============================================================================
  23          //                             ADC Functions
  24          //=============================================================================
  25          CODE BYTE Video_ADC_init[] = 
  26          {
  27                  TW88I2CAddress, 52,
  28          
  29          0xFF, 0x01, //; Page 1
  30          
  31          0xC0, 0x01,
  32          0xC1, 0xFF,
  33          0xC2, 0x00,
  34          0xC3, 0x03,
  35          0xC4, 0x5A,
  36          0xC5, 0x00,
  37          0xC6, 0x20,
  38          0xC7, 0x04,
  39          0xC8, 0x00,
  40          0xC9, 0x06,
  41          0xCA, 0x06,
  42          0xCB, 0x30,
  43          0xCC, 0x00,
  44          0xCD, 0x00,
  45          0xD0, 0x00,
  46          0xD1, 0xF0,
  47          0xD2, 0xF0,
  48          0xD3, 0xF0,
  49          0xD4, 0x00,
  50          0xD5, 0x00,
  51          0xD6, 0x10,
  52          0xD7, 0x70,
  53          0xD8, 0x00,
  54          0xD9, 0x10,
C51 COMPILER V7.50   ADC                                                                   04/01/2008 15:01:58 PAGE 2   

  55          0xDA, 0x80,
  56          
  57          0xff, 0x00,
  58          0xff, 0xff // end of datas
  59          };
  60          
  61          CODE BYTE RGB_ADC_init[] = 
  62          {
  63                  TW88I2CAddress, 52,
  64          
  65          0xFF, 0x01, //; Page 1
  66          
  67          0xC0, 0x18,
  68          0xC1, 0xFF,
  69          0xC2, 0x13,
  70          0xC3, 0x04,
  71          0xC4, 0x20,
  72          0xC5, 0x10,
  73          0xC6, 0x20,
  74          0xC7, 0x04,
  75          0xC8, 0x00,
  76          0xC9, 0x00,
  77          0xCA, 0x00,
  78          0xCB, 0xD7,
  79          0xCC, 0x13,
  80          0xCD, 0x00,
  81          0xD0, 0x00,
  82          0xD1, 0xF0,
  83          0xD2, 0xF0,
  84          0xD3, 0xF0,
  85          0xD4, 0x80,
  86          0xD5, 0x00,
  87          0xD6, 0x10,
  88          0xD7, 0x00,
  89          0xD8, 0x47,
  90          0xD9, 0x10,
  91          0xDA, 0x10,
  92          
  93          0xff, 0x00,
  94          0xff, 0xff // end of datas
  95          };
  96          
  97          void ADCDefaultsSet(void)
  98          {
  99   1              #ifdef DEBUG_PC
 100   1              dPuts("\r\n ADCDefaultsSet");
 101   1              #endif
 102   1      
 103   1      #ifdef SUPPORT_PC
 104   1             if (GetInputSelection() == PC)
 105   1                      I2CDeviceInitialize( RGB_ADC_init );
 106   1              else
 107   1      #endif          
 108   1                      I2CDeviceInitialize( Video_ADC_init );
 109   1                      
 110   1      }
 111          
 112          #if defined( SUPPORT_PC ) || defined ( SUPPORT_DTV )
 113          
 114          WORD GetCoarse(void)
 115          {
 116   1              WORD buf;
C51 COMPILER V7.50   ADC                                                                   04/01/2008 15:01:58 PAGE 3   

 117   1      
 118   1              buf = ReadADC_TW88(PLLDIVM) << 8;
 119   1              buf |= ReadADC_TW88(PLLDIVL);
 120   1      
 121   1              buf--;
 122   1              return buf;
 123   1      }
 124          
 125          void SetCoarse(WORD i)
 126          {
 127   1              i++;
 128   1              #ifdef DEBUG_PC
 129   1              dPrintf("\r\nSet Coarse->%04x(%d) ", i, i);
 130   1              #endif
 131   1      
 132   1              WriteADC_TW88(PLLDIVM, (BYTE)(i >> 8));
 133   1              WriteADC_TW88(PLLDIVL, (BYTE)(i));
 134   1      }
 135          
 136          void SetPhase(BYTE j)
 137          {
 138   1              #ifdef DEBUG_PC
 139   1              dPrintf("\r\nSet Phase->%04x ", (WORD)j);
 140   1              #endif
 141   1      
 142   1              WriteADC_TW88(PHASE, j&0x1f);
 143   1      }
 144          
 145          BYTE GetPhaseCurrent(void)
 146          {
 147   1              return ReadADC_TW88(PHASE) & 0x1f;
 148   1      }
 149          
 150          BYTE SetVCORange(DWORD _IPF)
 151          {
 152   1              BYTE VCO_CURR, oldv, chged=0;
 153   1              BYTE val;
 154   1              
 155   1              val = _IPF / 1000000L;
 156   1              
 157   1              if     ( val < 15 )             VCO_CURR = 0x01;        // 00 001
 158   1              else if( val < 34 )             VCO_CURR = 0x04;        // 00 010
 159   1              else if( val < 45 )             VCO_CURR = 0x0b;        // 01 101
 160   1              else if( val < 63 )             VCO_CURR = 0x0d;        // 01 101
 161   1              else if( val < 70 )             VCO_CURR = 0x0e;        // 10 101
 162   1              else if( val < 80 )             VCO_CURR = 0x14;        // 10 100
 163   1              else if( val <100 )             VCO_CURR = 0x16;        // 10 101
 164   1              else if( val <110 )             VCO_CURR = 0x16;        // 10 110
 165   1              else                                    VCO_CURR = 0x1d;        // 11 110
 166   1              
 167   1              oldv = ReadADC_TW88(VCOCURR) & 0x1f;    // curr VCO_CURR value  
 168   1              val = VCO_CURR;
 169   1              if( oldv != val ) {
 170   2                      chged = 1;
 171   2                      WriteADC_TW88(VCOCURR, val);            //
 172   2                      delay(1);                                       // time to stabilize
 173   2              }
 174   1      
 175   1              #ifdef DEBUG_PC
 176   1              dPrintf("\r\nSetVCO=%02x, changed=%d", (WORD)val, (WORD)chged );
 177   1              #endif
 178   1      
C51 COMPILER V7.50   ADC                                                                   04/01/2008 15:01:58 PAGE 4   

 179   1              return chged;
 180   1      }
 181          
 182          
 183          #endif  // SUPPORT_PC
 184          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    383    ----
   CONSTANT SIZE    =    203    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----      12
   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 + -