新聞中心

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

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

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

  4.2、功能定義

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


  4.3、AT89C51SND1C初始化 [8-9]

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

初始化設(shè)置

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

  void PllInit(void) { if (FirstStart)

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

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

  PLLCON = 0; //這里強(qiáng)制將其置為與用 Start Application按鈕時(shí)一致

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

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

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

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

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

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

  void PllInit(void)

  { if (FirstStart)

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

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

  PLLCON = 0; //這里強(qiáng)制將其置為與用Start Application 按鈕時(shí)一致

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

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

  //每個(gè)機(jī)器周期變成6 個(gè)振蕩周期即3 個(gè)時(shí)鐘周期

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

  PLLCON |= PLLEN;}

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


評論


相關(guān)推薦

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

關(guān)閉