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

📄 main.lst

📁 威望公司MP3 + USB MCU 的参考软件
💻 LST
字号:
C51 COMPILER V8.01   MAIN                                                                  04/17/2008 09:54:43 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\Debug\main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main\main.c LARGE OPTIMIZE(9,SIZE) REGFILE(.\Debug\VA4010_SDK_V2.ORC) BROWS
                    -E NOINTPROMOTE INCDIR(.\common;.\e2prom;.\file;.\fmtx;.\ir;.\keyboard;.\lcm;.\led;.\main;.\matrixkey;.\mp3ctrl;.\sd;.\us
                    -bhost;.\include;.\lib) DEBUG OBJECTEXTEND PRINT(.\Debug\main.lst) OBJECT(.\Debug\main.obj)

line level    source

   1          /****************************************************************
   2          *                      Viaon Technology (Suzhou) Co.,Ltd
   3          *
   4          *    Copyright 2007, Viaon Technology (Suzhou) Co.,Ltd,Suzhou,China
   5          *                    All rights reserved.
   6          *
   7          *
   8          * Filename:             main.c
   9          *
  10          * Programmer:           Greg 
  11          *
  12          * Created:              1/2/2008
  13          *
  14          * Description:          public functions 
  15          *              
  16          *        
  17          * Change History (most recent first):   2008.1.2
  18          ****************************************************************/
  19          //#include <stdio.h>
  20          //#include <intrins.h>
  21          //#include <string.h>
  22          
  23          #include "utiltypedef.h"
  24          #include "va4010reg.h"
  25          #include "common.h"
  26          #include "timer.h"
  27          #include "halmp3dec.h"
  28          #include "hali2c.h"
  29          #include "hallcm.h"
  30          #include "halir.h"
  31          #include "halfm.h"
  32          #include "libfatif.h"
  33          #include "4010UI.h"
  34          #include "halvol.h"
  35          #include "halsdif.h"
  36          #include "halusbhif.h"
  37          #include "halinfo.h"
  38          #include "halrunled.h"
  39          #include "haldevchk.h"
  40          #include "display.h"
  41          
  42          BYTE data FSMState;
  43          BYTE DBUF[SECT_LEN];    // 512B data buffer
  44          STREAM *fd_mp3;
  45          BYTE volatile data keystatus;
  46          BYTE volatile data mp3status = MP3STATUS_IDLE;
  47          ST_SEARCH_INFO Mp3SearchInfo;
  48          ST_MP3_SREQ data Mp3SReq;       
  49          //extern BYTE code MyCarDot[];
  50          
  51          #ifdef SDENUM_RETRY_ENABLE 
              extern BYTE data bDEVFlag;
              #endif
