亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? atmel mp3.lst

?? 在C51上 mp3 開發程序 32M MP3 MP3功能的測試源碼
?? LST
字號:
C51 COMPILER V7.50   ATMEL_MP3                                                             03/07/2005 09:36:39 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE ATMEL_MP3
OBJECT MODULE PLACED IN ATMEL MP3.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ATMEL MP3.C LARGE ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          /*********************************************************************************************************
   3          **                                        
   4          **                                  MP3 and U Disk Source Code
   5          **                           Copyright (c) 2005,北京博創興業科技有限公司
   6          **                                      All Rights Reserved
   7          **                                           V3.00.0
   8          **
   9          **--------------文件信息--------------------------------------------------------------------------------
  10          **文   件   名:  ATMEL MP3.C
  11          **創   建   人:  Frank   Wang Xiao Jun
  12          **創 建  日 期:  2003.12
  13          **描        述:  文件系統和MP3歌曲的解碼播放代碼
  14          **
  15          **--------------歷史版本信息----------------------------------------------------------------------------
  16          ** 創建人:      Frank   Wang Xiao Jun
  17          ** 版  本:      V1.00.0
  18          ** 日 期:      2003.12
  19          ** 描 述:  文件系統和MP3歌曲的解碼播放代碼
  20          **
  21          **------------------------------------------------------------------------------------------------------
  22          ** 修改人:      Kent   Zou Ying
  23          ** 版  本:  V2.00.0
  24          ** 日 期:      2004. 5
  25          ** 描 述:      文件系統和MP3歌曲的解碼播放代碼
  26          **
  27          **--------------當前版本修訂------------------------------------------------------------------------------
  28          ** 修改人:      Phoenix    Hua Yue Guang
  29          ** 版  本:  V3.00.0
  30          ** 日 期:      2005.3
  31          ** 描 述:      文件系統和MP3歌曲的解碼播放代碼
  32          **
  33          **------------------------------------------------------------------------------------------------------
  34          ********************************************************************************************************/
  35          #include <string.h>
  36          
  37          #define Root_Cluster     (0)
  38          #define Begin_Cluster    (0)                              //MBR所在的簇號
  39          #define Data_Cluster     (1)                              //數據真正開始的扇區
  40          
  41          #define BPB_Sector           (0)
  42          #define Fat_Sector           (BPB_Sector + 1)
  43          #define Directory_Sector (Fat_Sector + 4)
  44          #define End_Cluster              (Disk_Size / 32)
  45          
  46          #define UNUSED_MARK              (0xFF)
  47          #define BAD_MARK                 (0x00)
  48          #define LAST_BLOCK               (0xFFFF)
  49          #define FILE_NO_FOUND    (512)
  50          
  51          #define PagePerClus           32
  52          
  53          #define FAT12            (12)
  54          #define FAT16            (16)
  55          #define FAT32            (32)
