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

📄 t103_util.lst

📁 terawin的t103 LCD驱动程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.50   T103_UTIL                                                             10/30/2006 16:14:42 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE T103_UTIL
OBJECT MODULE PLACED IN .\Obj\T103_Util.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Source\T103\T103_Util.c LARGE OPTIMIZE(6,SPEED) BROWSE INCDIR(.\Include\;.\
                    -Source\;.\Include\Panel\;.\Include\GammaTable\;.\Include\tuner\) DEFINE(T103) DEBUG OBJECTEXTEND PRINT(.\T103_Util.lst) 
                    -OBJECT(.\Obj\T103_Util.obj)

line level    source

   1          /****************************************************************************
   2          * File: T803_Util.c                                                         *
   3          * Description: Define T803 chip control policy                              *
   4          * History:     2005/08/12                                                   *
   5          *                                                                           *
   6          *               Copyright 2005 (c) Terawins Inc.                            *
   7          ****************************************************************************/
   8          
   9          /****************************************************************************
  10          *                               Include File                                *
  11          ****************************************************************************/
  12          
  13          #include "reg51.h"
  14          #include "math.h"
  15          #include "common.h"
  16          #include "struct.h"
  17          #include "system.h"
  18          #include "panel.h"
  19          #include "Resolution.h"
  20          #include "SRC_ctrl.h"
  21          #include "twowire.h"
  22          #include "filter.h"
  23          #include "keypad.h"
  24          #include "Nvram.h"
  25          //#include "Video.h"
  26          #include "T803_Util.h"
  27          #include "TW803Reg.h"
  28          #include "remote.h"
  29          #include "osddraw.h"
  30          #include "tuner.h"
  31          #include "timer0.h"
  32          #include "T515.h"
  33          #include "ModeCtrl.h"
  34          #include "Global.h"
  35          #include "display.h"
  36          #include "cfgdsply.h"
  37          #include "keypad.h"
  38          #include "Gamma.h"
  39          #include "INIT.h"
  40          #include "VBI_Parser.h" // kenny 20060403
  41          #include "SRC_565.h"
  42          #include "RGB565.h"
  43          static uCHAR cSVideo=0;
  44          //static uCHAR cYPbPr=0;  // add by Sherman 06'01'12
  45          /****************************************************************************
  46          *                           Public Global Variable                          *
  47          ****************************************************************************/
  48          uDWORD  m_dwTemp[2];
  49          uWORD   m_wDWHSZ=DWHSZ;
  50          uCHAR   NoSignal=0;
  51          #ifdef ROTATE
                   uCHAR Dis_Mode=TOP_LEFT;
              #endif
