<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的MP3播放器設(shè)計(jì)

          基于單片機(jī)的MP3播放器設(shè)計(jì)

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


          1.2 音頻解碼模塊
          音頻解碼模塊包括2大部分控制器和專用音頻解碼芯片VS1003。
          1.2.1 音頻解碼芯片VS1003
          VS1003是一個(gè)單片/WMA/MIDI音頻解碼器和ADPCM編程器。它包含一個(gè)高性能、自主產(chǎn)權(quán)的低功耗DSP處理器核VS_DSP,并提供5KB的指令RAM和0.5 KB的數(shù)據(jù)RAM。產(chǎn)生MIDI/SP-MIDI文件,內(nèi)含高性能片上立體聲數(shù)/模轉(zhuǎn)換器,兩聲道,無相位差,在播放音頻文件時(shí)不需要外加驅(qū)動(dòng)電路,VS1003內(nèi)部自帶耳機(jī)功放,只要調(diào)試好電路系統(tǒng),接入耳機(jī)就可以聽到美妙的音樂。同時(shí),VS1003為用戶提供5.5 KB的片上RAM,并支持SPI串行通信的控制數(shù)據(jù)接口。
          1.2.2 工作原理
          系統(tǒng)上電啟動(dòng)后,由控制將存儲(chǔ)于U盤中歌曲的數(shù)據(jù)格式流信息通過CH375USB接口芯片送入到VS1003芯片中,通過VS1003芯片解碼及其內(nèi)含高質(zhì)量的立體聲DAC和耳機(jī)驅(qū)動(dòng)電路,實(shí)現(xiàn)MP3歌曲的播放,在按鍵的控制下,可實(shí)現(xiàn)對(duì)歌曲的選擇、音量增減等功能。VS1003的所有數(shù)據(jù)和控制命令均通過SPI總線接口實(shí)現(xiàn),由于中所采用的沒有SPI接口,因此,在中采用單片機(jī)的3個(gè)I/O口來模擬SPI時(shí)序,以達(dá)到實(shí)現(xiàn)SPI通信功能。電路如圖3所示。


          1.3 鍵盤及顯示模塊
          鍵盤采用的是獨(dú)立按鍵,與單片機(jī)P30~P34相連接,實(shí)現(xiàn)“開始”、“下一曲”、“上一曲”、“音量+”和“音量-”等5個(gè)功能。播放的狀態(tài)由Nokia5110液晶顯示,該液晶為84×48點(diǎn)陣的LCD,可以顯示4行漢字,并支持串行通信協(xié)議,傳輸速率高達(dá)4 Mb/s,可全速寫入顯示數(shù)據(jù),方便地與單片機(jī)進(jìn)行通信。該液晶外部信號(hào)線僅有9條,節(jié)約本來就緊張的I/O口,其串行通信模式下的控制時(shí)序如圖4所示。

          單片機(jī)相關(guān)文章:單片機(jī)教程


          單片機(jī)相關(guān)文章:單片機(jī)視頻教程


          單片機(jī)相關(guān)文章:單片機(jī)工作原理




          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();