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

📄 modehandle.lst

📁 车载DVD的主控MCU的源程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.06   MODEHANDLE                                                            12/11/2007 11:28:43 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MODEHANDLE
OBJECT MODULE PLACED IN .\BIN\ModeHandle.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SRC\ModeHandle.C LARGE OPTIMIZE(9,SPEED) DEBUG OBJECTEXTEND PRINT(.\LST\Mod
                    -eHandle.lst) OBJECT(.\BIN\ModeHandle.obj)

stmt level    source

   1          /*==========================================
   2          ==========================================*/
   3          #include "include.h"
   4          /*==========================================
   5          ==========================================*/
   6          void GetCounter(void)
   7          {
   8   1              unsigned char temp;
   9   1              Union TempFreq;
  10   1              NoSyncFlag = 0;
  11   1              if(ReadIIC563(0x19a) & BIT_5)   //H+V high piority
  12   1                      if(SyncMode == 0)
  13   1                              {
  14   2                              V_SYNC = 0;
  15   2                              H_SYNC = 0;
  16   2                              NoSyncFlag = 1;
  17   2                              return;
  18   2                              }
  19   1              temp = ReadIIC563(0x19a);
  20   1              HV_Pol = (temp & 0x03) << 4;
  21   1              BypassSOG = 0;
  22   1              if(!(temp & BIT_6)) //Sep/Comp Hsync present
  23   1                      {
  24   2                      TempFreq.w = ReadWordIIC563(0x19b);
  25   2                      H_SYNC = (HSYNC_CLK)/TempFreq.w;
  26   2                      BypassSOG = 1;
  27   2                      if(H_SYNC <100)
  28   2                              {
  29   3                              H_SYNC = 0;
  30   3                              NoSyncFlag = 1;
  31   3                              }
  32   2                      }
  33   1              else{
  34   2                      if(SyncMode == 3)// Jacky 20040623 When DVI DE mode, GI_HCNT_OV alway "1"
  35   2                      {
  36   3      #if DVImode == DEmode
  37   3                              if(ReadIIC563(0x1ab) & BIT_0)
  38   3                              {
  39   4                                      TempFreq.w = ReadWordIIC563(0x19b);
  40   4                                      H_SYNC = (HSYNC_CLK)/TempFreq.w;
  41   4                                      BypassSOG = 1;
  42   4                                      if(H_SYNC <100)
  43   4                                      {
  44   5                                              H_SYNC = 0;
  45   5                                              NoSyncFlag = 1;
  46   5                                      }
  47   4                              }
  48   3                              else
  49   3                              {
  50   4                                      H_SYNC = 0;
  51   4                                      NoSyncFlag = 1;
  52   4                              }
  53   3      #else
                                      H_SYNC = 0;
C51 COMPILER V7.06   MODEHANDLE                                                            12/11/2007 11:28:43 PAGE 2   

                                      NoSyncFlag = 1;
              #endif
  57   3                      }
  58   2                      else
  59   2                              {
  60   3                      H_SYNC = 0;
  61   3                      NoSyncFlag = 1;
  62   3                              }
  63   2              }
  64   1              if(!(temp & BIT_7))//Sep/Comp Vsync present
  65   1                      {
  66   2                      TempFreq.w = ReadWordIIC563(0x19d);
  67   2                      V_SYNC = (VSYNC_CLK)/TempFreq.w;
  68   2                      BypassSOG = 1;
  69   2                      if(V_SYNC <100)
  70   2                              {
  71   3                              V_SYNC = 0;
  72   3                              NoSyncFlag = 1;
  73   3                              }
  74   2                      }
  75   1              else
  76   1                      {
  77   2                      V_SYNC = 0;     //over flow
  78   2                      NoSyncFlag = 1;
  79   2                      }
  80   1              if(SyncMode == 2 && !NoSyncFlag)
  81   1                      if(!VsyncValide())      //for SOG Vsync pulse detect
  82   1                              {
  83   2                              V_SYNC = 0;
  84   2                              H_SYNC = 0;
  85   2                              NoSyncFlag = 1;
  86   2                              }
  87   1      }
  88          /*==========================================
  89          ==========================================*/
  90          void    OutputDisplayData(void)
  91          {
  92   1              WriteIIC563(0x1f7,0xc0);        //Power up LVDS buffer
  93   1              WriteIIC563(0x1f5,0x06);        //disable Pull low LVDS pad     
  94   1      }
  95          void PanelPowerUpSequence(void)
  96          {
  97   1                      SetCaptureEnable();
  98   1                      //if(I_OPanelPowerStatus){              //only do whlie last time happened power offf
  99   1                              //Sleep(250);                           //for turn on picture garbage
 100   1      //                      BackLightOn();
 101   1                      //}else{
 102   1                      if(!I_OLCDSTBStatus)
 103   1      //                      PanelPowerOn();
 104   1                              //Sleep(PowerUpPanelTiming);
 105   1                              OutputDisplayData();
 106   1                              //Sleep(PowerUpInvTiming);
 107   1                              //BackLightOn();
 108   1                      //}
 109   1      }
 110          void DVIBandWidthDetection(void)
 111          {
 112   1              Byte DVI_Clock_Temp,temp143;
 113   1      
 114   1              WriteIIC563(0x01d,0x01);//Jacky 20050118 
 115   1      
 116   1      
C51 COMPILER V7.06   MODEHANDLE                                                            12/11/2007 11:28:43 PAGE 3   

 117   1              WriteIIC563(0x145,0x00);//Jacky 20041221 
 118   1              WriteIIC563(0x144,0x00);
 119   1              // Reset DVI PLL
 120   1              temp143 = ReadIIC563(0x143);
 121   1              WriteIIC563(0x143,temp143 |0x80);
 122   1              WriteIIC563(0x143,temp143 & 0x7f);
 123   1      
 124   1      
 125   1              
 126   1              Sleep(20);
 127   1              LocalTimer = 5;
 128   1              DVI_Clock = 0;
 129   1              do{
 130   2                      DVI_Clock_Temp = ReadIIC563(0x016);             
 131   2                      if(abs(DVI_Clock - DVI_Clock_Temp) > 2)
 132   2                      {
 133   3                              DVI_Clock = DVI_Clock_Temp;
 134   3                              LocalTimer = 5;
 135   3                      }
 136   2              }while(LocalTimer != 0);        //Jacky 20050107
 137   1              if(DVI_Clock < 20)
 138   1                      return;
 139   1              if(DVI_Clock <= 50)
 140   1              {
 141   2                      WriteIIC563(0x144,0x04);//Jacky 20041221 
 142   2                      WriteIIC563(0x145,0x03);//Jacky 20041221 
 143   2              }       
 144   1              //printf("R144 = %2bx\n\r",ReadIIC563(0x144));
 145   1              //printf("R145 = %2bx\n\r",ReadIIC563(0x145));
 146   1              // Reset DVI PLL
 147   1              temp143 = ReadIIC563(0x143);
 148   1              WriteIIC563(0x143,temp143 |0x80);               // DVI pll power off
 149   1              WriteIIC563(0x143,temp143 & 0x7f);      // DVI pll power on
 150   1      
 151   1      //UU=DVI_Clock;
 152   1              if(DVI_Clock <= 140 && DVI_Clock >= 100){
 153   2                      WriteIIC563(0x145,0x00);//Jacky 20041221 
 154   2                      WriteIIC563(0x144,0x00);
 155   2                      WriteIIC563(0x01b,0x0d);        //DVI DPLL FSM mode select  evan date 050823
 156   2      //              WriteIIC563(0x01b,0x05);        //DVI DPLL FSM mode select //joe remove2005/4/29 
 157   2                      }
 158   1              else
 159   1                      WriteIIC563(0x01b,0x00);        //DVI DPLL FSM mode select      
 160   1      
 161   1              //if(!ColordotTimer)
 162   1      //              ColordotTimer=9;
 163   1      
 164   1              //WriteIIC563(0x143,0x00);//Jacky 20041221 
 165   1      //      LED_RedOff();           //power saving  only red light joe 2005/4/23
 166   1      }
 167          /*==========================================
 168          ==========================================*/
 169          void SetInterface()
 170          {
 171   1              
 172   1      #define NT68665 1
 173   1      Word code InterfaceTab[]={0x000,0x008,0x102,0x023,0x196,0x012,0x072};
 174   1              Byte code InterfaceDat[][7]={
 175   1                                                                      #if NT68665 == 1
 176   1                                                                      {0x12,0x04,0x29,0x00,0x64,0x00,0x01},   //channel 1 sep +-
 177   1                                                                      {0x12,0x04,0x29,0x40,0x65,0x00,0x00},   //channel 1 comp +-
 178   1                                                                      {0x1a,0x04,0x29,0x40,0x65,0x7c,0x00},   //channel 1 SOG -
C51 COMPILER V7.06   MODEHANDLE                                                            12/11/2007 11:28:43 PAGE 4   

 179   1                                                                      #else
                                                                              {0x12,0x00,0x29,0x00,0x64,0x00,0x01},   //channel 1 sep +-
                                                                              {0x12,0x00,0x29,0x40,0x65,0x00,0x00},   //channel 1 comp +-
                                                                              {0x1a,0x00,0x29,0x40,0x65,0x7c,0x00},   //channel 1 SOG -
                                                                              #endif
 184   1      
 185   1                                                                      #if DVImode == DEmode
 186   1                                                                      {0x10,0x00,0x03,0x00,0x24,0x00,0x01},   //DVI +-
 187   1                                                                      #else
                                                                              {0x10,0x00,0x03,0x08,0x94,0x00,0x01},   //DVI +-
                                                                              #endif
 190   1                                                                      
 191   1                                                                      #if NT68665 == 1
 192   1                                                                      {0x12,0x00,0x29,0x00,0x64,0x00,0x01},   //channel 2 sep +-
 193   1                                                                      {0x12,0x00,0x29,0x40,0x65,0x00,0x00},   //channel 2 comp +-
 194   1                                                                      {0x1a,0x00,0x29,0xc0,0x65,0xe4,0x00},   //channel 2 SOG -
 195   1                                                                      #else
                                                                              {0x12,0x04,0x29,0x00,0x64,0x00,0x01},   //channel 2 sep +-
                                                                              {0x12,0x04,0x29,0x40,0x65,0x00,0x00},   //channel 2 comp +-
                                                                              {0x1a,0x04,0x29,0xc0,0x65,0xe4,0x00},   //channel 2 SOG -
                                                                              #endif
 200   1                                                                      
 201   1                                                                      
 202   1              };
 203   1              //Byte SourSel,temp,i;
 204   1              Byte i;
 205   1              if(!PowerDown)
 206   1              {
 207   2              #if PanelInterface == TCON_TO_RSDS
                                      WriteIIC563(0x101,0x90);
                      #endif
 210   2              #if PanelInterface == LVDS_TO_TCON
                                      WriteIIC563(0x101,0x40);
                      #endif
 213   2              #if PanelInterface == TTL_TO_TCON
 214   2                              WriteIIC563(0x101,0x00);
 215   2                              WriteIIC563(0x1f7,0x00);        //Power off LVDS buffer
 216   2              #endif
 217   2              #if PanelInterface == TCON_TO_TTL
                                      WriteIIC563(0x101,0x00);
                      #endif
 220   2              // Jacky 20040906 for LVDS power up
 221   2                      WriteIIC563(0x1f5,0x06);        //disable Pull low LVDS pad     
 222   2              #if PanelInterface == LVDS_TO_TCON
                              //WriteIIC563(0x1f7,0xc0);      //Power up LVDS buffer
                      #endif
 225   2              }
 226   1              Interlance = 0;
 227   1      
 228   1              if(SyncMode == 3){
 229   2                      WriteIIC563(0x020,0x83);// 0x83 enable interlace signal
 230   2                      WriteIIC563(0x143,0x20);        //Power up DVI Pll
 231   2                      WriteIIC563(0x146,0xf3);        //Power up DVI SCDT detect
 232   2              }
 233   1              else{           
 234   2                      WriteIIC563(0x020,0x81);
 235   2                      WriteIIC563(0x143,0xa0);        //Power down DVI Pll
 236   2              }
 237   1              for(i=0;i<7;i++)
 238   1                      {
 239   2                      if(InterfaceTab[i] == 0x102 && PowerDown)
 240   2                              WriteIIC563(InterfaceTab[i],InterfaceDat[SyncMode][i]&0x02);
C51 COMPILER V7.06   MODEHANDLE                                                            12/11/2007 11:28:43 PAGE 5   

 241   2                      //else if(InterfaceTab[i] == 0x021 && (HV_Pol & BIT_4)){
 242   2                      //              WriteIIC563(InterfaceTab[i],InterfaceDat[SyncMode][i]|BIT_7);
 243   2                      //      }
 244   2                      else
 245   2                              WriteIIC563(InterfaceTab[i],InterfaceDat[SyncMode][i]);
 246   2                      Sleep(1);
 247   2                      }
 248   1      
 249   1                      if(HV_Pol & BIT_4){
 250   2                      WriteIIC563(0x021,0x81);
 251   2                              /*if((SCID & 0x0f) == 7)        //NT68663A
 252   2                                      WriteIIC563(0x021,0xc1);
 253   2                              else                    
 254   2                                      WriteIIC563(0x021,0x81);
 255   2                              */
 256   2                              }
 257   1                      else{

⌨️ 快捷键说明

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