main.lst

来自「myson的MTV332的DEMO程序 主要功能有菜单的设计和无线遥控以及视频」· LST 代码 · 共 315 行

LST
315
字号
C51 COMPILER V7.09   MAIN                                                                  09/26/2006 13:36:04 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN ..\OUTPUT\MAIN.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\code\MAIN.C LARGE ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND PRINT(.\MAIN.ls
                    -t) OBJECT(..\OUTPUT\MAIN.obj)

line level    source

   1          #define _MAIN_
   2          
   3          #include "global.h"
   4          #include "TV.h"
   5          
   6          //*****************************************************************************************
   7          //       MTV MCU I/O Initialization Setupt
   8          //*****************************************************************************************
   9          #ifdef _MTV332_
  10          void Initial_MTV(void)
  11          {
  12   1              P5EN = 0xFF;
  13   1              P6EN = 0xFF;
  14   1              //byMTV_PadMode9 = MTV332_PadMode9;
  15   1              byMTV_PadMode9 = 0xF8;
  16   1              //byMTV_PadModeA = MTV332_PadModeA;
  17   1              byMTV_PadModeB = MTV332_PadModeB;
  18   1              byMTV_PadModeC = MTV332_PadModeC;
  19   1              //byMTV_PadModeD = MTV332_PadModeD;
  20   1              byMTV_PadModeE = MTV332_PadModeE;
  21   1              byMTV_FIDCTL=0x00;  //0x00 for 12Mhz  ; 0x01 for 4Mhz 
  22   1              byMTV_PREG3A = 0x00;    // FB3 disable for use DA6 and DA11
  23   1              
  24   1              byMTV_Option = MTV332_OPTION;
  25   1              //Set_VCOMAPMPWM=0x80;
  26   1              //Set_VCOMCENTPWM=0x80;
  27   1              //enable slaveB, address 0x4C (0xA6 = 0x80 | 0x4C>>1)    
  28   1              byMTV_IIC_SLVBADR = 0xA6;
  29   1      
  30   1              byMTV_LCDID = 0x95;
  31   1      
  32   1      
  33   1      //---------------Initial SyncProcessor--------------
  34   1              byMTV_HVCTR0 = 0x43;
  35   1      //----------------------------------------------
  36   1              
  37   1      //enable RCBBUF interrupt
  38   1              byMTV_IIC_INTEN = 0xE0;
  39   1              
  40   1      
  41   1      }
  42          #endif
  43          
  44          /*
  45          #ifdef _MTV230_
  46          void Initial_MTV(void)
  47          {
  48                  byMTV_PadModeB = MTV230_PadModeB;  //81;//0x81; //isp,p60 p61,p46 p47,p45,normal,p62
  49                  byMTV_PadModeC = MTV230_PadModeC;        //da3~da0,p53~p50
  50                  byMTV_PadModeD = MTV230_PadModeD; //0x40;//0xfc;        // p42~p47 output,hsync vsync
  51                  byMTV_PadModeE = MTV230_PadModeE;        // p50~p53
  52                  byMTV_Option = MTV230_OPTION;           //0xC0;         // PWM 94k
  53                          
  54                  //enable slaveB, address 0x4C (0xA6 = 0x80 | 0x4C>>1)    
C51 COMPILER V7.09   MAIN                                                                  09/26/2006 13:36:04 PAGE 2   

  55                  byMTV_IIC_SLVBADR = 0xA6;
  56                  
  57                  //enable slaveA, address 0xA0 (0xD0 = 0x80 | 0xA0 >> 1)  
  58                  byMTV_IIC_SLVAADR = 0xD0;
  59          
  60                  //
  61                  byMTV_IIC_INTEN = 0x58;
  62          }
  63          #endif
  64          */
  65          
  66          //*****************************************************************************************
  67          //       Initialization MTV CPU Core
  68          //*****************************************************************************************
  69          void Initial_CPU(void)
  70          {
  71   1              IE1 = 0;            //disable extern interrupt 1
  72   1              EA  = 0;            //disable all interrupt
  73   1      
  74   1              P0 = 0xFF;         //set P0 to high
  75   1              P1 = 0xFF;         //set P1 to high
  76   1              P2 = 0xFF;         //set P2 to high
  77   1              P3 = 0xFF;         //set P3 to high
  78   1      
  79   1              TMOD |= 0x21;
  80   1              TR0 = 1;      //start timer0
  81   1              TR1 = 1;      //start timer1
  82   1              IT1 = 1;      // set INT1 type=falling edge
  83   1              IT0 = 1;      // set INT0 type=falling edge 
  84   1              EX1 = 1;      // enable   INT1
  85   1              ET0 = 1;      // enable   TIMER0
  86   1      
  87   1              //IR Remote Contro Use the INT0 Pin and Function
  88   1      #ifdef _IR_
  89   1              EX0 = 1;      // enable   INT0   
  90   1              ET1 = 1;      //enable    TIMER1 
  91   1      #else
                      EX0 = 0;      // enable   INT0   
                      ET1 = 0;      //enable    TIMER1 
              #endif
  95   1      
  96   1              PX1 = 1;      //INT1 priority high
  97   1              PX0 = 1;      //INT0 priority high
  98   1              PT1 = 0;      //set TIMER1 priority low
  99   1              PT0 = 0;      //set TIMER0 priority low
 100   1              
 101   1              Initial_MTV();
 102   1      
 103   1              EA = 1;         //enable all interrupt
 104   1      }
 105          
 106          //*****************************************************************************************
 107          //       Initialization TCON Output
 108          //*****************************************************************************************
 109          #ifdef _MTV332_
 110          
 111          
 112          //*****************************************************************************************
 113          //       Initialization PLL
 114          //*****************************************************************************************
 115          void Initial_PLL(void)
 116          {
C51 COMPILER V7.09   MAIN                                                                  09/26/2006 13:36:04 PAGE 3   

 117   1              byMTV_HORRH = 0x07;
 118   1              byMTV_HORRL = 0x15;
 119   1              byMTV_PLLCTL = 0x1C;            // Charge pump current
 120   1              byMTV_PREG1A = 0x8B;
 121   1              byMTV_PREG1B = 0x86;
 122   1              byMTV_PREG2A = 0x80;
 123   1              byMTV_PREG2B = 0x87;
 124   1              byMTV_PREG3B = 0x00;
 125   1      
 126   1              #ifdef VD_PLL
                      byMTV_TESTMODE = 0xA0;  // For enter test mode
                      #endif
 129   1      
 130   1              #ifdef MTV332_PLL
 131   1              byMTV_TESTMODE = 0x00;          // For do not enter test mode
 132   1              #endif
 133   1              
 134   1              HVMUX = 0x00;                           // HVMUX= 0x01 is for bypass H,V sync
 135   1              
 136   1      }
 137          #endif
 138          
 139          void Initial_TCON(BYTE panel)
 140          {       
 141   1              BYTE i;
 142   1              BYTE code PANELTCONSetting[][30]={
 143   1                      // AU7"
 144   1                      {
 145   1                      //    0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09
 146   1                              0x01,0x8f,0x70,0x85,0x50,0x2e,0x04,0x32,0x08,0x53,
 147   1                      //    0x0A 0x0B 0x0C 0x0D 0x0E  0x0F 0x10 0x11 0x12 0x13        
 148   1                              0x2a,0x08,0x10,0xef,0xe0,0x04,0xc0,0xaa,0x01,0x5E,
 149   1                      //    0x14 0x15 0x16 0x17 0x18 0x19 0x1A 0x1B 0x1C 0x1D 
 150   1                              0xff,0xff,0xff,0x03,0x20,0x00,0x08,0x05,0x34,0x92
 151   1                      },
 152   1      
 153   1                      // LG7"
 154   1                      {
 155   1                      //   0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09
 156   1                              0x01,0x8f,0x70,0x85,0x50,0x2E,0x04,0x52,0x08,0x04,
 157   1                      //    0x0a 0x0b 0x0c 0x0d 0x0e 0x0f  0x10 0x11 0x12 0x13
 158   1                              0x2a,0x80,0x11,0xEF,0xE0,0x08,0x10,0xaa,0x00,0x60,
 159   1                      //    0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d
 160   1                              0xff,0xff,0xff,0x03,0x20,0x00,0x28,0x40,0x0F,0x42
 161   1                      },
 162   1              
 163   1                      };
 164   1              for(i=0x00;i<=0x1d;i++)
 165   1              {
 166   2                      byMTV_TCONADDR = i;  // 0x00 ~ 0x1d
 167   2                      byMTV_TCONDATA = PANELTCONSetting[panel][i];  
 168   2              }
 169   1              byMTV_FIDCTL=0x00;
 170   1      
 171   1      }
 172          
 173          //*****************************************************************************************
 174          //       When Enable the TCON output the PORT5 and PORT6 Disable
 175          //*****************************************************************************************
 176          void InitialIO(void)
 177          {       
 178   1             Res_BKLT;
C51 COMPILER V7.09   MAIN                                                                  09/26/2006 13:36:04 PAGE 4   

 179   1             Res_PALEN;
 180   1             Res_FREEEN;
 181   1             //Res_VGAEN;
 182   1             //SetSwitchAVIn;
 183   1             Set_AVEN;
 184   1             Res_ImageLR;
 185   1             Res_ImageUD;
 186   1      }
 187          
 188          //*****************************************************************************************
 189          //                                    Main Entrance
 190          //*****************************************************************************************
 191          void main(void)
 192          {                       
 193   1              
 194   1              DoWait(100);
 195   1             OSDConVal = 0x00;
 196   1              Initial_CPU();          
 197   1              InitialIO();
 198   1              InitialOSD();   
 199   1      
 200   1              //CS7111_Write(0x0D,0x08);              // For Use V2 in
 201   1      #ifdef _MTV332_ 
 202   1              Initial_PLL();
 203   1              
 204   1              Initial_TCON(LG7);
 205   1              
 206   1      #endif  
 207   1              
 208   1              Initial_I2C();
 209   1              InitialFlag();  
 210   1              
 211   1              Initial_EEPROM();
 212   1      
 213   1              KeyNo = ReadKeyPort();
 214   1              if(KeyNo == POWERKEY)
 215   1              {
 216   2                      Initial_EEPData();
 217   2                      Read_EEPData();
 218   2              }
 219   1              Initial_SystemSetting();
 220   1              #ifdef _CS7111_
 221   1              Initial_Video();
 222   1              #endif
 223   1      
 224   1              #ifdef _TV_     // 060830 for TV 
 225   1              Set_TVChannel();
 226   1              #endif
 227   1      
 228   1      #ifdef _IR_     
 229   1              Init_IR();
 230   1      #endif
 231   1      
 232   1              Initial_Key();
 233   1      
 234   1              SStatus=Video_Sync();   // For Sync detect 
 235   1              Video_S(SStatus);       
 236   1              
 237   1              MenuProcess = Disp_Entry;
 238   1      
 239   1      #ifdef _MTV332_
 240   1              Set_SharpPWM = 0xff; 
C51 COMPILER V7.09   MAIN                                                                  09/26/2006 13:36:04 PAGE 5   

 241   1      #endif
 242   1              
 243   1             DoWait(200);
 244   1             Set_BKLT;   
 245   1              Set_PowerLED;
 246   1              bSyncChange = TRUE;
 247   1              OldVideoStatus = 0xFF;
 248   1              //DebugIRKey();         
 249   1              
 250   1              while(1)
 251   1              {
 252   2                      
 253   2              #if 1
 254   2                      //OpenWindow(1,0,0,29,0,Green);         
 255   2                      //EnableOSD();          
 256   2      #ifdef _IR_     
 257   2                      IR_Key = GetIRKey();
 258   2      #endif
 259   2                      KeyNo = GetKey();
 260   2                      CheckIICHoldKey();
 261   2                      
 262   2                      if(!i2c_flag)
 263   2                      {
 264   3                              SStatus=Video_Sync();   // For Sync detect 
 265   3                              Video_S(SStatus);       
 266   3                              
 267   3                      Get_VideoSync();                // For get sync                                 
 268   3                              Video_SyncProc();
 269   3                              
 270   3                                                      
 271   3                              //EnableOSD();                  
 272   3                              //OpenWindow(1,0,0,15,14,Blue);
 273   3                      }
 274   2              #endif
 275   2                              
 276   2                      #if 1
 277   2                      OSDProc();
 278   2                      #endif
 279   2                      
 280   2              }
 281   1              
 282   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    403    ----
   CONSTANT SIZE    =     98    ----
   XDATA SIZE       =    123    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =     16    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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