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

📄 lcd_main.lst

📁 液晶显示器程序代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.06   LCD_MAIN                                                              11/21/2005 13:47:28 PAGE 1   


C51 COMPILER V7.06, 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 CODE SYMBOLS PR
                    -INT(.\Output\Lcd_main.lst) PREPRINT(.\Output\Lcd_main.i) OBJECT(.\Output\Lcd_main.obj)

stmt level    source

   1          //echo note :
   2          //modify last date : 2004.07.16
   3          
   4          
   5          #define __MAIN__
   6          
   7          #include "reg52.h"
   8          #include "intrins.h"
   9          
  10          #include "Header\MAIN_DEF.H"
  11          #include "Header\CONFIG.H"
  12          #include "Header\ACCESS.H"
  13          #include "Header\LCD_COEF.H"
  14          #include "Header\LCD_FUNC.H"
  15          #include "Header\LCD_AUTO.H"
  16          #include "Header\LCD_MSG.H"
  17          #include "Header\LCD_MAIN.H"
  18          #include "Header\LCD_OSD.H"
  19          #include "Header\FONT.H"
  20          #include "Header\OSD.H"
  21          #include "Header\INITIAL.H"
  22          #include "Header\FRAME_SYNC.H"
  23          #include "Header\SRC_CTRL.H"
  24          #include "Header\DDC.H"
  25          
  26          #include "Header\uart.h"
  27          #include "Header\DevOS.h"
  28          #include "Header\Ksv.h"
  29          
  30          #include "Header\rgb_echo.H"
  31          #include "Header\MTV512.h"
  32          
  33          #if(BURNIN_MODE)
  34          void BurnIn()
  35          {
  36   1      
  37   1        static unsigned char Color = 1;
  38   1      
  39   1        static unsigned char ColorCounter = 100;
  40   1        
  41   1        unsigned char ucTemp;
  42   1      
  43   1             if (ColorCounter)      
  44   1                    ColorCounter   -= 1;
  45   1             else
  46   1             {  
  47   2      
  48   2                 Color += 1;
  49   2                         if(Color == 17)
  50   2                      Color = 1;
  51   2      
  52   2      
  53   2                         ucTemp = 0x0d | (Color << 4);
  54   2      
C51 COMPILER V7.06   LCD_MAIN                                                              11/21/2005 13:47:28 PAGE 2   

  55   2      //                 if (PANEL_ON == bPANEL_PWR)
  56   2                         if ( _ON == bPanel_Status)
  57   2                     {
  58   3                    Free_Background();
  59   3                    Wait_For_Event(EVENT_IEN_STOP);     // Wait for Frame End
  60   3      
  61   3                    RTDSetBit(OVL_CTRL_6D,0x3f,0x00); //Red
  62   3                    RTDSetByte(BGCOLOR_CONTROL_6C,BurnInColor[0][Color]);
  63   3      
  64   3                      RTDSetBit(OVL_CTRL_6D,0x3f,0x40); //Green
  65   3                    RTDSetByte(BGCOLOR_CONTROL_6C,BurnInColor[1][Color]);
  66   3      
  67   3                      RTDSetBit(OVL_CTRL_6D,0x3f,0x80); //Blue
  68   3                    RTDSetByte(BGCOLOR_CONTROL_6C,BurnInColor[2][Color]);
  69   3      
  70   3                      RTDSetBit(VDIS_CTRL_20,0x5f,0x20 | DHS_MASK);
  71   3      
  72   3      
  73   3                         }
  74   2                 ColorCounter = 255;
  75   2                                    
  76   2             }            
  77   1      }
  78          #endif
  79          
  80          void Set_Task(unsigned char state)
  81          {
  82   1          switch (state)
  83   1          {
  84   2          case STATE_POWERUP :
  85   2          case STATE_SOURCECHANGE :
  86   2      
  87   2              ucOSD_Page_Index    = 0;
  88   2              ucOSD_Item_Index0   = 0;
  89   2              ucOSD_Item_Index1   = 0;
  90   2              ucOSD_Item_Index2   = 0;
  91   2              b_rgb_VOLUME_STATUS = 0;
  92   2      
  93   2              usTaskCnt   = BEGIN_SOURCECHANGE;
  94   2              break;
  95   2      
  96   2          case STATE_MODECHANGE :
  97   2      
  98   2      #if (RTDDEBUG == 0)
  99   2              ucOSD_Page_Index    = 0;
 100   2              ucOSD_Item_Index0   = 0;
 101   2              ucOSD_Item_Index1   = 0;
 102   2              ucOSD_Item_Index2   = 0;
 103   2              b_rgb_VOLUME_STATUS = 0;
 104   2      #endif
 105   2      
 106   2              if (BEGIN_MODECHANGE > usTaskCnt)   
 107   2              {
 108   3                  usTaskCnt   = BEGIN_MODECHANGE;
 109   3              }
 110   2              break;
 111   2          case STATE_POWERDOWN :
 112   2              // In this code, we do nothing
 113   2              break;
 114   2          }
 115   1      }
 116          
