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

📄 main.lst

📁 基于AT89C51SND1C的MP3源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
             -rn;}
 167   1              temp=FAT.DirEntryPoint;
 168   1      
 169   1              while(CommandBuffer[i]) {CommandBuffer[i-5]=CommandBuffer[i];i++;}
 170   1              CommandBuffer[i-5]=0;
 171   1              do
 172   1              {
 173   2                      FATGetFileName(filename,&(FAT.DirEntryPoint));
 174   2                      if (strcmp(filename,CommandBuffer)==0) {i=0; break;}
 175   2              }while(FATNextEntry(&(FAT.DirEntryPoint)));
C51 COMPILER V7.07   MAIN                                                                  05/23/2004 18:02:33 PAGE 4   

 176   1      
 177   1              if (i)
 178   1                      printf("文件\"%s\"未找到.",CommandBuffer);
 179   1              else
 180   1                      if (!FATIsDirectory(&(FAT.DirEntryPoint)))
 181   1                      {
 182   2                              MP3PlayDirPoint.ParentDirEntryClus=FAT.DirEntryPoint.ParentDirEntryClus;
 183   2                              MP3PlayDirPoint.CurrentDirEntryClus=FAT.DirEntryPoint.CurrentDirEntryClus;
 184   2                              MP3PlayDirPoint.CurrentClus=FAT.DirEntryPoint.CurrentClus;
 185   2                              MP3PlayDirPoint.CurrentOffset=FAT.DirEntryPoint.CurrentOffset;
 186   2                              MP3.File=FATOpenFile(&MP3PlayDirPoint);
 187   2                              LoadMP3Data(MP3.File);
 188   2                              printf(" 播放\"%s\"\n",CommandBuffer);
 189   2                              return;
 190   2                      }
 191   1                      else printf("\"%s\"是一个目录.",CommandBuffer);
 192   1              FAT.DirEntryPoint=temp;
 193   1      }
 194          
 195          void Stop(void)
 196          {
 197   1              MP3.Playing=0;
 198   1              FATCloseFile(MP3.File);
 199   1      }
 200          void Pause(void)
 201          {
 202   1              CLEAR_BIT_6(AUDCON1);
 203   1      }
 204          
 205          void GoOn(void)
 206          {
 207   1              SET_BIT_6(AUDCON1);
 208   1      }
 209          
 210          void Bass(void)
 211          {
 212   1              BYTE i,temp[4];
 213   1      
 214   1              for(i=5;i<9;i++)
 215   1                      temp[i-5]=CommandBuffer[i];
 216   1      
 217   1              if (strcmp(temp,"ON")==0)
 218   1              {
 219   2                      SET_BIT_6(MP3CON);
 220   2                      printf(" 重低音开\n");
 221   2              }
 222   1              else if(strcmp(temp,"OFF")==0)
 223   1              {
 224   2                      CLEAR_BIT_6(MP3CON);
 225   2                      printf("重低音关\n");
 226   2              }
 227   1      }
 228          
 229          void Volume(BYTE m)
 230          {
 231   1              BYTE n,temp[3];
 232   1      
 233   1              n=strlen(CommandBuffer);
 234   1              if ((n==6&&ISNUMBER(CommandBuffer[5]))||(n==7&&ISNUMBER(CommandBuffer[5])&&ISNUMBER(CommandBuffer[6])))
 235   1              {
 236   2                      for(n=5;n<8;n++)
 237   2                              temp[n-5]=CommandBuffer[n];
C51 COMPILER V7.07   MAIN                                                                  05/23/2004 18:02:33 PAGE 5   

 238   2                      n=(BYTE)atoi(temp);
 239   2                      printf("vol:%bd\n",n);
 240   2                      if (n>=0&&n<32)
 241   2                      {
 242   3                              if (m==0)
 243   3                              {
 244   4                                      MP3VOL=n;
 245   4                                      printf("左声道音量:%bd\n",MP3VOL);
 246   4                              }
 247   3                              else if(m==1)
 248   3                              {
 249   4                                      MP3VOR=n;
 250   4                                      printf("右声道音量:%bd\n",MP3VOR);
 251   4                              }
 252   3                              else
 253   3                              {
 254   4                                      MP3VOL=n;
 255   4                                      MP3VOR=n;
 256   4                                      printf("左声道音量:%bd 右声道音量:%bd\n",MP3VOL,MP3VOR);
 257   4                              }
 258   3                      }
 259   2              }
 260   1      }
 261          
 262          
 263          void main(void)
 264          {
 265   1              data  BYTE cmd;
 266   1      //      xdata BYTE function=0;
 267   1      
 268   1              P5=0;
 269   1              EA=1;
 270   1              memset((void *)&IDE,0,sizeof(struct IDEStr));
 271   1              memset((void *)&StorageMedia,0,sizeof(struct StorageMediaStr));
 272   1              StorageMedia.CurrentPartition=255;
 273   1      
 274   1              //初始化
 275   1              InitPLL();
 276   1              InitUART();
 277   1              InitKEY();
 278   1      //      InitTimer0();
 279   1              InitMP3Decoder(&MP3PlayDirPoint,filename);
 280   1              
 281   1              PrintLogo();
*** WARNING C206 IN LINE 281 OF MAIN.C: 'PrintLogo': missing function-prototype
 282   1      
 283   1              while(1)
 284   1              {
 285   2                      cmd=AcceptCmd();
*** WARNING C206 IN LINE 285 OF MAIN.C: 'AcceptCmd': missing function-prototype
 286   2                      switch(cmd)
 287   2                      {
 288   3                              case 0:         Help();                 break;
*** WARNING C206 IN LINE 288 OF MAIN.C: 'Help': missing function-prototype
 289   3                              case 1:         InitDisk();             break;
 290   3                              case 2:         ListDisk();             break;
 291   3                              case 3:         MountDisk();    break;
 292   3                              case 4:         ListDrive();    break;
 293   3                              case 5:         MountDrive();   break;
 294   3                              case 6:         Dir();                  break;
 295   3                              case 7:         Cd();                   break;
 296   3                              case 8:         Play();                 break;
C51 COMPILER V7.07   MAIN                                                                  05/23/2004 18:02:33 PAGE 6   

 297   3                              case 9:         Stop();                 break;
 298   3                              case 10:        Pause();                break;
 299   3                              case 11:        GoOn();                 break;
 300   3                              case 12:        Volume(0);              break;
 301   3                              case 13:        Volume(1);              break;
 302   3                              case 14:        Volume(2);              break;
 303   3                              case 15:        Bass();                 break;
 304   3                      }
 305   2              }       
 306   1      
 307   1              FATInit();
 308   1              FATSetStorageMedia(FAT_MEDIA_TYPE_HDD);
 309   1              FATGetPartitions();
 310   1              printf("Total Partitions:%bd\n",StorageMedia.TotalPartitions);
 311   1              FATMountPartition(DEFAULT_PARTITION);
 312   1              if (FATErrorCode==0)
 313   1                      printf("Mount Partition %bd OK\n",DEFAULT_PARTITION);
 314   1              else
 315   1              {
 316   2                      printf("Mount Partition %bd Error\n");
 317   2                      while(1);
 318   2              }
 319   1      
 320   1      
 321   1      
 322   1      
 323   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1956    ----
   CONSTANT SIZE    =    938    ----
   XDATA SIZE       =   1489     442
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     18       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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