📄 mp3_player.lst
字号:
183 4 case 4: LCD_printen(72,3,"Down 1");break;
184 4 case 5: LCD_printen(72,3,"Down 2");break;
185 4 case 6: LCD_printen(72,3,"Up 1 ");break;
186 4 case 7: LCD_printen(72,3,"Up 2 ");break;
187 4 case 8: LCD_printen(72,3,"STOP..");break;
188 4 case 9: LCD_printen(72,3,"PLAY..");break;
189 4
190 4 }
191 3 //
192 3
193 3 }while (!PlayState); //Pause control
194 2 //////////////////////////////////////////
195 2 if(KeyState==KeyState1) KeyState = 0;
196 2
197 2 if (ChangeSong)
198 2 {
199 3 DataRead = 0;
200 3 ChangeSong = 0;
201 3 m =1;
202 3 }
203 2
204 2 if (RDCOUNT < 512)
205 2 {
206 3 NowPlaying++;
207 3 MP3InitFlag = 1;
208 3 m =1;
209 3 }
210 2
211 2 if(m)
212 2 {
213 3 while(MP3STA1 & MPFREQ)
214 3 MP3DAT = 0x00;
215 3 return;
216 3 }
217 2 }
218 1
219 1 }
220
221
222
223
224 void Func()
225 {
226 1 if (CurrentFun < 3)
227 1 CurrentFun++;
228 1 else if (CurrentFun == 3)
229 1 CurrentFun = 1;
230 1
231 1 switch(CurrentFun)
232 1 {case VOLUME: KeyState = 1;
233 2 //LCD_printen(72,2,"VOLUME");
234 2 break;
235 2 case EFFECTION: KeyState = 2;
236 2 //LCD_printen(72,2,"TONE ");
237 2 break;
238 2 case SELECTSONG: KeyState = 3;
239 2 //LCD_printen(72,2," ");
C51 COMPILER V8.08 MP3_PLAYER 05/19/2008 19:51:05 PAGE 5
240 2 break;
241 2 }
242 1
243 1
244 1
245 1 }
246
247
248 void Next()
249 {
250 1 switch (CurrentFun)
251 1 {
252 2 case VOLUME :
253 2 if (MP3VOR > 0x00)
254 2 {
255 3 MP3VOR -= 0x01;
256 3 MP3VOL -= 0x01;
257 3 KeyState = 4;
258 3 //LCD_printen(72,3,"Down 1");
259 3 }
260 2 break;
261 2
262 2 case EFFECTION :
263 2 if (MP3BAS > 2)
264 2 {
265 3 MP3BAS -= 2;
266 3 MP3TRE += 2;
267 3 KeyState = 5;
268 3 //LCD_printen(72,3,"Down 2");
269 3 }
270 2 break;
271 2
272 2 case SELECTSONG :
273 2 if (NowPlaying == (NumofSong - 1))
274 2 NowPlaying = 0;
275 2 else
276 2 NowPlaying++;
277 2 MP3InitFlag = 1;
278 2 ChangeSong = 1;
279 2 break;
280 2 default: break;
281 2 }
282 1
283 1 }
284
285
286 void Previous()
287 {
288 1 switch (CurrentFun)
289 1 {
290 2 case VOLUME :
291 2 if (MP3VOR < 0x1f)
292 2 {
293 3 MP3VOR += 0x01;
294 3 MP3VOL += 0x01;
295 3 KeyState = 6;
296 3 //LCD_printen(72,3,"Up 1 ");
297 3 }
298 2 break;
299 2
300 2 case EFFECTION :
301 2 if (MP3BAS < 0x1e)
C51 COMPILER V8.08 MP3_PLAYER 05/19/2008 19:51:05 PAGE 6
302 2 {
303 3 MP3BAS += 2;
304 3 MP3TRE -= 2;
305 3 KeyState = 7;
306 3 //LCD_printen(72,3,"Up 2 ");
307 3 }
308 2 break;
309 2
310 2 case SELECTSONG :
311 2 if (NowPlaying > 0)
312 2 NowPlaying--;
313 2 else
314 2 NowPlaying = NumofSong - 1;
315 2
316 2 MP3InitFlag = 1;
317 2 ChangeSong = 1;
318 2 break;
319 2 default: break;
320 2 }
321 1
322 1 }
323
324
325 void PlayPause()
326 {
327 1 PlayState = !PlayState;
328 1 //Mute(!PlayState);
329 1 if (PlayState==0)
330 1 {printu("STOP..\n");
331 2 KeyState = 8;
332 2 //LCD_printen(72,3,"STOP..");
333 2 }
334 1 else
335 1 {printu("PLAY.....\n");
336 2 KeyState = 9;
337 2 //LCD_printen(72,3,"PLAY..");
338 2 }
339 1 }
340
341 void Mute(unsigned char sw)
342 {
343 1 static char volume;
344 1
345 1 if(sw)
346 1 {
347 2 volume = MP3VOL;
348 2 MP3VOR = 0x00;
349 2 MP3VOL = 0x00;
350 2 AUDCON1 &= (~0x01);
351 2 MP3CON &= (~MPEN);
352 2 }
353 1 else
354 1 {
355 2 MP3VOR = volume;
356 2 MP3VOL = volume;
357 2 AUDCON1 |= 0x01;
358 2 MP3CON |= MPEN;
359 2 }
360 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V8.08 MP3_PLAYER 05/19/2008 19:51:05 PAGE 7
CODE SIZE = 1223 ----
CONSTANT SIZE = 75 ----
XDATA SIZE = 91 25
PDATA SIZE = ---- ----
DATA SIZE = 12 ----
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 + -