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

📄 measure.lst

📁 车载DVD osdIC TW8816原厂代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.50   MEASURE                                                               04/01/2008 15:02:17 PAGE 1   


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

line level    source

   1          #include "Config.h"
   2          
   3          
   4          #include "typedefs.h"
   5          
   6          #include "main.h"
   7          #include "tw88.h"
   8          #include "measure.h"
   9          #include "adc.h"
  10          #include "i2c.h"
  11          #include "dispinfo.h"
  12          #include "pc_eep.h"
  13          #include "etc_eep.h"
  14          #include "printf.h"
  15          #include "osdmenu.h"
  16          #include "RegMap.h"
  17          #include "panel.h"
  18          #include "CPU.h"
  19          #include "Audio.h"
  20          
  21          //================== Input Measurement ====================================
  22          
  23          // Hans
  24          IDATA BYTE    cSourceState = ssSourceMonitor;
  25          
  26          WORD    VPosMax, VPosCurr, HPosMax, HPosCurr;
  27          
  28          DWORD   RGBPeak, PhaseRGB;
  29          
  30          #ifdef WIDE_SCREEN
  31          extern BYTE WideScreenMode;
  32          #endif
  33          
  34          bit bPanelMute;
  35          bit bBlueScreenOn = TRUE;
  36          static BYTE cCounter;   
  37          
  38          CODE BYTE PcModeStr[][15] = {
  39              "720x400 70Hz",     // 0
  40          
  41              "640x400 80Hz",     // 1
  42              "640x350 85Hz",     // 2
  43              "720x400 85Hz",     // 3
  44          
  45              "640x480 60Hz",     // 4
  46              "640x480 66Hz",     // 5
  47              "640x480 70Hz",     // 6
  48              "640x480 72Hz",     // 7
  49              "640x480 75Hz",     // 8
  50              "640x480 85Hz",     // 9
  51          
  52              "800x600 56Hz",     // 10
  53              "800x600 60Hz",     // 11
  54              "800x600 70Hz",     // 12
C51 COMPILER V7.50   MEASURE                                                               04/01/2008 15:02:17 PAGE 2   

  55              "800x600 72Hz",     // 13
  56              "800x600 75Hz",     // 14
  57              "800x600 85Hz",     // 15
  58              
  59              "832x624 75Hz",     // 16
  60          
  61              "1024x768 60Hz",    // 17
  62              "1024x768 70Hz",    // 18
  63              "1024x768 72Hz",    // 19
  64              "1024x768 75Hz",    // 20
  65              "1024x768 85Hz",    // 21
  66          
  67              "1152x864 60Hz",    // 22
  68              "1152x864 70Hz",    // 23
  69              "1152x864 75Hz",    // 24
  70              
  71                  "1280x1024 60Hz",       // 25
  72              "1280x1024 70Hz",   // 26
  73              "1280x1024 75Hz",   // 27
  74          
  75              "RGB 480p 60Hz",    // 28
  76              "RGB 720p 60Hz",    // 29
  77              "RGB 720p 50Hz",    // 30
  78              "RGB 1080i 60Hz",   // 31
  79              "RGB 1080i 50Hz",   // 32
  80              "RGB 1080i 50Hz",   // 33
  81              "RGB 480i 60Hz",    // 34
  82              "RGB 576i 50Hz",    // 35
  83              "RGB 576p 50Hz",    // 36
  84          
  85              "YPbPr 480p",       // 37
  86              "YPbPr 720p",       // 38
  87              "YPbPr 720p50",     // 39
  88              "YPbPr 1080i",      // 40
  89              "YPbPr 1080i50",    // 41
  90              "YPbPr 1080i50",    // 42
  91              "YPbPr 480i",       // 43
  92              "YPbPr 576i",       // 44
  93              "YPbPr 576p",       // 45
  94          
  95                  ""
  96          };
  97          
  98          //-------------------------------------------------------------------------
  99          extern CODE struct RegisterInfo UserRange;
 100          
 101          extern  IDATA WORD  IVF;
 102          extern  IDATA DWORD     IHF;
 103          extern            BYTE  DebugLevel;
 104          extern        bit   Range4Coarse;
 105          extern  DATA  WORD  tm01, tm001;
 106          extern  DATA  BYTE  tic01;
 107          extern  DATA  WORD  tic_pc;
 108          
 109                          IDATA BYTE PcMode;
 110          
 111          #if defined WVGA || defined WSVGA || defined WXGA || defined VGA_PRIMEVIEW
                              bit   Flag4Bypass=0;        // 0:non-bypass
              #else
 114                          bit   Flag4Bypass=0;//1;                // 1:bypass 
 115          #endif
 116          
