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

📄 modehandle.lst

📁 NT68521源代码
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.50   MODEHANDLE                                                            03/18/2008 22:04:55 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MODEHANDLE
OBJECT MODULE PLACED IN .\BIN\ModeHandle.obj
COMPILER INVOKED BY: D:\设计软件\Keil\C51\BIN\C51.EXE SRC\ModeHandle.C BROWSE DEBUG OBJECTEXTEND PRINT(.\LST\ModeHandle.
                    -lst) OBJECT(.\BIN\ModeHandle.obj)

line level    source

   1          #include "F63REG.H"
   2          #include "stdio.h"
   3          #include "RAM.H"
   4          #include "ModeHandle.H"
   5          #include "MyDef.H"
   6          #include "UserAdj.H"
   7          #include "IIC.H"
   8          #include "Scaler.H"
   9          #include "MCU.H"
  10          #include "PANEL.H"
  11          #include "AutoAdj.H"
  12          #include "OSD.H"
  13          #include "ROM_MAP.H"
  14          #include "IRCode.H"
  15          
  16          #define MoveAltOSD
  17          
  18          void GetCounter(void)
  19          {
  20   1      unsigned char value,temp;
  21   1      unsigned long Freq;
  22   1      // VGA/DVI Connector
  23   1      // Connected
  24   1              value = INTHV_FLG & 0x47;               //V sync
  25   1              if(value != 0){
  26   2                      INTHV_FLG = 0xc7;
  27   2                      flag1 |= BIT_0;
  28   2      //bit4==>H_pol, bit5==>V_pol
  29   2                      HV_Pol = 0;
  30   2                      value = HVI_REG & 0x03;
  31   2                      if((value & BIT_0) != 0)
  32   2                              HV_Pol |= BIT_5;
  33   2                      if((value & BIT_1) != 0)
  34   2                              HV_Pol |= BIT_4;
  35   2      //H_SYNC=xx.xKHz
  36   2                      temp = HCNT_LB;
  37   2                      value = HCNT_HB;
  38   2                      if((value & BIT_7) != 0){
  39   3                              H_SYNC = 0;
  40   3                              flag1 &= ~BIT_0;
  41   3                      }
  42   2                      else{
  43   3                              H_SYNC = value & 0x0f;
  44   3                              H_SYNC <<= 8;
  45   3                              H_SYNC = H_SYNC | temp;
  46   3                              if((H_SYNC == 0x0fff)||(H_SYNC == 0)){
  47   4                                      H_SYNC = 0;
  48   4                                      flag1 &= ~BIT_0;
  49   4                              }
  50   3                              else{
  51   4                                  Freq = (unsigned long)H_SYNC * 100000;
  52   4                                  H_SYNC = (unsigned int)(((Freq / 32768) + 5) / 10);
  53   4                              }
  54   3                      }
C51 COMPILER V7.50   MODEHANDLE                                                            03/18/2008 22:04:55 PAGE 2   

  55   2      //V_SYNC=xx.xHz
  56   2                      temp = VCNT_LB;
  57   2                      value = VCNT_HB;
  58   2                      if((value & BIT_7) != 0){
  59   3                              V_SYNC = 0;
  60   3                              flag1 &= ~BIT_0;
  61   3                      }
  62   2                      else{
  63   3                              V_SYNC = value & 0x3f;
  64   3                              V_SYNC <<= 8;
  65   3                              V_SYNC = V_SYNC | temp;
  66   3                              if((V_SYNC == 0x3fff)||(V_SYNC == 0)){
  67   4                                      V_SYNC = 0;
  68   4                                      flag1 &= ~BIT_0;
  69   4                              }
  70   3                              else{
  71   4                                  Freq = (unsigned long)12500000 / V_SYNC + 5;
  72   4                                      V_SYNC = Freq / 10;
  73   4                              }
  74   3                      }
  75   2              }
  76   1              else{
  77   2                      if((MUTE_CTRL & 0x30) != 0x30){
  78   3                              flag1 &= ~BIT_0;
  79   3                      }
  80   2              }
  81   1      }
  82          
  83          void CheckFreq(void)
  84          {
  85   1      //      Timer4 = 0;
  86   1              CLRWDT = 0x55;
  87   1              Timer3 = 100;
  88   1              do{
  89   2                      GetCounter();
  90   2                      if(((flag1 & BIT_0)==0)||(Timer3 == 0)){
  91   3                              NoSync();
  92   3                              return;
  93   3                      }
  94   2                      else{
  95   3                              if((flag1 & BIT_3) != 0){
  96   4                                      if((SyncMode == 2) && ((flag2 & BIT_4) == 0)){
  97   5                                              flag1 &= ~BIT_0;
  98   5                                              flag2 |= BIT_4;
  99   5                                              return;
 100   5                                      }
 101   4                                      ScalerPowerUp();
 102   4                              }
 103   3                      }
 104   2                      if(HV_Pol_Temp != HV_Pol){
 105   3                              BackLightOff();
 106   3                              ForceToBackground(0);   //Set fource to background
 107   3                              HV_Pol_Temp = HV_Pol;
 108   3                              Timer4 = SyncStabTime;
 109   3                              OSD_OFF();
 110   3                              flag1 |= BIT_4;
 111   3                              if((flag3 & BIT_2) != 0x00)
 112   3                                      printf("HV_Pol Change\r\n");
 113   3                      }
 114   2                      if(H_SYNC_Temp > H_SYNC){
 115   3                              if((H_SYNC_Temp - H_SYNC) > 10){
 116   4                                      BackLightOff();
C51 COMPILER V7.50   MODEHANDLE                                                            03/18/2008 22:04:55 PAGE 3   

 117   4                                      ForceToBackground(0);   //Set fource to background
 118   4                                      H_SYNC_Temp = H_SYNC;
 119   4                                      Timer4 = SyncStabTime;
 120   4                                      OSD_OFF();
 121   4                                      flag1 |= BIT_4;
 122   4                                      if((flag3 & BIT_2) != 0x00)
 123   4                                              printf("H_SYNC Change %d\r\n",(unsigned short)H_SYNC);
 124   4                              }
 125   3                      }
 126   2                      else{
 127   3                              if((H_SYNC - H_SYNC_Temp) > 10){
 128   4                                      BackLightOff();
 129   4                                      ForceToBackground(0);   //Set fource to background
 130   4                                      H_SYNC_Temp = H_SYNC;
 131   4                                      Timer4 = SyncStabTime;
 132   4                                      OSD_OFF();
 133   4                                      flag1 |= BIT_4;
 134   4                                      if((flag3 & BIT_2) != 0x00)
 135   4                                              printf("H_SYNC Change %d\r\n",(unsigned short)H_SYNC);
 136   4                              }
 137   3                      }
 138   2                      if(V_SYNC_Temp > V_SYNC){
 139   3                              if((V_SYNC_Temp - V_SYNC) > 10){
 140   4                                      BackLightOff();
 141   4                                      ForceToBackground(0);   //Set fource to background
 142   4                                      V_SYNC_Temp = V_SYNC;
 143   4                                      Timer4 = SyncStabTime;
 144   4                                      OSD_OFF();
 145   4                                      flag1 |= BIT_4;
 146   4                                      if((flag3 & BIT_2) != 0x00)
 147   4                                              printf("V_SYNC Change %d\r\n",(unsigned short)V_SYNC);
 148   4                              }
 149   3                      }
 150   2                      else{
 151   3                              if((V_SYNC - V_SYNC_Temp) > 10){
 152   4                                      BackLightOff();
 153   4                                      ForceToBackground(0);   //Set fource to background
 154   4                                      V_SYNC_Temp = V_SYNC;
 155   4                                      Timer4 = SyncStabTime;
 156   4                                      OSD_OFF();
 157   4                                      flag1 |= BIT_4;
 158   4                                      if((flag3 & BIT_2) != 0x00)
 159   4                                              printf("V_SYNC Change %d\r\n",(unsigned short)V_SYNC);
 160   4                              }
 161   3                      }
 162   2              }while(Timer4 != 0);
 163   1              if((flag1 & BIT_4) != 0){
 164   2                      flag1 &= ~BIT_4;
 165   2                      GetMode();
 166   2                      SetMinMax();
 167   2                      CheckModeChange();
 168   2                      if(H_SYNC_Temp == 0xffff){
 169   3                              return;
 170   3                      }
 171   2                      if((flag3 & BIT_1) == 0){
 172   3                              SetDisplayNormal();
 173   3                              if(Read24C16(0xdb) != 0){
 174   4      //                              if((PortC & BIT_0) == 0){
 175   4      //                                      Sleep(PowerUpInvTiming);
 176   4                                              BackLightOn();
 177   4      //                              }
 178   4                                      AutoTune();
C51 COMPILER V7.50   MODEHANDLE                                                            03/18/2008 22:04:55 PAGE 4   

 179   4                              }
 180   3                              ShowInputSource();
 181   3      //                      if(PowerStatus != 0x80)
 182   3                                      SetVolume();
 183   3                      }
 184   2                      else{
 185   3                              ShowOutOfRange();
 186   3                              BackLightOn();
 187   3                      }
 188   2      //              if((PortC & BIT_0) == 0){
 189   2      //                      Sleep(PowerUpInvTiming);
 190   2      //                      BackLightOn();
 191   2      //              }
 192   2              }
 193   1      #ifdef MoveAltOSD
 194   1              else{
 195   2                      if(((flag3 & BIT_1) != 0)&&(OutOfRangeTimer < 400)&&(OutOfRangeTimer > 0)){
 196   3                              ShowOutOfRange();
 197   3                      }
 198   2              }
 199   1      #endif
 200   1      }
 201          
 202          void GetMode(void)
 203          {
 204   1      unsigned char ch;
 205   1      unsigned short i,j,value;
 206   1      #if 0
                      ch = ReadIIC_HW(Scaler_Addr,0x87);
                      if((ch & BIT_4) == 0){
                              flag3 &= ~BIT_6;
                              WriteIIC_HW(Scaler_Addr,0x13,0x00);
                              if((flag3 & BIT_2) != 0x00){
                                      printf("Non-Interlace mode\r\n");
                              }
                      }
                      else{
                              flag3 |= BIT_6;
                              WriteIIC_HW(Scaler_Addr,0x13,0x31);
                              if((flag3 & BIT_2) != 0x00){
                                      printf("Interlace mode\r\n");
                              }
                      }
              #endif
 223   1              ModePoint = 0;
 224   1              VTotal = (unsigned short)(((unsigned long)H_SYNC * 1000)/ V_SYNC);
 225   1              for(j=0; j< ModeButtom; j=j+4){
 226   2                      i = j;
 227   2                      ch = Read24C16(i);      //check h_sync
 228   2                      value = ch;
 229   2                      value = value << 8;
 230   2                      i++;
 231   2                      ch = Read24C16(i);
 232   2                      value = value + ch;
 233   2                      i++;
 234   2                      if((value < H_SYNC + 10)&&(value > H_SYNC - 10)){
 235   3                              ch = Read24C16(i);      // check hv_pol
 236   3                              value = ch & 0x0f;
 237   3                              value = value << 8;
 238   3                              ch = ch & 0x30;
 239   3                              i++;
 240   3                              if(ch == HV_Pol){
C51 COMPILER V7.50   MODEHANDLE                                                            03/18/2008 22:04:55 PAGE 5   

 241   4                                      ch = Read24C16(i);      // check v_sync
 242   4                                      value = value + ch;
 243   4                                      i++;
 244   4                                      if((value < V_SYNC + 10)&&(value > V_SYNC - 10)){
 245   5                                              if((flag3 & BIT_2) != 0x00){
 246   6                                                      printf("Mode %d\r\n",(unsigned short)ModePoint);
 247   6                                              }
 248   5                                              break;
 249   5                                      }
 250   4                              }

⌨️ 快捷键说明

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