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

📄 mp3_player.lst

📁 基于atmel单片机的MP3设计。音质很好
💻 LST
📖 第 1 页 / 共 2 页
字号:
 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 + -