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

📄 lcd_main.lst

📁 Realtek 公司的RTD2523A芯片原厂source code,没有被修改过的。
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V6.20c  LCD_MAIN                                                              04/15/2004 12:59:10 PAGE 1   


C51 COMPILER V6.20c, COMPILATION OF MODULE LCD_MAIN
OBJECT MODULE PLACED IN .\Output\Lcd_main.obj
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE Code\Lcd_main.c OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Output\
                    -Lcd_main.lst) OBJECT(.\Output\Lcd_main.obj) 

stmt level    source

   1          #define __MAIN__
   2          
   3          #include "reg52.h"
   4          #include "intrins.h"
   5          
   6          #include "Header\MAIN_DEF.H"
   7          #include "Header\CONFIG.H"
   8          #include "Header\ACCESS.H"
   9          #include "Header\LCD_COEF.H"
  10          #include "Header\LCD_FUNC.H"
  11          #include "Header\LCD_AUTO.H"
  12          #include "Header\LCD_MSG.H"
  13          #include "Header\LCD_MAIN.H"
  14          #include "Header\LCD_OSD.H"
  15          #include "Header\FONT.H"
  16          #include "Header\OSD.H"
  17          #include "Header\INITIAL.H"
  18          #include "Header\FRAME_SYNC.H"
  19          #include "Header\SRC_CTRL.H"
  20          #include "Header\DDC.H"
  21          
  22          #include "Header\uart.h"
  23          #include "Header\DevOS.h"
  24          #include "Header\Ksv.h"
  25          
  26          
  27          #if (BURNIN_MODE)
              void BurnIn()
              {
                  static unsigned char Color = 1;
              
                  static unsigned char ColorCounter = 100;
                
                  unsigned char ucTemp;
              
                  if (ColorCounter)      
                      ColorCounter   -= 1;
                  else
                  {  
                      Color += 1;
                      
                      if (Color == 17)    Color = 1;
              
                      ucTemp = 0x0d | (Color << 4);
              
                      if ( _ON == bPanel_Status)
                      {
                          Free_Background();
                          Wait_For_Event(EVENT_IEN_STOP);     // Wait for Frame End
              
                          /*
                          RTDSetBit(OVL_CTRL_6D,0x3f,0x00); //Red
                          RTDSetByte(BGCOLOR_CONTROL_6C,BurnInColor[0][Color]);
              
C51 COMPILER V6.20c  LCD_MAIN                                                              04/15/2004 12:59:10 PAGE 2   

                          RTDSetBit(OVL_CTRL_6D,0x3f,0x40); //Green
                          RTDSetByte(BGCOLOR_CONTROL_6C,BurnInColor[1][Color]);
              
                          RTDSetBit(OVL_CTRL_6D,0x3f,0x80); //Blue
                          RTDSetByte(BGCOLOR_CONTROL_6C,BurnInColor[2][Color]);
                          */
                          Set_Background_Color(BurnInColor[0][Color], BurnInColor[1][Color], BurnInColor[2][Color]);
              
                          RTDSetBit(VDIS_CTRL_20,0x5f,0x20 | DHS_MASK);
                      }
                      
                      ColorCounter = 255;              
                  }	    
              }
              #endif
  70          
  71          void Set_Task(unsigned char state)
  72          {
  73   1          switch (state)
  74   1          {
  75   2          case STATE_POWERUP :
  76   2          case STATE_SOURCECHANGE :
  77   2      
  78   2              ucOSD_Page_Index    = 0;
  79   2              ucOSD_Item_Index0   = 0;
  80   2              ucOSD_Item_Index1   = 0;
  81   2              ucOSD_Item_Index2   = 0;
  82   2      
  83   2              usTaskCnt   = BEGIN_SOURCECHANGE;
  84   2              break;
  85   2      
  86   2          case STATE_MODECHANGE :
  87   2      
  88   2              ucOSD_Page_Index    = 0;
  89   2              ucOSD_Item_Index0   = 0;
  90   2              ucOSD_Item_Index1   = 0;
  91   2              ucOSD_Item_Index2   = 0;
  92   2      
  93   2              if (BEGIN_MODECHANGE > usTaskCnt)   
  94   2              {
  95   3                  usTaskCnt   = BEGIN_MODECHANGE;
  96   3              }
  97   2              break;
  98   2      
  99   2          case STATE_POWERDOWN :
 100   2              // In this code, we do nothing
 101   2              break;
 102   2          }
 103   1      }
 104          
 105          void Run_Task(void)
 106          {
 107   1          // Task of each state :
 108   1          // STATE0. (BEGIN_SOURCECHANGE > usTaskCnt >= BEGIN_MODECHANGE) 
 109   1          //  - Show input source note text. Clear note text and go to State1 after 3sec or OSD window triggered
             -.
 110   1          // STATE1. (BEGIN_MODECHANGE > usTaskCnt >= BEGIN_SHOWHINT)
 111   1          //  - Wait for input signal being stable for 2 sec. When input signal changed, 
 112   1          //    Input Mode Detector will set task state to 1 if current task state is 2. After 2sec, hint text
 113   1          //    will be shown if input isn't valid and no OSD window on screen and go to State2, else stay in ST
             -ATE1.
 114   1          // STATE2. (BEGIN_SHOWHINT > usTaskCnt >= 0)
C51 COMPILER V6.20c  LCD_MAIN                                                              04/15/2004 12:59:10 PAGE 3   

 115   1          //  - If OSD window is on screen, go to State1. Else if input isn't valid, show hint text for 5sec and
             - 
 116   1          //    then turn off panel.
 117   1      
 118   1          if (usTaskCnt)      usTaskCnt   -= 1;
 119   1      
 120   1          if (BEGIN_MODECHANGE <= usTaskCnt)
 121   1          {
 122   2              // STATE0 : (BEGIN_SOURCECHANGE > usTaskCnt >= BEGIN_MODECHANGE)
 123   2      
 124   2              if (ucOSD_Page_Index)         
 125   2              {
 126   3                  usTaskCnt   = BEGIN_MODECHANGE;
 127   3              }
 128   2          }
 129   1          else if (BEGIN_SHOWHINT <= usTaskCnt)
 130   1          {
 131   2              // STATE1 : (BEGIN_MODECHANGE > usTaskCnt >= BEGIN_SHOWHINT)
 132   2      
 133   2              if (BEGIN_SHOWHINT == usTaskCnt)
 134   2              {
 135   3                  // Stay in STATE1 if input signal is valid or OSD window is on screen
 136   3                  if (ucOSD_Page_Index || (MODE_NOSUPPORT != ucMode_Curr && MODE_NOSIGNAL != ucMode_Curr && !bOv
             -erSpec))
 137   3                  {
 138   4                      usTaskCnt   = BEGIN_SHOWHINT + OSD_TO_HINT_DELAY;
 139   4                  }
 140   3              }
 141   2          }
 142   1          else
 143   1          {
 144   2              // Task State 2 : (BEGIN_SHOWHINT > usTaskCnt >= 0)
 145   2      
 146   2              if (ucOSD_Page_Index)
 147   2              {
 148   3                  usTaskCnt   = BEGIN_SHOWHINT + OSD_TO_HINT_DELAY;    // Go back to Task State 1
 149   3              }
 150   2              else if (0 == usTaskCnt)
 151   2              {
 152   3                  usTaskCnt   = BEGIN_SHOWHINT - 1;   // Stay in Task State 2
 153   3              }
 154   2          }
 155   1      }
 156          
 157          
 158          void ISP_Check_Sum(void)
 159          {
 160   1      #if (ISPACK)
                  RTDSetByte(DDC_SET_SLAVE_F0, 0x6a);
              #endif
 163   1      }
 164          
 165          #if(USE_MCU_DDC)
              void MCU_DDC_Process(void)
              {
                  unsigned char i, j;
              
                  MCU_Init();
              	
                  for (j = 0; j < 8; j ++)
                  {
                      I2CRead(ADDR_EDID1, j * 16, 16);
C51 COMPILER V6.20c  LCD_MAIN                                                              04/15/2004 12:59:10 PAGE 4   

                      
                      for (i = 0; i < 16; i ++)
                          byMTV512_DDCRAMA[i + (j * 16)] = Data[i];  // prepare DDC_RAM_1
                  } 
                  Delay_Xms(250);
                  Delay_Xms(250);
                  Delay_Xms(250);
                  Delay_Xms(250);
                  Delay_Xms(250);
              
                  MCU_Init();
                  Firmware_Init();
                  EDID_Process();
                  EnableDDC(); 
              }
              #endif
 191          

⌨️ 快捷键说明

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