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

📄 t101.lst

📁 c51 LCD T100驱动程序。适用于嵌入式带LCD的设备
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.06   T101                                                                  01/12/2006 15:42:51 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE T101
OBJECT MODULE PLACED IN T101.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE T101.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 "T101Data_Sharp.h"
  14          //#include "T100Data_CPT.h"
  15          //#include "T100Data_PANASONIC.h"
  16          //#include "T100Data_PVI7.h"
  17          //#include "T100Data_PVI65.h"
  18          //#include "T100Data_LG.h"
  19          //#include "T100Data_FOX.h"
  20          //#include "T100Data_PVI8.h"
  21          
  22          
  23          #ifdef OSD_EN
  24            #include "OSDFont1218_new.h"
  25            #include "OSD1218_new.h"
  26          #endif
  27          
  28          sbit    T100_RESET      = P1^4;
  29          sbit    SCL             = P1^0;//P1^6;
  30          sbit    SDA             = P1^1;//P1^7;
  31          sbit    BL_EN           = P0^7;
  32          sbit    VIDEO_RESET     = P1^3;//P0^2; //P1^5;
  33          #if 1
  34          #define kyKEY_MSK               0x81
  35          #define KEYPORT                 P0
  36          
  37          #define kyMENU          0x08
  38          #define kyDEC           0x04
  39          #define kyINC           0x02
  40          #define kySOURCE        0x10
  41          #define kyUD_LR         0x20
  42          #define kyFULL_43       0x40
  43          #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 //*/
  54          /*sbit  kyMENU          = P0^1;
  55          sbit    kyDEC           = P0^2;
C51 COMPILER V7.06   T101                                                                  01/12/2006 15:42:51 PAGE 2   

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

 118   1              IE      = 0;    // disable all interrupt
 119   1              TMOD    = 0x11;  // Timer1 Mode 1, Timer0 Mode 1;
 120   1              //TMOD  = 0x01; // Timer0 Mode 1;
 121   1              EX0     = 0;     // disable external interrupt 0, IE[0]
 122   1              EX1             = 0;
 123   1              //ET0   = 1;    // enable bTimer 0
 124   1              //IT0   = 1;     // falling endge generate interrupt, TCON[0]
 125   1              INT0    = 1;
 126   1              IT1     = 1;     // falling endge generate interrupt, TCON[0]
 127   1              INT1    = 1;
 128   1      
 129   1      //Initial T100
 130   1              T100_RESET      = 0 ;
 131   1          VIDEO_RESET=0;
 132   1              Delay_ms(50);  //50
 133   1          VIDEO_RESET=1;
 134   1              T100_RESET      = 1 ;
 135   1              Delay_ms(20);
 136   1              InitT100();
 137   1         I2CWriteByte(0xba,0x00, 0x02);
 138   1         I2CWriteByte(0xba,0x04, 0x00);
 139   1         I2CWriteByte(0xba,0x03, 0x09);
 140   1         I2CWriteByte(0x52,0xdb, 0x20);
 141   1         I2CWriteByte(0x52,0xdc, 0x01);
 142   1      //      SetUD_LR();
 143   1              #ifdef OSD_EN
 144   1              InitOSD();
 145   1              #endif
 146   1      }//Initial
 147          
 148          void Delay_ms(uCHAR cTime)
 149          {
 150   1              uCHAR i,j;
 151   1              for(i=0;i<cTime;i++)
 152   1              {
 153   2                      for(j=0;j<250;j++)_nop_();
 154   2                      for(j=0;j<250;j++)_nop_();
 155   2                      for(j=0;j<250;j++)_nop_();
 156   2                      for(j=0;j<250;j++)_nop_();
 157   2              }//For
 158   1      }//Delay
 159          
 160          void InitT100(void)
 161          {
 162   1      //      I2CWriteTbl(TCONData);
 163   1              ClosePanel();
 164   1              I2CWriteTbl(GAMMAData);
 165   1              I2CWriteTbl(T100Init);
 166   1              I2CWriteTbl(FilterData);
 167   1         I2CWriteByte(0xba,0x00, 0x02);
 168   1         I2CWriteByte(0xba,0x04, 0x00);
 169   1         I2CWriteByte(0xba,0x03, 0x09);
 170   1              SetMode();
 171   1              SetSource();
 172   1              SetUD_LR();
 173   1      //      OpenPanel();
 174   1      }//InitT100
 175          void ClosePanel(void)
 176          {
 177   1              BL_EN=1;
 178   1              I2CWriteByte(TW100, 0xC2, I2CReadByte(TW100, 0xC2)|0x12);
 179   1              I2CWriteByte(TW100, 0x91, 0x87);//I2CReadByte(TW101, PATTERN_CTRL)|0x80);  //Enable Frame Background Colo
C51 COMPILER V7.06   T101                                                                  01/12/2006 15:42:51 PAGE 4   

             -r
 180   1      }
 181          void OpenPanel(void)
 182          {
 183   1              I2CWriteByte(TW100, 0xC2, I2CReadByte(TW100, 0xC2)&0xED);
 184   1              I2CWriteByte(TW100, 0x91, I2CReadByte(TW100, 0x91)&~0x80); //Enable Frame Background Color
 185   1              Delay_ms(10);
 186   1              BL_EN=0;
 187   1      }
 188          void DetectNTSC_PAL(void)
 189          {
 190   1              static int wBuff=0x000;
 191   1              uCHAR cBuff[2];
 192   1              Delay_ms(100);
 193   1          wBuff+=1;
 194   1                      if(wBuff==0x01)
 195   1                      {
 196   2                              wBuff=0x00;
 197   2                              for(cBuff[1]=0;cBuff[1]<1;cBuff[1]++)
 198   2                              {
 199   3                                  cBuff[0] = I2CReadByte(TW100, 0x5A)&0xe0;
 200   3                                  if(cBuff[0]==cStandard)break;
 201   3      //                              Delay_ms(10);
 202   3                                  if(cBuff[0]>=0x40)
 203   3                                  {
 204   4                                      ClosePanel();
 205   4                                      return;
 206   4                                  }     //*/
 207   3                              }
 208   2                 #ifdef ESS
 209   2                              if((bNTSC_PAL)&&(cSource==6))
 210   2                              {
 211   3                                 cBuff[1] = I2CReadByte(TW100, 0x82);
 212   3                                 if(cBuff[1]>0x90)I2CWriteByte(TW100+2, 0xd3,0x06);
 213   3                                 else if(cBuff[1]<0x78)I2CWriteByte(TW100+2, 0xd3,0x04);
 214   3                              }
 215   2                              if((!bNTSC_PAL)&&(cSource==6))
 216   2                              {
 217   3                                 cBuff[1] = I2CReadByte(TW100, 0x82);
 218   3                                 if(cBuff[1]>0xb0)I2CWriteByte(TW100+2, 0xd3,0x0b);
 219   3                                 else if(cBuff[1]<0x78)I2CWriteByte(TW100+2, 0xd3,0x04);
 220   3                              }
 221   2                 #endif
 222   2                              if(cBuff[0]!=cStandard)
 223   2                              {
 224   3                                  ClosePanel();
 225   3                                  cStandard=cBuff[0];
 226   3                                  if(cStandard)
 227   3                                  {
 228   4                                      bNTSC_PAL       = 0;
 229   4                                  }
 230   3                                 else bNTSC_PAL       = 1;
 231   3                                 I2CWriteByte(TW100,0x0F,0x70);
 232   3                                 I2CWriteByte(TW100+4,0x3f,0x01);
 233   3                              SetMode();
 234   3                             SetSource();
 235   3       //                      Delay_ms(25);
 236   3                             I2CWriteByte(TW100+4,0x3f,0x00);
 237   3                             OpenPanel();
 238   3       //                          I2CWriteByte(TW100,0x0F,0x00);
 239   3                             Delay_ms(10);
 240   3                          }
C51 COMPILER V7.06   T101                                                                  01/12/2006 15:42:51 PAGE 5   

 241   2                  else OpenPanel();
 242   2                      }
 243   1      
 244   1      }
 245          void SetSource(void)
 246          {
 247   1              switch(cSource)
 248   1              {
 249   2                      case 2: I2CWriteTbl(CVBS2Data);
 250   2                                      break;
 251   2                      case 3: I2CWriteTbl(CVBS3Data);
 252   2                                      break;
 253   2                      case 4: I2CWriteTbl(CVBS4Data);
 254   2                                      break;
 255   2                      case 5: I2CWriteTbl(SVIDEOData);
 256   2                                      break;
 257   2                      case 6: I2CWriteTbl(ITU656Data);
 258   2              }
 259   1      }
 260          void SetMode(void)//N/P,Full/4:3
 261          {
 262   1      // uCHAR i;

⌨️ 快捷键说明

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