C51 COMPILER V8.01   MAIN                                                                  04/17/2008 09:54:43 PAGE 2   

  54          static void _VA4010Reset(void)
  55          {
  56   1              //HW reset
  57   1              MP3_DEC_DISABLE();//Mp3Ctrl = 0x04; //Disable and mute MP3 dec
  58   1      
  59   1              //global variable clear
  60   1              FSMState = FSMSTATE_USB;
  61   1              keystatus = KEY_STATUS_NOKEY;
  62   1              fd_mp3 = NULL;
  63   1              //mp3status = MP3STATUS_IDLE;   
  64   1      
  65   1      #ifdef ENABLE_PLAYMODE_KEY
                      bPMode = MP3_PMODE_REPEAT; // Default Repeat All
              #endif
  68   1      
  69   1              return;
  70   1      }
  71          
  72          static void _halDevInit(void)
  73          {
  74   1              UartOutText("-I-: halDevInit() \r\n");
  75   1      
  76   1      #if (UART_DEBUG == UART_DEBUG_ENABLE)
                      SCON = SCON_BLAZE;                 // set UART speed 115200bps
              #endif
  79   1      
  80   1              P3_DDR &= 0xf7;//P3^3 IR input direc.
  81   1              MUTE_HW();      
  82   1              UartOutText("----MUTE_HW----\r\n");     
  83   1              halINTInit();   
  84   1              DispInit();
  85   1              halLEDInit();
  86   1              return;
  87   1      }
  88          
  89          /*------------------------------------------------------------------------------------*/
  90          void main(void)
  91          {
  92   1              BYTE devid;
  93   1              DISABLE_INTERRUPTS;
  94   1              
  95   1              halCheckInfo1();
  96   1              _halDevInit();
  97   1             _VA4010Reset();  
  98   1      
  99   1      #ifdef SDENUM_RETRY_ENABLE
                      //ReadE2PRom((BYTE*)&bDEVFlag, sizeof(bDEVFlag), SDENUM_PAGE_ADDR<<E2PROM_PAGE_SIZEEXP);
                      Read_N_Bytes((BYTE*)&bDEVFlag, sizeof(bDEVFlag), SDENUM_PAGE_ADDR<<E2PROM_PAGE_SIZEEXP);
                      if(bDEVFlag == SD_ENUMGOING_FLAG){
                              UartOutText("\rread SD_ENUMGOING_FLAG\t\n");
                              FSMState = FSMSTATE_SD;
                      }
              #endif
 107   1              
 108   1              while(1){
 109   2                      //usb Attach detect
 110   2                      if(FSMState==FSMSTATE_USB){
 111   3                              UartOutText("-----FSMSTATE_USB\r\n");
 112   3                              SysTicks = 0;
 113   3                              while(SysTicks < 10);
 114   3                              if(halUsbInit() == TRUE){       
 115   4                                      halLCMClear(0, 3);
C51 COMPILER V8.01   MAIN                                                                  04/17/2008 09:54:43 PAGE 3   

 116   4                                      halLCMWriteData(32, 1,"USB", 3);                                
 117   4                                      if(halUsbEnum()){
 118   5                                              DelayMs(2000);
 119   5                                              UartOutText("-I-: USB_DISK \r\n");
 120   5                                              devid = USB_DISK;
 121   5                                              FSMState = FSMSTATE_ATTACHED;
 122   5                                      }
 123   4                              }else{
 124   4                                      DelayMs(200);
 125   4      #ifdef ENABLE_SD_CARD   
 126   4                                      FSMState = FSMSTATE_SD;                 
 127   4      #endif          
 128   4                              }       
 129   3                      }
 130   2                      
 131   2      #ifdef ENABLE_SD_CARD
 132   2                      //sd Attach detect
 133   2                      if(FSMState == FSMSTATE_SD){
 134   3                              UartOutText("-----FSMSTATE_SD\r\n");
 135   3                              SysTicks = 0;
 136   3                              while(SysTicks < 10);
 137   3                              if(halSDCheck()){
 138   4                                      halLCMClear(0, 3);
 139   4                                      halLCMWriteData(40,1, "SD", 2);                         
 140   4                                      halSDInit();                            
 141   4                                      UartOutText("-I-: SD_DISK \r\n");                       
 142   4                                      devid = SD_DISK;
 143   4                                      FSMState = FSMSTATE_ATTACHED;
 144   4                              }else
 145   3                                      FSMState = FSMSTATE_USB;
 146   3                      }               
 147   2      #endif
 148   2                      //File System Init
 149   2                      if(FSMState == FSMSTATE_ATTACHED){
 150   3                              FileSystemInit();
 151   3                              DriveAdd(devid);
 152   3                              UartOutText("\r\n\r\n------------------\r\n");
 153   3                              Mp3SReq.bySType = SEARCH_MP3_TOTALCNT;// Search through the whole disk for total mp3 counter.
 154   3                              FileSearch(&Mp3SearchInfo, &Mp3SReq);   
 155   3                              halCheckMp3Info();
 156   3                              keystatus  = KEY_STATUS_PLAYPAUSE;
 157   3                              mp3status = MP3STATUS_WAKEUP;
 158   3                              FSMState = FSMSTATE_INIT;
 159   3                      }
 160   2      
 161   2                      if(FSMState == FSMSTATE_INIT){
 162   3                              if(halMp3Req(fd_mp3) == MP3_DATREQ_OVER){
 163   4                                      MP3_DEC_DISABLE();
 164   4                                      UartOutText("\r\n/*---------OV--------------*/\r\n");   
 165   4      #if 0
                                              //Check Device Disattachment
                                              if(halDevCheck(devid, DEV_CHECK_CUR) == FALSE){
                                                      UartOutText("Current device removed\r\n");
                                                      //FSMState = FSMSTATE_USB;
                                                      //FSMState = FSMSta[drv->DevID];
                                                      keystatus = KEY_STATUS_DEVCHG;
                                              }else{
              #endif                  
 174   4      #ifdef ENABLE_PLAYMODE_KEY              
                                                      if(bPMode == MP3_PMODE_REPEAT1){
                                                              mp3status = MP3STATUS_WAKEUP;
                                                              keystatus = KEY_STATUS_PLAYPAUSE;                       
C51 COMPILER V8.01   MAIN                                                                  04/17/2008 09:54:43 PAGE 4   

                                                      }else{
                                                              Mp3SReq.bySType = SEARCH_MP3_NEXT;
                                                              keystatus = KEY_STATUS_PLAYPAUSE;
                                                              mp3status = MP3STATUS_IDLE;
                                                      }
              #else
 184   4                                              Mp3SReq.bySType = SEARCH_MP3_NEXT;
 185   4                                              keystatus = KEY_STATUS_PLAYPAUSE;
 186   4                                              mp3status = MP3STATUS_IDLE;                     
 187   4      #endif
 188   4                                      //}
 189   4                              }
 190   3                              halVolSmthFSM();
 191   3                              
 192   3                              halDevPnP();            
 193   3                      }       
 194   2                      
 195   2                      halIRHandle();
 196   2                      halKeyFSM();
 197   2                      DispFSM();
 198   2                      halRunLED();
 199   2                      halKeyHandle(FSMState); 
 200   2      
 201   2              }
 202   1      
 203   1              return;
 204   1      }
 205          
 206          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    232    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =    523       1
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     10    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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