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

📄 cpu.lst

📁 车载DVD osdIC TW8816原厂代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.50   CPU                                                                   04/01/2008 15:02:02 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE CPU
OBJECT MODULE PLACED IN .\Output\CPU.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CPU.c COMPACT OPTIMIZE(9,SIZE) BROWSE MODDP2 INCDIR(.\Include\) DEFINE(INTE
                    -RNAL_MCU) DEBUG OBJECTEXTEND PRINT(.\Source\CPU.lst) OBJECT(.\Output\CPU.obj)

line level    source

   1          /* CPU.c */
   2          
   3          #include "config.h"
   4          
   5          #include "typedefs.h"
   6          #include "reg.h"
   7          #include "regmap.h"
   8          #include "cpu.h"
   9          #include "main.h"
  10          #include "I2C.h"
  11          #include "TW88.h"
  12          #include "Printf.h"
  13          #include "KeyRemo.h"
  14          #include "etc_eep.h"
  15          #include "pc_eep.h"
  16          #include "Audio.h"
  17          #include "Measure.h"
  18          #include "OSDBasic.h"
  19          #include "OSDMenu.h"
  20          #include "DispInfo.h"
  21          #include "Monitor.h"
  22          #ifdef SUPPORT_TV
  23          #include "Tuner.h"
  24          #endif
  25          
  26          #define ClearRemoTimer()        TR2 = 0
  27          
  28          
  29          extern            BYTE  DebugLevel;
  30          extern  IDATA BYTE      RemoDataReady,RemoSystemCode, RemoDataCode;
  31          extern  IDATA BYTE InputSelection;
  32          extern            BYTE  VInputStdDetectMode;
  33          extern  IDATA BYTE      PcMode;
  34          extern            bit   AutoDetect;
  35          extern            bit   NoInitAccess;
  36          
  37          //===================== Timer =================================================
  38                          DATA BYTE keytic=0;
  39                          DATA BYTE Key=0;
  40                          bit KeyReady=0, RepeatKey = 0;
  41          
  42                          DATA BYTE tm001;
  43                          DATA  WORD  tm01=0;
  44                          DATA  BYTE  tic01=0;    //, tic_pc;
  45                          DATA  WORD  tic_pc=0;
  46          
  47          static  DATA DWORD      SystemClock;                    //00:00
  48          static  DATA DWORD      LastBlockedTime;                //00:00
  49          //static  DATA WORD     WakeupTime;
  50          //static  DATA BYTE     WakeupPR;
  51          static  DATA WORD       OffTime;
  52          static  DATA BYTE       SleepTimer;
  53          static  DATA WORD       SleepTime;
  54          static  DATA BYTE  cDelayCounter; // Hans
