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

📄 t100.lst

📁 #include "REG51.H" #include <intrins.h> #include "Common.h" //#include "Remote.h" #def
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.06   T100                                                                  07/19/2005 18:02:54 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 "Common.h"
   4          //#include "Remote.h"
   5          
   6          
   7          #define OSD_EN
   8          //typedef unsigned char  uCHAR;
   9          
  10          //#include "T100Data_A.h"
  11          //#include "T100Data_PA.h"
  12          //#include "T100Data_AU.h"
  13          //#include "T100Data_CPT.h"
  14          //#include "T100Data_PANASONIC.h"
  15          //#include "T100Data_PVI7.h"
  16          //#include "T100Data_LG.h"
  17          //#include "T100Data_FOX.h"
  18          #include "T100Data_PVI8.h"
  19          
  20          
  21          #ifdef OSD_EN
  22            #include "OSDFont1218_new.h"
  23            #include "OSD1218_new.h"
  24          #endif
  25          
  26          sbit    T100_RESET      = P1^4;
  27          sbit    SCL             = P1^6;//P1^6;
  28          sbit    SDA             = P1^7;//P1^7;
  29          sbit    BL_EN           = P0^7;
  30          #if 1
  31          #define kyKEY_MSK               0x81
  32          #define KEYPORT                 P0
  33          
  34          #define kyMENU          0x08
  35          #define kyDEC           0x04
  36          #define kyINC           0x02
  37          #define kySOURCE        0x10
  38          #define kyUD_LR         0x20
  39          #define kyFULL_43       0x40
  40          #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 //*/
  51          /*sbit  kyMENU          = P0^1;
  52          sbit    kyDEC           = P0^2;
  53          sbit    kyINC           = P0^3;
  54          sbit    kySOURCE        = P0^4;
  55          sbit    kyUD_LR         = P0^5;
C51 COMPILER V7.06   T100                                                                  07/19/2005 18:02:54 PAGE 2   

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

 118   1              EX0     = 0;     // disable external interrupt 0, IE[0]
 119   1              EX1             = 0;
 120   1              //ET0   = 1;    // enable bTimer 0
 121   1              //IT0   = 1;     // falling endge generate interrupt, TCON[0]
 122   1              INT0    = 1;
 123   1              IT1     = 1;     // falling endge generate interrupt, TCON[0]
 124   1              INT1    = 1;
 125   1      
 126   1      //Initial T100
 127   1              T100_RESET      = 0 ;
 128   1              Delay_ms(50);  //50
 129   1              T100_RESET      = 1 ;
 130   1              Delay_ms(20);
 131   1              InitT100();
 132   1      //      SetUD_LR();
 133   1              #ifdef OSD_EN
 134   1              InitOSD();
 135   1              #endif
 136   1      }//Initial
 137          
 138          void Delay_ms(uCHAR cTime)
 139          {
 140   1              uCHAR i,j;
 141   1              for(i=0;i<cTime;i++)
 142   1              {
 143   2                      for(j=0;j<250;j++)_nop_();
 144   2                      for(j=0;j<250;j++)_nop_();
 145   2                      for(j=0;j<250;j++)_nop_();
 146   2                      for(j=0;j<250;j++)_nop_();
 147   2              }//For
 148   1      }//Delay
 149          
 150          void InitT100(void)
 151          {
 152   1              I2CWriteTbl(TCONData);
 153   1              ClosePanel();
 154   1              I2CWriteTbl(GAMMAData);
 155   1              I2CWriteTbl(T100Init);
 156   1              I2CWriteTbl(FilterData);
 157   1              SetMode();
 158   1              SetSource();
 159   1              SetUD_LR();
 160   1      //      OpenPanel();
 161   1      }//InitT100
 162          void ClosePanel(void)
 163          {
 164   1              BL_EN=1;
 165   1              I2CWriteByte(TW100, 0xC2, I2CReadByte(TW100, 0xC2)|0x12);
 166   1              I2CWriteByte(TW100, 0x91, 0x87);//I2CReadByte(TW101, PATTERN_CTRL)|0x80);  //Enable Frame Background Colo
             -r
 167   1      }
 168          void OpenPanel(void)
 169          {
 170   1              I2CWriteByte(TW100, 0xC2, I2CReadByte(TW100, 0xC2)&0xED);
 171   1              I2CWriteByte(TW100, 0x91, I2CReadByte(TW100, 0x91)&~0x80); //Enable Frame Background Color
 172   1              Delay_ms(10);
 173   1              BL_EN=0;
 174   1      }
 175          void DetectNTSC_PAL(void)
 176          {
 177   1              static int wBuff=0x000;
 178   1              uCHAR cBuff[2];
C51 COMPILER V7.06   T100                                                                  07/19/2005 18:02:54 PAGE 4   

 179   1          wBuff+=1;
 180   1                      if(wBuff==0x01)
 181   1                      {
 182   2                              wBuff=0x00;
 183   2                              for(cBuff[1]=0;cBuff[1]<1;cBuff[1]++)
 184   2                              {
 185   3                                  cBuff[0] = I2CReadByte(TW100, 0x5A)&0xe0;
 186   3                                  if(cBuff[0]==cStandard)break;
 187   3      //                              Delay_ms(10);
 188   3                                  if(cBuff[0]>=0x40)
 189   3                                  {
 190   4                                      ClosePanel();
 191   4                                      return;
 192   4                                  }     //*/
 193   3                              }
 194   2                 #ifdef ESS
 195   2                              if((bNTSC_PAL)&&(cSource==6))
 196   2                              {
 197   3                                 cBuff[1] = I2CReadByte(TW100, 0x82);
 198   3                                 if(cBuff[1]>0x90)I2CWriteByte(TW100+2, 0xd3,0x06);
 199   3                                 else if(cBuff[1]<0x78)I2CWriteByte(TW100+2, 0xd3,0x04);
 200   3                              }
 201   2                              if((!bNTSC_PAL)&&(cSource==6))
 202   2                              {
 203   3                                 cBuff[1] = I2CReadByte(TW100, 0x82);
 204   3                                 if(cBuff[1]>0xb0)I2CWriteByte(TW100+2, 0xd3,0x0b);
 205   3                                 else if(cBuff[1]<0x78)I2CWriteByte(TW100+2, 0xd3,0x04);
 206   3                              }
 207   2                 #endif
 208   2                              if(cBuff[0]!=cStandard)
 209   2                              {
 210   3                                  ClosePanel();
 211   3                                  cStandard=cBuff[0];
 212   3                                  if(cStandard)
 213   3                                  {
 214   4                                      bNTSC_PAL       = 0;
 215   4                                  }
 216   3                                 else bNTSC_PAL       = 1;
 217   3                                 I2CWriteByte(TW100,0x0F,0x70);
 218   3                                 I2CWriteByte(TW100+4,0x3f,0x01);
 219   3                              SetMode();
 220   3                             SetSource();
 221   3       //                      Delay_ms(25);
 222   3                             I2CWriteByte(TW100+4,0x3f,0x00);
 223   3                             OpenPanel();
 224   3       //                          I2CWriteByte(TW100,0x0F,0x00);
 225   3                             Delay_ms(10);
 226   3                          }
 227   2                  else OpenPanel();
 228   2                      }
 229   1      
 230   1      }
 231          void SetSource(void)
 232          {
 233   1              switch(cSource)
 234   1              {
 235   2                      case 2: I2CWriteTbl(CVBS2Data);
 236   2                                      break;
 237   2                      case 3: I2CWriteTbl(CVBS3Data);
 238   2                                      break;
 239   2                      case 4: I2CWriteTbl(CVBS4Data);
 240   2                                      break;
C51 COMPILER V7.06   T100                                                                  07/19/2005 18:02:54 PAGE 5   

 241   2                      case 5: I2CWriteTbl(SVIDEOData);
 242   2                                      break;
 243   2                      case 6: I2CWriteTbl(ITU656Data);
 244   2              }
 245   1      }
 246          void SetMode(void)//N/P,Full/4:3
 247          {
 248   1      // uCHAR i;
 249   1              if(bNTSC_PAL)//NTSC&&FULL
 250   1              {
 251   2                      I2CWriteTbl(NTSC_FULLData);
 252   2                      if((!bFULL_43))//NTSC&&4:3
 253   2                              I2CWriteTbl(NTSC_43Data);
 254   2                      switch(c60HZ_Mode)
 255   2                      {
 256   3                              case 1: I2CWriteTbl(NTSC443Data);
 257   3                                      break;

⌨️ 快捷键说明

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