www.pudn.com > MP3DIY.rar > main.lst


C51 COMPILER V7.06   MAIN                                                                  02/01/2007 01:30:52 PAGE 1    
 
 
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN 
OBJECT MODULE PLACED IN .\obj\main.obj 
COMPILER INVOKED BY: C:\tools\Keil\C51\BIN\C51.EXE USER\main.c LARGE OPTIMIZE(9,SIZE) REGFILE(.\obj\sunplus.ORC) BROWSE  
                    -NOAREGS DEBUG OBJECTEXTEND PRINT(.\main.lst) OBJECT(.\obj\main.obj) 
 
stmt level    source 
 
   1          //=========================================================== 
   2          //   Project Name(项目名称):  SPCA755 rebuild 
   3          //   File Name(模块名称): main.c 
   4          //   Built Date(创建日期):2004-09-14 
   5          //   Abstract(模块描述): 主函数模块 
   6          //   Revision History(版本信息): 
   7          //   Rev      Date           Author       Comment(修改说明) 
   8          //   1.0      2004-09-14      XYQ         created 
   9          //============================================================ 
  10          #include "..\userdefine.h" 
  11          #include "userinit.h" 
  12          #include "main.h" 
  13          #include "user.h" 
  14          #include "interrupt.h" 
  15           
  16          //================================================================================================ 
  17          U8  code EXT_NameA[]={3,'M','P','3','W','M','A','W','M','V'}; 
  18          U8  code EXT_NameB[]={1,'W','A','V',/*'A','S','F'*/}; 
  19          U8  xdata EXT_NameC[4];  
  20          U8 *code EXT_Name[] = {EXT_NameA,EXT_NameB,EXT_NameC,EXT_NameC,EXT_NameC,EXT_NameC,}; 
  21           
  22          U8      data    gc_USB_Connect;//lyh add 
  23          U16     xdata   gw_TxtOffset;//lyh add 
  24          U32     xdata   gdw_TxtFilePointer;//lyh add 
  25          bit     gb_UIEvent; 
  26          bit             gb_Storage_Full; 
  27          bit             gb_LowBatt_State; 
  28          bit             gb_USB_PowerPlug_Interrupt;//_G_USB_PowerPlug_Interrupt;replaced 
  29          data    bit             gb_PlayPause; 
  30          xdata   U8      gc_EVENT; 
  31          xdata   unsigned int G_DISPLAY_TotalSec; 
  32          xdata   U8      gc_LowBatt_SecondCount; 
  33          xdata   U8      gc_Battery_Level; 
  34          xdata   U8      gc_AB_Cnt; 
  35          xdata   U16     G_W_OldTime; 
  36          code  U8                gc_Battery_GroupValue[]={2,3,4,5,6}; 
  37          U8 code gc_CurrentHZKMapMenuHZK[]={0,1,0,0,0,}; 
  38          U8 xdata        gc_MenuHZK; 
  39          //----------------------------------------------------------------------------- 
  40          U32 xdata       gdw_Dos_FreeMemorySizeMB; 
  41          U8 xdata        gc_PowerOnLogoSelect; 
  42          U8 xdata        gc_BacklightCount; 
  43          U8 xdata        gc_DVRE_Mode_Selected; 
  44          U8 code DSP_MenuMODE[] ={KDSP_MP3_MODE, KDSP_DVRD_MODE, KDSP_DVRE_MODE}; 
  45          bit     gb_UI_UserSeeting_Changed; 
  46          //================================================================================================ 
  47          data    U8                              _WMA=0; //lyh add 
  48          data    U8                              _G723=0;//lyh add 
  49          U8 data  gc_Busy_Timer;//lyh add 
  50          U8 xdata gc_PlayMode;//lyh add 
  51          U8 xdata        gc_SongNameNDSingerName_Length;//lyh add 
  52          U8 data  gc_FileNameRollTimer;//lyh add 
  53          bit     gb_USB_Setup_Ack;//lyh add 
  54           