C51 COMPILER V7.50   CPU                                                                   04/01/2008 15:02:02 PAGE 2   

  55          
  56          
  57          #ifdef SERIAL //=======================================================================
  58          
  59          #define BUF_MAX         4//6
  60          static  DATA BYTE       RS_buf[BUF_MAX];
  61          static  DATA BYTE   RS_in, RS_out;
  62                          bit             RS_Xbusy=0;                     // bit RS_Xbusy=0;
  63          
  64          #endif  // SERIAL ======================================================================
  65          //================== Remocon ==================================================
  66          #ifdef REMO_RC5
  67          
  68          static  bit         RemoPhase1, RemoPhase2;
  69                          IDATA BYTE      RemoDataReady=0;
  70                          IDATA BYTE  RemoSystemCode, RemoDataCode;
  71          
  72          #elif defined REMO_NEC
              
              static  bit         RemoPhase=0;
              static  DATA    BYTE  RemoStep=0;
              static  DATA    BYTE  RemoHcnt, RemoLcnt;
                              DATA    BYTE     RemoData[4];
                          IDATA BYTE  RemoDataReady=0;
              static  IDATA BYTE  RemoNum, RemoBit;
              
                          IDATA BYTE  RemoDataCode=0xff;
              #endif  //================== Remocon ======================
  83          
  84          CODE BYTE PanelInfoStr[]={
  85          #if (defined UXGA)                                              // 1600 x 1200
                      "---> Panel: UXGA-1600*1200"
              #elif (defined SXGA)                                            // 1280 x 1024
                      "---> Panel: SXGA-1280*1024"
              #elif (defined  XGA)                                            // 1024 x 768
                      "---> Panel: XGA-1024*768"
              #elif (defined SVGA)                                            //  800 x 600
                      "---> Panel: SVGA-800*600"
              #elif (defined VGA)                                             //  640 x 480
                      "---> Panel: VGA-640*480"
              #elif (defined WXGA)                                            // 1280 x 768 (15:9) // 1366 x 768 (16:9)
                      "---> Panel: WXGA-1280*768(15:9) or 1366*768(16:9)"
              #elif (defined WSVGA)                                           // 1024 x 600   *** only video mode
                      "---> Panel: WSVGA-1024*600"
              #elif (defined WVGA)                                            //  800 x 480
                      #ifdef AU_10INCH
                      "---> Panel: WVGA-800*480 -- TTL AU 10inch"
                      #elif (defined SAMSUNG_10INCH)
                      "---> Panel: WVGA-800*480 -- TTL SAMSUNG 10inch"
                      #elif (defined SAMSUNG_TICONLESS_10INCH)
                      "---> Panel: WVGA-800*480 -- TICONLESS SAMSUNG 10inch"
                      #elif (defined SHARP_TICONLESS_7INCH)
                      "---> Panel: WVGA-800*480 -- TICONLESS SHARP 7inch"
                      #elif (defined AU_TICONLESS_7INCH)
                      "---> Panel: WVGA-800*480 -- TICONLESS AU 7inch"
                      #elif (defined AU_TICONLESS_10INCH)
                      "---> Panel: WVGA-800*480 -- TICONLESS AU 10inch"
                      #elif defined HITACHI_T01
                      "---> Panel: WVGA-800*480 -- TICONLESS Hitachi TX18D24VM2BAA"
                      #elif defined HITACHI_TX23D12
                      "---> Panel: WVGA-800*480 -- TICONLESS Hitachi TX23D12"
                      #elif defined HITACHI_TX18D24
C51 COMPILER V7.50   CPU                                                                   04/01/2008 15:02:02 PAGE 3   

                      "---> Panel: WVGA-800*480 -- TICONLESS Hitachi TX18D24"
                      #else
                      "---> Panel: WVGA-800*480"
                      #endif
              #elif (defined HVGA)                                            //  480 x 320
                      "---> Panel: HVGA-480*320"
              #elif (defined QVGA)                                            //  320 x 240   *** only video mode
                      "---> Panel: QVGA-320*240"
              #elif (defined WQVGA)                                           //  480 x 234   *** only video mode
 126              #ifdef ANALOG_7INCH
 127                  "---> Panel: WQVGA-480*234 -- ANALOG TICONLESS AU 7inch"
 128                  #elif (defined SHARP_LQ043T3DX02)
                      "---> Panel: WQVGA-480*234 -- TTL SHARP LED 4.3inch panel"
                      #else
                      "---> Panel: WQVGA-480*234 "
                      #endif
 133          #endif
 134          };
 135          
 136          #ifdef ADD_ANALOGPANEL          // Added Analog panel(AU7") from default set panel(expect WQVGA) with DIP #1 switc
             -h.(DIP#1=L:ANALOG, H:DEFAULT)
              CODE BYTE AddedAnalogPanelStr[]={
                              #ifdef ADD_ANALOG_7INCH
                      "---> Added Analog Panel(AU 7inch) with DIP SW1=Enabled"
                              #elif defined ADD_TMD_LTA05B352A
                      "---> Added Analog Panel(TMD 4inch) with DIP SW1=Enabled"
                              #endif
              };
              #endif
 145          
 146          
 147          
 148          
 149          //=============================================================================
 150          //                            CheckSpecialMode                                                   
 151          //=============================================================================
 152          void CheckSpecialMode(void)
 153          {
 154   1              BYTE i;
 155   1      
 156   1              i = GetKey(0);
 157   1      
 158   1              switch( i ) {
 159   2              case MENUKEY:
 160   2                      Puts("\r\n---- Menu Key is pressed -> Enter Special Mode( To Composite )");
 161   2                      SaveInputSelectionEE(COMPOSITE);
 162   2                      DebugLevel = 0;
 163   2      ///             PcDetectFlag = 0;
 164   2                      break;
 165   2              }
 166   1      }
 167          
 168          //=============================================================================
 169          //    Main Initialize Routine
 170          //=============================================================================
 171          void main_init (void)
 172          {
 173   1              extern CODE BYTE *OutOfRangeStr[] ;
 174   1      
 175   1      #ifdef SUPPORT_MSP_AUDIO
                      BYTE    ikey;
              #endif
C51 COMPILER V7.50   CPU                                                                   04/01/2008 15:02:02 PAGE 4   

 178   1              WORD    rev;
 179   1              #ifdef SUPPORT_PC
 180   1              BYTE    i;
 181   1              #endif
 182   1      
 183   1      //      WriteTW88(0xff, 0x10);  // Disable I2C auto increase mode
 184   1              WriteTW88(0xe0, 0x10);  // Disable I2C auto increase mode
 185   1      
 186   1              PowerLED(ON);
 187   1      
 188   1              EnableRemoconInt();
 189   1      
 190   1      #ifdef SUPPORT_MSP_AUDIO
                      ikey = ResetMSP();
                      if( ikey ) {
                              #ifdef DEBUG
                              dPrintf("\r\nError on resetting MSP:0x%02x", (WORD)ikey);
                              #endif
                      }
              #else
 198   1              ResetMSP();
 199   1      #endif
 200   1      
 201   1              rev = GetFWRevEE();
 202   1              Printf("\r\n New Firmware Base On:%04x", rev);
 203   1      
 204   1              if( GetFWRevEE()!=FWVER ) {                                     // exist EEPROM
 205   2                      SaveFWRevEE(FWVER);
 206   2                      Printf("\r\nCurr.FW:%04x", GetFWRevEE());
 207   2              }
 208   1      
 209   1              //---------- if FW version is not matched, initialize EEPROM data -----------
 210   1      
 211   1              if( GetFWRevEE()==FWVER ) {                                     // exist EEPROM
 212   2                      if( rev != FWVER ) {                                    //
 213   3                              SaveDebugLevelEE(DebugLevel);
 214   3                              Printf("\r\nNew DebugLevel:%02x", (WORD)DebugLevel);
 215   3      
 216   3                              SaveInputSelectionEE(COMPOSITE);
 217   3                              ClearBasicEE();
 218   3      
 219   3                              #ifdef SUPPORT_PC
 220   3                              ResetPanelAttributeValue();
 221   3                              SaveDefaultPCDataAllEE();
 222   3                              #endif
 223   3      
 224   3                              #ifdef SUPPORT_TV
 225   3                              ResetTVValue();
 226   3                              #endif
 227   3                      }
 228   2                      else {
 229   3                              DebugLevel = GetDebugLevelEE();
 230   3                              Printf("\r\nSaved DebugLevel:%02x", (WORD)DebugLevel);
 231   3                      }
 232   2      
 233   2                      #ifdef SUPPORT_PC
 234   2                      if( DebugLevel > 0 ) {

⌨️ 快捷键说明

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