C51 COMPILER V7.06   LCD_MAIN                                                              11/21/2005 13:47:28 PAGE 3   

 117          void Run_Task(void)
 118          {
 119   1          // Task of each state :
 120   1          // STATE0. (BEGIN_SOURCECHANGE > usTaskCnt >= BEGIN_MODECHANGE) 
 121   1          //  - Show input source note text. Clear note text and go to State1 after 3sec or OSD window triggered
             -.
 122   1          // STATE1. (BEGIN_MODECHANGE > usTaskCnt >= BEGIN_SHOWHINT)
 123   1          //  - Wait for input signal being stable for 2 sec. When input signal changed, 
 124   1          //    Input Mode Detector will set task state to 1 if current task state is 2. After 2sec, hint text
 125   1          //    will be shown if input isn't valid and no OSD window on screen and go to State2, else stay in ST
             -ATE1.
 126   1          // STATE2. (BEGIN_SHOWHINT > usTaskCnt >= 0)
 127   1          //  - If OSD window is on screen, go to State1. Else if input isn't valid, show hint text for 5sec and
             - 
 128   1          //    then turn off panel.
 129   1      
 130   1          if (usTaskCnt)      usTaskCnt   -= 1;
 131   1      
 132   1      
 133   1          if (BEGIN_MODECHANGE <= usTaskCnt)
 134   1          {
 135   2              // STATE0 : (BEGIN_SOURCECHANGE > usTaskCnt >= BEGIN_MODECHANGE)
 136   2      
 137   2              if (ucOSD_Page_Index)         
 138   2              {
 139   3                  usTaskCnt   = BEGIN_MODECHANGE;
 140   3              }
 141   2          }
 142   1          else if (BEGIN_SHOWHINT <= usTaskCnt)
 143   1          {
 144   2              // STATE1 : (BEGIN_MODECHANGE > usTaskCnt >= BEGIN_SHOWHINT)
 145   2      
 146   2              if (BEGIN_SHOWHINT == usTaskCnt)
 147   2              {
 148   3                  // Stay in STATE1 if input signal is valid or OSD window is on screen
 149   3                  if (ucOSD_Page_Index || (MODE_NOSUPPORT != ucMode_Curr && MODE_NOSIGNAL != ucMode_Curr && !bOv
             -erSpec))
 150   3                  {
 151   4                      usTaskCnt   = BEGIN_SHOWHINT + OSD_TO_HINT_DELAY;
 152   4                  }
 153   3              }
 154   2          }
 155   1          else
 156   1          {
 157   2              // Task State 2 : (BEGIN_SHOWHINT > usTaskCnt >= 0)
 158   2      
 159   2              if (ucOSD_Page_Index)
 160   2              {
 161   3                  usTaskCnt   = BEGIN_SHOWHINT + OSD_TO_HINT_DELAY;    // Go back to Task State 1
 162   3              }
 163   2              else if (0 == usTaskCnt)
 164   2              {
 165   3                  usTaskCnt   = BEGIN_SHOWHINT - 1;   // Stay in Task State 2
 166   3              }
 167   2          }
 168   1      }
 169          
 170          
 171          void ISP_Check_Sum(void)
 172          {
 173   1      
 174   1      #if(ISPACK)
C51 COMPILER V7.06   LCD_MAIN                                                              11/21/2005 13:47:28 PAGE 4   

                  RTDSetByte(DDC_SET_SLAVE_F0,0x6a);
              #endif
 177   1      
 178   1      
 179   1      }
 180          
 181          #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);
                       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
 208          
 209          void Signal_Stable(unsigned char Notify)
 210          {
 211   1       // When input format changed, OSD will be cleared. OSD_Proc() can only runs when input signal is stable.
 212   1                  if (bStable)
 213   1                  {
 214   2                      OSD_Dispatcher(Notify);
 215   2      
 216   2                              
 217   2                      if (MODE_OSDFORCE == ucMode_Curr)   // OSD force to reset
 218   2                      {
 219   3                          Reset_Mode();
 220   3                          Set_Task(STATE_MODECHANGE);     // Notify Task State Machine
 221   3                      }
 222   2                      else
 223   2                      {
 224   3                          if (BEGIN_SHOWHINT <= usTaskCnt)
 225   3                          {
 226   4      
 227   4      
 228   4      //                        if (PANEL_OFF == bPANEL_PWR)
 229   4                              if( _OFF == bPanel_Status)
 230   4                              {
 231   5                                  Set_Panel(1);   // Turn on panel
 232   5                              }
 233   4                              
 234   4                                                  //RTDCodeW(OSD_Enable);

⌨️ 快捷键说明

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