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)