C51 COMPILER V7.50   MEASURE                                                               04/01/2008 15:02:17 PAGE 3   

 117          //-----------------------------------------------------------------------------
 118          extern  CODE struct _PCMDATA  PCMDATA[];
 119          
 120          extern CODE BYTE *CheckPCCableStr[];
 121          extern CODE BYTE *CheckDTVCableStr[];
 122          extern CODE BYTE *OutOfRangeStr[] ;
 123          #ifdef SUPPORT_COMPONENT
 124          extern IDATA BYTE  ComponentMode;
 125          #endif
 126          extern IDATA BYTE  VInputStd;
 127          extern bit AutoDetect;
 128          extern IDATA BYTE InputSelection;
 129          extern CODE BYTE COMPONENT_STR[][15] ;
 130          extern  bit             DisplayInputHold;
 131          extern     CODE struct _PANELDATA PanelData; // Hans
 132          
 133          CODE BYTE DTVMode[] = { EE_YPbPr_480I, EE_YPbPr_576I, EE_YPbPr_480P, EE_YPbPr_576P,
 134                                                          EE_YPbPr_1080I, EE_YPbPr_720P, EE_PC_UNKNOWN, EE_PC_UNKNOWN };
 135          #define DetectDTVInputSource()  DTVMode[ReadADC(0xC1)& 0x07]
 136          
 137          #if defined( SUPPORT_PC ) || defined( SUPPORT_DTV )
 138          //=============================================================================
 139          /*BYTE Measure_VPN_IHF( WORD *p_vpn, DWORD *p_ihf)
 140          {
 141                  DWORD ppf;
 142                  WORD  hpn;
 143          
 144          
 145                  if( !MeasureAndWait(3) ) {
 146                  
 147                          #ifdef DEBUG_PC
 148                          dPuts("\r\n  ** Error at Get_VPN_IHF");
 149                          #endif
 150                          return 0;
 151                  }
 152          
 153                  ppf    = GetPPF();                      //
 154                  *p_vpn = GetVPN();                      //
 155                  hpn    = GetHPN();                      // HPN = H Period Num
 156          
 157                  *p_ihf = (ppf + hpn/2) / hpn;                   // IHF = PPF / HPN 
 158          
 159                  #ifdef DEBUG_PC
 160                  dPrintf("\r\n  *** PPF=%ld   HPN=%4d", ppf, hpn);
 161                  dPrintf("  --> VPN=%4d   IHF=%ld ", *p_vpn, *p_ihf);
 162                  dPrintf("  IVF=%d", (WORD)((*p_ihf + *p_vpn/2) / *p_vpn) );
 163          
 164          //      dPrintf(" [%d, %ld]", LastVPN, LastIHF);
 165          
 166                  #endif
 167          
 168                  return 1;
 169          }
 170          */
 171          void ResetPCValue(void)
 172          {
 173   1              SaveDefaultPCDataEE();
 174   1              GetPCDataEE(PcMode);
 175   1      }
 176          
 177          void StartNewDetect(void)
 178          {
C51 COMPILER V7.50   MEASURE                                                               04/01/2008 15:02:17 PAGE 4   

 179   1              ClearEnDet();
 180   1              MeasureAndWait(3);
 181   1              SetEnDet();
 182   1      
 183   1              WriteTW88(STATUS0, 0xff);
 184   1              WriteTW88(STATUS1, 0xff);
 185   1      }
 186          
 187          WORD GetCoarseValue(void)
 188          {
 189   1              return GetCoarse();
 190   1      }
 191          
 192          WORD SetPCCoarseValue(BYTE val)         //1:Up  2:Dn
 193          {
 194   1              WORD    coarse;
 195   1      
 196   1      //      WriteADC(0xc1, 0x30);
 197   1              WriteADC(0xc0, 0x30);
 198   1      
 199   1              coarse = GetCoarse();
 200   1              if( val==UP ) coarse++;
 201   1              else coarse--;
 202   1      
 203   1              SetCoarse(coarse);
 204   1              SaveCoarseEE(PcMode);   // HHY 1.33
 205   1      
 206   1              StartNewDetect();
 207   1      
 208   1      //      WriteADC(0xc1, 0x20);
 209   1              WriteADC(0xc0, 0x20);
 210   1              return coarse;
 211   1      }
 212          
 213          
 214          BYTE SetPhaseValue(BYTE val)
 215          {
 216   1              BYTE    phase;
 217   1      
 218   1              phase = GetPhaseCurrent();
 219   1      
 220   1              if( val==UP ) {
 221   2                      if( phase>=31 ) return phase;
 222   2                      else phase++;
 223   2              }
 224   1              else {
 225   2                      if( phase==0 ) return phase;
 226   2                      else phase--;
 227   2              }
 228   1      
 229   1              SetPhase(phase);
 230   1              SavePhaseEE(PcMode);    // HHY 1.33
 231   1      
 232   1              return phase;
 233   1      }
 234          
 235          BYTE IsDTVInput(void)
 236          {
 237   1              if( GetInputSelection()==DTV || GetInputSelection()==PC ) {
 238   2                      if( PcMode>=EE_RGB_480P && PcMode<=EE_YPbPr_576P ) return 1;
 239   2              }
 240   1              return 0;
C51 COMPILER V7.50   MEASURE                                                               04/01/2008 15:02:17 PAGE 5   

 241   1      }
 242          
 243          //IDATA struct RegisterInfo VPositionRange={0,100, 50};
 244          
 245          //=============================================================================
 246          //                    PC Screen Position Move Functions
 247          //=============================================================================
 248          BYTE GetVPosition(void)
 249          {
 250   1              int newv;
 251   1              struct RegisterInfo VPositionRange;

⌨️ 快捷键说明

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