C51 COMPILER V7.06   MAIN                                                                  02/01/2007 01:30:52 PAGE 2    
 
  55          //================================================================================================ 
  56          void main(void); 
  57          void MAIN_LockLoop(void); 
  58          void UI_Process(void); 
  59          //================================================================================================ 
  60          //test 
  61          #define DRM_ENABLE  
  62          void main(void) 
  63          /* 
  64          Routine Description:    main routine 
  65          Arguments:                              none 
  66          Return Value:                   none 
  67          */ 
  68          {   
  69   1              Sys_Initialize(); 
  70   1              User_initialize(); 
  71   1              INITIO_Initialize(); 
  72   1              DbgPrint("WWW.TASO123.COM\n"); 
  73   1              //==initialize parameters==// 
  74   1              User_initialize2(); 
  75   1          User_initialize4_UI();//lyh add 
  76   1              DbgPrint("into loop\n"); 
  77   1      //    SPLC501_Init(); 
  78   1              MAIN_LockLoop(); 
  79   1               
  80   1      } 
  81          //================================================================================================ 
  82          void MAIN_LockLoop(void) 
  83          { 
  84   1              U8 USB_State; 
  85   1              U8 tc_SuspendState; 
  86   1          
  87   1              while(1) 
  88   1              {       
  89   2                      USB_State = USB_GetState(); 
  90   2                  //printf("USB_State =%bx \n",USB_State); 
  91   2                      switch(USB_State) 
  92   2                      { 
  93   3                              case NO_USB://0x00 
  94   3      //HSTPrint("NO usb\n"); 
  95   3                                      UI_Process();//Process UI Flow!!! 
  96   3                                      tc_SuspendState = 0; 
  97   3                                      gc_USB_Connect=0;//lyh add 
  98   3                                      break;  
  99   3                              case USB_PHY_CONNECT://0x01//this state to show that the USB-jump-Line is connected,if call USB_Connect 
             - that mean D+ is high,so,pc is setup_ack;else to show just phy connect. 
 100   3      //HSTPrint("USB_PHY_CONNECT \n"); 
 101   3      //SPLC501_Printf(0x6,0,"USB_PHY_CONNECT"); 
 102   3      //ldelay(1); 
 103   3                      if(gc_USB_Connect==0)//lyh add 
 104   3                                  {                            
 105   4                         gb_USB_PowerPlug_Interrupt=1; 
 106   4                         UI_Process(); 
 107   4                         gb_USB_Setup_Ack=1; 
 108   4                         UI_Connect_USB(); 
 109   4       
 110   4                      } 
 111   3      #if 0   //REMOVE BY WSCHUNG 
                                              else if (tc_SuspendState)///????????????????????? 
                                              {//if state from SUSPEND to PHY_CONNECT,add user UI here  
                                                      UI_Process();    
                                              } 
C51 COMPILER V7.06   MAIN                                                                  02/01/2007 01:30:52 PAGE 3    
 
              #endif 
 117   3                      //printf("gb_USB_PowerPlug_Interrupt=%bu\n",gb_USB_PowerPlug_Interrupt); 
 118   3                      if((gc_SystemStateMode==SYSTEM_STATE0_IDLE)&&(!gc_USB_Connect)) 
 119   3                      { 
 120   4                         USB_Connect(); 
 121   4                                     gb_USB_PowerPlug_Interrupt=0; 
 122   4                      } 
 123   3                      gc_USB_Connect=1; 
 124   3      //                              BackLightOn; 
 125   3                      //printf("gc_SystemStateMode1=%bu\n",gc_SystemStateMode); 
 126   3                                      //please add your UI code here 
 127   3                                      break; 
 128   3                              case USB_REMOVE://0x02 
 129   3      //SPLC501_Printf(0x6,0,"USB_REMOVE"); 
 130   3                                      //please add your UI code here 
 131   3      //                HSTPrint("USB_REMOVE \n"); 
 132   3                                      USB_DisConnect(); 
 133   3                                      USER_Remove_USB(); 
 134   3                     // SPLC501_Disp_AllMusicLogoOff();//lyh add 
 135   3                      gc_USB_Connect=0;//lyh add 
 136   3      //                              BackLightOff; 
 137   3                                      break; 
 138   3                              case USB_STAND_BY://0x03//  
 139   3      //SPLC501_Printf(0x6,0,"USB_STAND_BY"); 
 140   3                     //  HSTPrint("USB_STAND_BY \n"); 
 141   3                      SPLC501_Disp_AllMusicLogoOff();//lyh add 
 142   3                                      //please add your UI code here 
 143   3                                      break; 
 144   3                              case USB_READ://0x04 
 145   3      //SPLC501_Printf(0x6,0,"USB_READ"); 
 146   3      //                HSTPrint("USB_READ \n"); 
 147   3                      LED_Blink();//lyh add 
 148   3                                      //please add your UI code here 
 149   3                                      break; 
 150   3                              case USB_WRITE: //0x05 
 151   3      //SPLC501_Printf(0x6,0,"USB_WRITE"); 
 152   3      //                HSTPrint("USB_WRITE \n"); 
 153   3                      LED_Blink();//lyh add 
 154   3                                      //please add your UI code here 
 155   3                                      break; 
 156   3                              case USB_SUSPEND:  
 157   3                                      //please add your Process UI Flow here  
 158   3      //                HSTPrint("USB_SUSPEND \n"); 
 159   3                      //SPLC501_Disp_AllMusicLogoOff(); 
 160   3      //SPLC501_Printf(0x6,0,"USB_SUSPEND"); 
 161   3                                      tc_SuspendState = 1; 
 162   3                      if (USB_PlugDetect()) 
 163   3                                      { 
 164   4                                      SPLC501_Printf(0x6,0,"PlugDetect"); 
 165   4                                        USB_Suspend(); 
 166   4                                        SPLC501_Init();                                
 167   4                                      }//else{ 
 168   3                                      //      UI_Process(); 
 169   3                                      //} 
 170   3                                      break; 
 171   3                              default: 
 172   3      //SPLC501_Printf(0x6,0,"default"); 
 173   3                                      break; 
 174   3                      } 
 175   2                      if(USB_State>USB_REMOVE) 
 176   2                      { 
 177   3                      //      HSTPrint("USB Other state \n"); 
C51 COMPILER V7.06   MAIN                                                                  02/01/2007 01:30:52 PAGE 4    
 
 178   3                              USB_Process(); 
 179   3      //                      #if ((K_CARD_TYPE &0x02)== 0x02) 
 180   3      //                      CardDetectInUsb(); 
 181   3      //                      #endif 
 182   3      //                      Usb_WriteProtectFunc(DbgP11);  //lss 060622 
 183   3                      } 
 184   2       
 185   2              } 
 186   1      } 
 187          //================================================================================================ 
 188          void UI_Process(void) 
 189          { 
 190   1              #if (K_CARD_TYPE == 0x03) 
                      SD_InsertState_Detect(); 
                      #endif 
 193   1       
 194   1              UI_PreProcessor_scan_key();    // lyh add 
 195   1       
 196   1              UI_Processorstate_transition();// lyh add 
 197   1       
 198   1              UI_EventPostDpc();             // lyh add 
 199   1       
 200   1              Audio_CoDec();                 // lyh add 
 201   1                       
 202   1              UI_Battery_Detect_ND_Display();//no suitable variable to show the USB is charging or not!  
 203   1               
 204   1              if (gc_SystemStateMode != STATE_RECORD) 
 205   1              { 
 206   2                      System_IdleManage();//为系统空闲时间的管理,其包括剩余空间的检索和FreeCluster的检索。 
 207   2              } 
 208   1       
 209   1       
 210   1      } 
 211           
 212          void ldelay(U8 i){ 
 213   1              while(i--){ 
 214   2                      USER_DelayDTms(250); 
 215   2                      USER_DelayDTms(250); 
 216   2                      USER_DelayDTms(250); 
 217   2                      USER_DelayDTms(250); 
 218   2              } 
 219   1      } 
 
 
MODULE INFORMATION:   STATIC OVERLAYABLE 
   CODE SIZE        =    241    ---- 
   CONSTANT SIZE    =     84    ---- 
   XDATA SIZE       =     28       2 
   PDATA SIZE       =   ----    ---- 
   DATA SIZE        =      5    ---- 
   IDATA SIZE       =   ----    ---- 
   BIT SIZE         =      7    ---- 
END OF MODULE INFORMATION. 
 
 
C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)