C51 COMPILER V7.50   T103_UTIL                                                             10/30/2006 16:14:42 PAGE 2   

  54          
  55          /****************************************************************************
  56          *                              Public Function                              *
  57          ****************************************************************************/
  58          void InitT803(void)
  59          {       
  60   1              uCHAR RegIndex,RegAdr;
  61   1      
  62   1              RegIndex=0;
  63   1              RegAdr=stInitT10xP0[0].ucRegAdr;
  64   1              while (RegAdr != 0xFF)          // bruce, 2006/01/09
  65   1              {
  66   2                      if(RegAdr==0x30){
  67   3                              I2CWriteByte(TW803_P0,RegAdr,(I2CReadByte(TW803_P0,0x30)|0x01));  // enable Shadow
  68   3                              I2CWriteByte(TW803_P0,RegAdr,(I2CReadByte(TW803_P0,0x30)&(~0x02))| DEINTERLACE); //Bruce, 2006/01/10
  69   3                      }
  70   2                      else{
  71   3                              I2CWriteByte(TW803_P0,RegAdr,stInitT10xP0[RegIndex].ucRegVal);
  72   3                      }       
  73   2                      RegAdr=stInitT10xP0[++RegIndex].ucRegAdr;
  74   2              }
  75   1              RegIndex=0;
  76   1              RegAdr=stInitT10xP2[0].ucRegAdr;
  77   1              while (RegAdr != 0xFF)          // bruce, 2006/01/09
  78   1              {
  79   2                      if(RegAdr==0x01)   
  80   2                              I2CWriteByte(TW803_P2,RegAdr,(I2CReadByte(TW803_P2,0x01)|0x01));// enable black level correction for 10
             - blank-to-black pedestal
  81   2                      else
  82   2                              I2CWriteByte(TW803_P2,RegAdr,stInitT10xP2[RegIndex].ucRegVal);
  83   2                      RegAdr=stInitT10xP2[++RegIndex].ucRegAdr;
  84   2              }
  85   1              //=========================================================================
  86   1              // Panel specified register settings
  87   1              //=========================================================================
  88   1      //#if (EMPTY_ARRAY)
  89   1              for(RegIndex=0;RegIndex < PanelSpecP0Cnt;RegIndex++)
  90   1              {
  91   2                      I2CWriteByte(TW803_P0,ucaPanelSpecAdrP0[RegIndex],ucaPanelSpecDataP0[RegIndex]);
  92   2          }
  93   1      //#endif
  94   1      
  95   1              for(RegIndex=0;RegIndex < PanelSpecP2Cnt;RegIndex++)
  96   1              {
  97   2                      I2CWriteByte(TW803_P2,ucaPanelSpecAdrP2[RegIndex],ucaPanelSpecDataP2[RegIndex]);
  98   2          }
  99   1      
 100   1              #ifdef ROTATE
                              SET_Dismod();
                      #endif          
 103   1              
 104   1              //kenny 20060403
 105   1              #ifdef VBI_CC 
                              VBI_Init();
                      #endif                                  
 108   1              //kenny 20060403
 109   1      }
 110          
 111          #ifdef TCON
 112          void TconInit(void)
 113          {
 114   1              uCHAR TconIndex;
C51 COMPILER V7.50   T103_UTIL                                                             10/30/2006 16:14:42 PAGE 3   

 115   1              
 116   1              for(TconIndex=0;TconIndex < P1TconCnt;TconIndex++)
 117   1                      I2CWriteByte(TW803_P1, TconAddress+TconIndex, TconP1Data[TconIndex]);
 118   1      }
 119          #endif
 120          
 121          #ifdef ROTATE
              void SET_Dismod(void)
              {
                      switch (Dis_Mode){ 
                              case  TOP_LEFT: //Start from top-left
                                      #ifdef ANALOG_PANEL
                                              I2CWriteByte(TW803_P0,0xE1, ScanMode[0]);
                                      #else
                                              UP_DOWN    = DigiPanlScanMode[0]>>1;   
                                              LEFT_RIGHT = DigiPanlScanMode[0]&0x01; 
                                              I2CWriteByte(TW803_P0,0xE1, ScanMode[0]&0xF0);
                                      #endif                          
                                      break;  
                              case  TOP_RIGHT: //Start from top-right
                                      #ifdef ANALOG_PANEL
                                              I2CWriteByte(TW803_P0,0xE1, ScanMode[1]);
                                      #else
                                              UP_DOWN    = DigiPanlScanMode[1]>>1;   
                                              LEFT_RIGHT = DigiPanlScanMode[1]&0x01; 
                                              I2CWriteByte(TW803_P0,0xE1, ScanMode[1]&0xF0);
                                      #endif
                                      break;
                              case  BOTTOM_RIGHT:  //Start from bottom-right
                                      #ifdef ANALOG_PANEL
                                              I2CWriteByte(TW803_P0,0xE1, ScanMode[2]);
                                      #else
                                              UP_DOWN    = DigiPanlScanMode[2]>>1;   
                                              LEFT_RIGHT = DigiPanlScanMode[2]&0x01; 
                                              I2CWriteByte(TW803_P0,0xE1, ScanMode[2]&0xF0);
                                      #endif
                                      break;                                                                  
                              case  BOTTOM_LEFT: //Start from bottom-left
                                      #ifdef ANALOG_PANEL

⌨️ 快捷键说明

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