C51 COMPILER V7.50   ATMEL_MP3                                                             03/07/2005 09:36:39 PAGE 2   

  56          
  57          #define K9F_FUN                         P5
  58          #define K9F5608                         0x4000
  59          #define COMMAND                         0x03    
  60          #define ADDRESS                         0x05    
  61          #define D_DATA                          0x01
  62          #define INACTIVE                        0x09    
  63          #define RB                                      0x01
  64          
  65          //數據結構與全局變量定義  
  66          unsigned char Page_Buf[512];
  67          extern unsigned char SONG[];
  68          long int Current_Cluster, DataRead = 0, DataRemain = 0, Sector_Offset = 0x21d;
  69          unsigned int TotalCluster, BootSector, RsdSector, SectorofFatSize, TotalCapacity, RootEntry, SecPerClus;
  70          unsigned int TotalSector, BytesPerSec, FirstDataSec;
  71          unsigned char FAT_TYPE; 
  72          
  73          
  74          int ReadSector(unsigned char *Name, unsigned char *databuff);
  75          unsigned char GetMP3List(void);
  76          void Init_FAT_Info(void);
  77          
  78          extern void ReadPage(unsigned int block, unsigned int page, unsigned char *pPage);
  79          
  80          
  81          void Init_FAT_Info(void)
  82          {
  83   1      /*      得到引導扇區所在扇區號,如果介質是不帶分區的,則0扇區就是BootSector了。 */
  84   1              ReadPage(Begin_Cluster, 0, Page_Buf);
  85   1      
  86   1              if (!(Page_Buf[0] == 0xeb && Page_Buf[2] == 0x90))                                        //通過判斷EB ?? 90來看是否已經是BPB了
  87   1              {                                                                                                                                         //帶分區的介質
  88   2                      
  89   2                      BootSector = Page_Buf[454] + Page_Buf[455] * 256 + Page_Buf[456] * (256 * 256) + Page_Buf[457] * (256 * 
             -256 * 256);
  90   2              }
  91   1              else 
  92   1              {
  93   2                      BootSector = 0;
  94   2              }
  95   1      
  96   1      /*      得到保留扇區數,總扇區數,總扇區數/每簇扇區數得到簇數,是FAT類型的依據      */
  97   1              ReadPage(Begin_Cluster, BootSector, Page_Buf);
  98   1              RsdSector = Page_Buf[14] + Page_Buf[15] * 256;
  99   1              SecPerClus = Page_Buf[13];
 100   1      
 101   1              BytesPerSec = Page_Buf[12] * 256 + Page_Buf[11];
 102   1      
 103   1              TotalSector = (Page_Buf[20] * 256 + Page_Buf[19]);
 104   1              TotalCapacity = TotalSector * BytesPerSec;
 105   1              TotalCluster = TotalSector / SecPerClus;                              //FAT16的簇總數=扇區總數/每簇扇區數
 106   1      
 107   1              SectorofFatSize = ((Page_Buf[22] + Page_Buf[23] * 256));
 108   1              RootEntry = (Page_Buf[18] * 256 + Page_Buf[17]);
 109   1       
 110   1              FirstDataSec = BootSector + RsdSector + (SectorofFatSize * 2) + ((RootEntry * 32 + (BytesPerSec-1)) / Byt
             -esPerSec);
 111   1      
 112   1              if (TotalCluster > 65525)                                                                                         //FAT32的扇區總數和FAT表項長度
 113   1              {               
 114   2                      FAT_TYPE = FAT32;
 115   2      
C51 COMPILER V7.50   ATMEL_MP3                                                             03/07/2005 09:36:39 PAGE 3   

 116   2                      if (TotalSector == 0) 
 117   2                      {
 118   3                              TotalSector = (Page_Buf[32] + Page_Buf[33] * 256 + Page_Buf[34] * 256 * 256 + Page_Buf[35] * 256 * 256 
             -* 256);
 119   3                      }
 120   2                      TotalCapacity = TotalSector * BytesPerSec;
 121   2                      TotalCluster = TotalSector / SecPerClus;
 122   2      
 123   2                      SectorofFatSize = (Page_Buf[36] + Page_Buf[37] * 256 + Page_Buf[38] * 256 * 256 + Page_Buf[39] * 256 * 2
             -56 * 256);
 124   2                      if (SectorofFatSize > (TotalCluster * 16 / 512))
 125   2                      {
 126   3                              SectorofFatSize = ((Page_Buf[22] + Page_Buf[23] * 256));
 127   3                      }
 128   2                      RootEntry = (Page_Buf[44] * 256 + Page_Buf[43]);
 129   2                      FirstDataSec = BootSector+RsdSector + (SectorofFatSize * 2) + ((RootEntry * 32 + (BytesPerSec-1)) / Byte
             -sPerSec);
 130   2                      
 131   2              }
 132   1              else if ((TotalCluster > 0) && (TotalCluster < 4085)) 
 133   1              {
 134   2                      FAT_TYPE = FAT12;
 135   2              }
 136   1              else
 137   1              {       
 138   2                      FAT_TYPE = FAT16;
 139   2              }
 140   1      }
 141          
 142          unsigned char GetMP3List(void)
 143          {
 144   1              unsigned char i = 0, j = 0, l = 0;
 145   1              int k = 0;
 146   1              unsigned char MP3[3] = {'M', 'P', '3'};
 147   1              Init_FAT_Info();
 148   1      
 149   1              k = BootSector + RsdSector + 2 * SectorofFatSize;
 150   1      
 151   1              ReadPage(0 + k / 32, k % 32, Page_Buf);
 152   1       
 153   1              while (Page_Buf[0] != 0)                                                                                  //遍歷整個目錄
 154   1              {
 155   2                      for (j=0; j<16; j++)
 156   2                      {
 157   3                              if (!Page_Buf[j * 32]) break;
 158   3                              if (Page_Buf[j * 32] == 0xE5) continue;
 159   3      
 160   3                              if (!memcmp(MP3, &Page_Buf[j * 32 + 8], 3))                                       //file find
 161   3                              {       
 162   4                                              for (i=0; i<11; i++) 
 163   4                                              {
 164   5                                                      SONG[l * 11 + i] = Page_Buf[j * 32 + i];
 165   5                                              }
 166   4                                              l++;
 167   4                              }
 168   3                      }
 169   2                      k++;
 170   2                      ReadPage(0 + k / 32, k % 32, Page_Buf);
 171   2              }
 172   1              return (l);
 173   1      }
 174          
