新聞中心

EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 嵌入式多媒體播放器的設(shè)計與實現(xiàn)

嵌入式多媒體播放器的設(shè)計與實現(xiàn)

作者: 時間:2009-12-18 來源:網(wǎng)絡(luò) 收藏

  4.2、功能定義

  利用 Flash存儲器技術(shù)、MP3音頻解碼技術(shù)、USB接口技術(shù)、定時/計數(shù)器中斷等技術(shù),如下的幾大主要功能:(一)、讀取 MP3音頻文件;(二)、解碼 MP3音頻文件;(三)、播放解碼后的 MP3歌曲文件;(四)、人機交互接口。(五)、U盤的讀寫。


  4.3、AT89C51SND1C初始化 [8-9]

  播放 MP3文件時,首先需要對主控制器 AT89C51SND1C進行以下幾方面的初始化設(shè)置。如圖 7所示。

初始化設(shè)置

 ?。?)鎖相環(huán)初始化,MP3解碼器、USB控制器和音頻輸出接口使用的都是內(nèi)部鎖相環(huán)提供的時鐘。程序如下:

  void PllInit(void) { if (FirstStart)

  {AUXR1 = 0xf2; //這兩個寄存器的值在用 Start Application和直接上電時

   //不一樣,前一種情況下 MP3解碼器才工作,

  PLLCON = 0; //這里強制將其置為與用 Start Application按鈕時一致

  FirstStart = 0; } //PLLCON:鎖相環(huán)控制寄存器;鎖相環(huán)時鐘及 MP3解碼器時鐘設(shè)置

  CKCON |= X2; //0000 0001使能 X2模式,增加處理速度,

   //每個機器周期變成 6個振蕩周期即 3個時鐘周期 PLLCON = (~PLLRES); //使能 PLL PLLCON |= PLLEN;}

  (2)MP3解碼器的初始化,即對 MP3CON(MP3控制寄存器)和 MP3CLK(MP3時鐘除法器寄存器)進行設(shè)置。程序如下: //MP3時鐘頻率的計算方法:MP3CLK=PLLCLK/(int)(MPCD+1)負反饋

  MP3CLK|=MPCD; MP3CON = (~MSKREQ); //允許產(chǎn)生MP3中斷 MP3CON |= MPEN; //使能 MP3解碼器.

 ?。?)音頻輸出接口初始化,要得到兩個聲道串行數(shù)據(jù)前,需要先對音頻輸出接口的AUDCON0(音頻接口控制寄存器0)和 AUDCON1(音頻接口控制寄存器1)中的相關(guān)部分進行正確的設(shè)置。程序如下:

  void PllInit(void)

  { if (FirstStart)

  {AUXR1 = 0xf2; //這兩個寄存器的值在用Start Application 和直接上電時

  //不一樣,前一種情況下MP3 解碼器才工作,

  PLLCON = 0; //這里強制將其置為與用Start Application 按鈕時一致

  FirstStart = 0; } //PLLCON:鎖相環(huán)控制寄存器;鎖相環(huán)時鐘及MP3 解碼器時鐘設(shè)置

  CKCON |= X2; //0000 0001 使能X2 模式,增加處理速度,

  //每個機器周期變成6 個振蕩周期即3 個時鐘周期

  PLLCON = (~PLLRES); //使能 PLL

  PLLCON |= PLLEN;}

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