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

📄 t100.lst

📁 car dvd tft t100 source
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.06   T100                                                                  03/03/2005 13:09:38 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE T100
OBJECT MODULE PLACED IN T100.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE T100.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "REG51.H"
   2          #include <intrins.h>
   3          #include "Remote.h"
   4          
   5          
   6          #define OSD_EN
   7          typedef unsigned char  uCHAR;
   8          
   9          //#include "T100Data_A.h"
  10          //#include "T100Data_PA.h"
  11          #include "T100Data_AU.h"
  12          //#include "T100Data_LG.h"
  13          //#include "T100Data_FOX.h"
  14          
  15          
  16          #ifdef OSD_EN
  17            #include "OSDFont1218_new.h"
  18            #include "OSD1218_new.h"
  19          #endif
  20          
  21          sbit    T100_RESET      = P1^4;
  22          sbit    SCL             = P1^6;
  23          sbit    SDA             = P1^7;
  24          sbit    BL_EN           = P0^7;
  25          #if 1
  26          #define kyKEY_MSK               0x81
  27          #define KEYPORT                 P0
  28          
  29          #define kyMENU          0x08
  30          #define kyDEC           0x04
  31          #define kyINC           0x02
  32          #define kySOURCE        0x10
  33          #define kyUD_LR         0x20
  34          #define kyFULL_43       0x40
  35          #else
              #define kyKEY_MSK               0xc0
              #define KEYPORT                 P2
              
              #define kyMENU          0x02
              #define kyDEC           0x08
              #define kyINC           0x04
              #define kySOURCE        0x10
              #define kyUD_LR         0x20
              #define kyFULL_43       0x01//0x40
              #endif
  46          /*sbit  kyMENU          = P0^1;
  47          sbit    kyDEC           = P0^2;
  48          sbit    kyINC           = P0^3;
  49          sbit    kySOURCE        = P0^4;
  50          sbit    kyUD_LR         = P0^5;
  51          sbit    kyFULL_43       = P0^6;//*/
  52          
  53          bit bNTSC_PAL   = 0;      //0:PAL               1:NTSC
  54          bit bFULL_43    = 1;      //0:4:3               1:FULL
  55          bit bUP_DOWN    = 1;      //0:Down to Up        1:Up to Down