C51 COMPILER V7.50   ATMEL_MP3                                                             03/07/2005 09:36:39 PAGE 4   

 175          int ReadSector(unsigned char *Name, unsigned char *databuff)
 176          {
 177   1              int i, k, Page;
 178   1              unsigned  long CurrentSector;
 179   1              if (DataRead == 0)                                                    //第一次讀取,先查找文件,然后進行

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜精品福利| 69p69国产精品| 捆绑变态av一区二区三区| 综合激情成人伊人| 国产精品人成在线观看免费 | 国产精品欧美久久久久无广告 | 丰满亚洲少妇av| 国产成人综合精品三级| 国产一二精品视频| 成人性生交大片免费| a在线欧美一区| 一本久久a久久精品亚洲| 亚洲v日本v欧美v久久精品| 亚洲久草在线视频| 亚洲第一福利视频在线| 日韩av在线发布| 久久99国产精品免费网站| 国产精品亚洲一区二区三区妖精| 久草在线在线精品观看| 国产成人在线网站| 色8久久人人97超碰香蕉987| 日本韩国精品在线| 制服.丝袜.亚洲.另类.中文| 26uuu精品一区二区在线观看| 久久人人97超碰com| 国产精品麻豆欧美日韩ww| 亚洲一区二区三区美女| 久久99精品国产麻豆婷婷| 成人激情校园春色| 在线观看欧美精品| 欧美大片在线观看一区| 国产精品久久午夜| 日韩精品电影一区亚洲| 国产一区二区久久| 91在线播放网址| 91精品国产综合久久福利| 久久久国产午夜精品| 一区二区三区四区在线播放| 蜜桃传媒麻豆第一区在线观看| 国产精品一区二区在线观看网站| 色综合久久99| 337p粉嫩大胆噜噜噜噜噜91av| 中文字幕欧美日本乱码一线二线| 亚洲一区视频在线观看视频| 久久99精品久久久久久| 欧洲一区二区三区免费视频| 久久久久久久综合狠狠综合| 亚洲综合色自拍一区| 国产一区二区三区免费| 7777精品伊人久久久大香线蕉的| 国产精品入口麻豆原神| 激情六月婷婷综合| 精品卡一卡二卡三卡四在线| 亚洲黄一区二区三区| 国产精品1区二区.| 日韩情涩欧美日韩视频| 亚洲一区二区三区中文字幕| 国产福利一区在线| 精品日本一线二线三线不卡| 亚洲综合999| 99精品视频一区| 久久精品人人做| 久久国产精品露脸对白| 欧美日韩黄色一区二区| 依依成人综合视频| 91香蕉国产在线观看软件| 久久久久久夜精品精品免费| 麻豆国产一区二区| 3atv在线一区二区三区| 香港成人在线视频| 欧美视频在线一区二区三区 | 3d动漫精品啪啪| 亚洲国产精品一区二区www在线| 成人高清免费观看| 国产欧美一区二区在线| 国产精品伊人色| 26uuu成人网一区二区三区| 日欧美一区二区| 欧美军同video69gay| 亚洲福利视频一区| 欧美日韩午夜在线| 亚洲国产欧美日韩另类综合| 99re热这里只有精品视频| 国产精品少妇自拍| 99re免费视频精品全部| 亚洲乱码国产乱码精品精的特点| 成人手机电影网| 中日韩av电影| 色婷婷av一区二区三区大白胸| 亚洲视频狠狠干| 色94色欧美sute亚洲线路一久| 亚洲精品欧美综合四区| 欧美午夜不卡在线观看免费| 亚洲第一成人在线| 精品国产乱码久久久久久久| 国产老肥熟一区二区三区| 国产精品久久久久久久久果冻传媒 | 国产在线视视频有精品| 国产亚洲va综合人人澡精品| 国产真实乱对白精彩久久| 中文字幕一区二区三区四区不卡| 99re热这里只有精品视频| 亚洲成国产人片在线观看| 精品少妇一区二区三区日产乱码| 国产高清不卡二三区| 一区二区三区欧美日| 337p亚洲精品色噜噜噜| 国产99一区视频免费 | 一区二区三区四区不卡视频| 欧美狂野另类xxxxoooo| 国产精品系列在线播放| 中文字幕亚洲欧美在线不卡| 欧美日韩视频在线一区二区| 精品写真视频在线观看| 自拍视频在线观看一区二区| 在线观看91av| 成人av综合在线| 麻豆精品在线视频| 亚洲欧美激情视频在线观看一区二区三区| 欧美亚一区二区| 国产乱理伦片在线观看夜一区| 亚洲免费观看高清| 国产亚洲欧洲997久久综合| 欧美亚洲免费在线一区| 国产一级精品在线| 亚洲bdsm女犯bdsm网站| 国产精品天天看| 欧美一区二区成人| 色综合激情五月| 国产成人av电影在线播放| 爽好久久久欧美精品| 亚洲欧洲另类国产综合| 久久一区二区视频| 欧美日本韩国一区二区三区视频| 国产99久久久久久免费看农村| 午夜精品久久久久久久| 亚洲日本va在线观看| 日本一区二区三区视频视频| 日韩欧美国产电影| 欧美一区二区三区四区在线观看| 99re成人在线| 成人黄色网址在线观看| 国产一区二区网址| 久久99精品一区二区三区| 亚洲成av人片www| 一区二区三区在线观看视频| 亚洲国产高清aⅴ视频| 日韩精品一区二区三区蜜臀| 欧美人狂配大交3d怪物一区| 欧洲av在线精品| 91免费看视频| 99久久久国产精品| 不卡一区二区三区四区| 成人精品视频网站| 丰满少妇久久久久久久| 国产福利不卡视频| 国产成人亚洲综合a∨猫咪| 国产高清在线精品| 国产精品1区2区3区| 日本电影亚洲天堂一区| 91小视频免费观看| 91国在线观看| 欧美片在线播放| 日韩丝袜情趣美女图片| 日韩一区二区电影| 欧美精品一区二区三区视频 | 95精品视频在线| 99国内精品久久| 欧美伊人久久久久久久久影院| 欧美中文字幕久久| 欧美理论在线播放| 欧美videossexotv100| 国产亚洲综合色| 亚洲欧美欧美一区二区三区| 一区二区三区高清在线| 日韩高清不卡一区二区三区| 麻豆91在线播放免费| 国产一区二区导航在线播放| 成人黄页在线观看| 欧美揉bbbbb揉bbbbb| 日韩丝袜情趣美女图片| 日本一二三不卡| 亚洲永久精品大片| 久久99国产精品麻豆| 96av麻豆蜜桃一区二区| 在线播放中文一区| 久久精品日韩一区二区三区| 亚洲色图清纯唯美| 日韩高清一区在线| av亚洲精华国产精华| 91精品国产综合久久久久久| 久久婷婷色综合| 亚洲在线中文字幕| 国产精品一二二区| 欧美日韩国产a| 国产午夜精品一区二区| 五月婷婷激情综合网| 国产成人在线网站| 欧美一区二区美女| 亚洲天堂福利av|