C51 COMPILER V7.06   T100                                                                  03/03/2005 13:09:38 PAGE 2   

  56          bit bLEFT_RIGHT = 1;      //0:Right to Left     1:Left to Right
  57          uCHAR cSource   = 3;      //2-4:CVBS2-4         5:S-Video       6:ITU656
  58          uCHAR cStandard = 0xff;   //0:PAL               4:NTSC
  59          uCHAR cKey_Curr,cKey_Pre;
  60          void Initial(void);
  61          void Delay_ms(uCHAR);
  62          void InitT100(void);
  63          void ClosePanel(void);
  64          void OpenPanel(void);
  65          void DetectNTSC_PAL(void);
  66          void SetSource(void);
  67          void SetMode(void);
  68          void SetUD_LR(void);
  69          void I2CWriteTbl(char*);
  70          uCHAR I2CReadByte(uCHAR, uCHAR);
  71          uCHAR I2CWriteByte(uCHAR,uCHAR,uCHAR);
  72          void kyKeypad(void);
  73          #ifdef OSD_EN
  74          void InitOSD(void);
  75          void  OSDDisable(void);
  76          void OSDEnable(void);
  77          void OSDCtrl(char cDir);
  78          uCHAR cLanguage=0; //0:English 1:French 2:German 3:Spanish 4:Japenese 5:Russian
  79          uCHAR cOSDFunc=1;      //0:OSD Off 1:Bright 2:Color  3:Screen
  80          uCHAR cBright,cColor=COLOR;
  81          
  82          #endif
  83          void main(void)
  84          {
  85   1              Initial();
  86   1              while(1)
  87   1              {
  88   2                      kyKeypad();
  89   2                      DetectNTSC_PAL();
  90   2                      #ifdef OSD_EN
  91   2                              OSDEnable();
  92   2                      #endif
  93   2      
  94   2      //                OSDEnable();
  95   2              }//while
  96   1      }//main
  97          
  98          void Initial(void)
  99          {
 100   1      //Initial 8051
 101   1              P0=0xff;
 102   1              P1=0xff;
 103   1              P2=0xff;
 104   1              P3=0xff;
 105   1      //8051Register Set
 106   1              IE      = 0;    // disable all interrupt
 107   1              TMOD    = 0x11;  // Timer1 Mode 1, Timer0 Mode 1;
 108   1              //TMOD  = 0x01; // Timer0 Mode 1;
 109   1              EX0     = 0;     // disable external interrupt 0, IE[0]
 110   1              EX1             = 0;
 111   1              //ET0   = 1;    // enable bTimer 0
 112   1              //IT0   = 1;     // falling endge generate interrupt, TCON[0]
 113   1              INT0    = 1;
 114   1              IT1     = 1;     // falling endge generate interrupt, TCON[0]
 115   1              INT1    = 1;
 116   1      
 117   1      //Initial T100
C51 COMPILER V7.06   T100                                                                  03/03/2005 13:09:38 PAGE 3   

 118   1              T100_RESET      = 0 ;
 119   1              Delay_ms(50);
 120   1              T100_RESET      = 1 ;
 121   1              Delay_ms(20);
 122   1              InitT100();
 123   1      //      SetUD_LR();
 124   1              #ifdef OSD_EN
 125   1              InitOSD();
 126   1              #endif
 127   1      }//Initial
 128          
 129          void Delay_ms(uCHAR cTime)
 130          {
 131   1              uCHAR i,j;
 132   1              for(i=0;i<cTime;i++)
 133   1              {
 134   2                      for(j=0;j<250;j++)_nop_();
 135   2                      for(j=0;j<250;j++)_nop_();
 136   2                      for(j=0;j<250;j++)_nop_();
 137   2                      for(j=0;j<250;j++)_nop_();
 138   2              }//For
 139   1      }//Delay
 140          
 141          void InitT100(void)
 142          {
 143   1      #if 1
 144   1              I2CWriteTbl(TCONData);
 145   1              ClosePanel();
 146   1              I2CWriteTbl(T100Init);
 147   1              I2CWriteTbl(GAMMAData);
 148   1              I2CWriteTbl(FilterData);
 149   1              SetMode();
 150   1              SetSource();
 151   1              SetUD_LR();
 152   1      #else
                      uCHAR cTemp1,cAddr;
                      for(cTemp1=0;cTemp1<PAGE2_E;cTemp1++)
                      {
                                                              if(cTemp1<PAGE1_S)cAddr=0x50;
                                                              else if(cTemp1<PAGE2_S)cAddr=0x52;
                                                              else cAddr=0x54;
                                                              I2CWriteByte(cAddr,RegisterMap[cTemp1],T100CVBS[cTemp1]);
                      }
              #endif
 162   1      //      OpenPanel();
 163   1      }//InitT100
 164          void ClosePanel(void)
 165          {
 166   1              BL_EN=1;
 167   1              I2CWriteByte(TW100, 0xC2, I2CReadByte(TW100, 0xC2)|0x12);
 168   1              I2CWriteByte(TW100, 0x91, 0x87);//I2CReadByte(TW101, PATTERN_CTRL)|0x80);  //Enable Frame Background Colo
             -r
 169   1      }
 170          void OpenPanel(void)
 171          {
 172   1              I2CWriteByte(TW100, 0xC2, I2CReadByte(TW100, 0xC2)&0xED);
 173   1              I2CWriteByte(TW100, 0x91, I2CReadByte(TW100, 0x91)&~0x80); //Enable Frame Background Color
 174   1              Delay_ms(10);
 175   1              BL_EN=0;
 176   1      }
 177          void DetectNTSC_PAL(void)
 178          {
C51 COMPILER V7.06   T100                                                                  03/03/2005 13:09:38 PAGE 4   

 179   1              static int wBuff=0x000;
 180   1              uCHAR cBuff[2];
 181   1          wBuff+=1;
 182   1                      if(wBuff==0x01)
 183   1                      {
 184   2                              wBuff=0x00;
 185   2                              for(cBuff[1]=0;cBuff[1]<1;cBuff[1]++)
 186   2                              {
 187   3                                  cBuff[0] = I2CReadByte(TW100, 0x5A)&0xe0;
 188   3                                  if(cBuff[0]==cStandard)break;
 189   3      //                              Delay_ms(10);
 190   3                                  if(cBuff[0]>=0x40)
 191   3                                  {
 192   4                                      ClosePanel();
 193   4                                      return;
 194   4                                  }     //*/
 195   3                              }
 196   2                 #ifdef ESS
 197   2                              if((bNTSC_PAL)&&(cSource==6))
 198   2                              {
 199   3                                 cBuff[1] = I2CReadByte(TW100, 0x82);
 200   3                                 if(cBuff[1]>0x90)I2CWriteByte(TW100+2, 0xd3,0x06);
 201   3                                 else if(cBuff[1]<0x78)I2CWriteByte(TW100+2, 0xd3,0x04);
 202   3                              }
 203   2                              if((!bNTSC_PAL)&&(cSource==6))
 204   2                              {
 205   3                                 cBuff[1] = I2CReadByte(TW100, 0x82);
 206   3                                 if(cBuff[1]>0xb0)I2CWriteByte(TW100+2, 0xd3,0x0b);
 207   3                                 else if(cBuff[1]<0x78)I2CWriteByte(TW100+2, 0xd3,0x04);
 208   3                              }
 209   2                 #endif
 210   2                              if(cBuff[0]!=cStandard)
 211   2                      {
 212   3                                                      ClosePanel();
 213   3                                  cStandard=cBuff[0];
 214   3                                                      if(cStandard)
 215   3                                                      {
 216   4                                                              bNTSC_PAL       = 0;
 217   4                                                      }
 218   3                                                      else bNTSC_PAL  = 1;
 219   3              T100_RESET      = 0 ;
 220   3              Delay_ms(30);
 221   3              T100_RESET      = 1 ;
 222   3              Delay_ms(5);
 223   3              cOSDFunc=(cOSDFunc+1)%4;
 224   3              I2CWriteTbl(TCONData);
 225   3              ClosePanel();
 226   3      //      InitT100();//*/
 227   3              I2CWriteTbl(T100Init);
 228   3              I2CWriteTbl(GAMMAData);
 229   3              I2CWriteTbl(FilterData);
 230   3              SetMode();
 231   3              SetSource();
 232   3              SetUD_LR();      //*/
 233   3      //                                              SetMode();
 234   3      Delay_ms(255);
 235   3                                                      OpenPanel();
 236   3                   Delay_ms(10);                                   
 237   3                  }
 238   2                  else OpenPanel();
 239   2                      }
 240   1      
C51 COMPILER V7.06   T100                                                                  03/03/2005 13:09:38 PAGE 5   

 241   1      }
 242          void SetSource(void)
 243          {
 244   1              switch(cSource)
 245   1              {
 246   2                      case 2: I2CWriteTbl(CVBS2Data);
 247   2                                      break;
 248   2                      case 3: I2CWriteTbl(CVBS3Data);
 249   2                                      break;
 250   2                      case 4: I2CWriteTbl(CVBS4Data);
 251   2                                      break;
 252   2                      case 5: I2CWriteTbl(SVIDEOData);
 253   2                                      break;
 254   2                      case 6: I2CWriteTbl(ITU656Data);
 255   2              }
 256   1      }
 257          void SetMode(void)//N/P,Full/4:3
 258          {
 259   1              if(bNTSC_PAL)//NTSC&&FULL
 260   1              {
 261   2                      I2CWriteTbl(NTSC_FULLData);
 262   2                      if((!bFULL_43))//NTSC&&4:3
 263   2                              I2CWriteTbl(NTSC_43Data);
 264   2                      if(cSource!=5)I2CWriteByte(TW100+4,0x00,0x00);
 265   2              }
 266   1              else//PAL&&FULL
 267   1              {
 268   2                      I2CWriteTbl(PAL_FULLData);
 269   2                      if((!bFULL_43))//PAL&&4:3
 270   2                              I2CWriteTbl(PAL_43Data);
 271   2                      if(cSource!=5)I2CWriteByte(TW100+4,0x00,0x32);//PAL-N 0x36
 272   2              }
 273   1                      if(cSource==5)I2CWriteByte(TW100+4,0x0f,0x01);
 274   1      }
 275          void SetUD_LR(void)
 276          {
 277   1              uCHAR cTemp;
 278   1              if(bUP_DOWN&bLEFT_RIGHT)
 279   1              {
 280   2                      cTemp=UD_LR;
 281   2              }
 282   1              else if(bUP_DOWN&!bLEFT_RIGHT)
 283   1              {
 284   2                      cTemp=UD_RL;
 285   2              }
 286   1              else if(!bUP_DOWN&bLEFT_RIGHT)
 287   1              {
 288   2                      cTemp=DU_LR;
 289   2              }
 290   1              else if(!bUP_DOWN&!bLEFT_RIGHT)
 291   1              {
 292   2                      cTemp=DU_RL;
 293   2              }
 294   1              I2CWriteByte(TW100,0xe1,cTemp);
 295   1      }
 296          
 297          #define Set_SDA_High  SDA = 1,SDA = 1

⌨️ 快捷键说明

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