欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3764|回復: 0
打印 上一主題 下一主題
收起左側

我的WAV播放器

[復制鏈接]
跳轉到指定樓層
樓主
ID:77705 發表于 2015-4-22 11:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我的WAV播放器
自己可以說是一個資深的、水平十分有限的真正音樂愛好者,尤其對古典音樂以及國內經典歌曲和樂曲十分喜愛,對于目前流行歌壇則比較陌生。憑借自己的自控專業,從80年代的單板機(現在好多人沒見過和聽說過)、8位單片機、PLC、到現在的DCS都開發過,因此動手制作WAV播放器的想法由來已久。雖說原先使用過單片機編程,對C語言也比較熟悉,但比較論壇中的各種方案,認為一般的單片機難以處理和傳送WAV的龐大數據量。因此,選用了STM32F103RBT6為主控芯片、VS1053B作為解碼芯片、LCD1602為顯示器、SD卡(8G)。
為加快項目的進度,先采用模塊拼接,在春節后開始動工,終于在“五一”前夕初步完成各項軟件的調試。
下圖為各個模塊:
下圖為各模塊之間的接線表
各個模塊組裝后放入機箱中,接線比較亂。因第一階段的工作主要是軟件調試,因此未安裝DA解碼板(采用與VS1053BI2S接口匹配的PCM1793解碼器和運放組成)。
面板按上、下、左、右、中布置了5個按鍵,這5個按鍵的功能在不同的界面上是不同的。
下圖為VS1053B的測試畫面。
各項功能測試完成后,表明模塊功能完好。RAM測試結果為“0x83ff”,確定了解碼芯片確實是VS1053B。為減少程序的字節數,測試完成后,將今后編程不再需要的測試函數和定義全部刪除(當然要做好備份)。
進行完整的程序設計……,最終完成。
下圖為開機畫面。
按下中間按鍵后,進入“菜單”界面,有3個選項:
1next:進入下一級畫面;
2、音效調整:默認關閉;
3、高低音調整:默認高低音增益均為最大值。
采用按動左按鍵,閃爍光標在3個選項上循環移動。按下中間按鍵后,選定光標所在的選項。
采用默認值,可直接進入下一級畫面。
下圖為“音效調整”畫面。共有“關閉、最小、中等和最大”4個選項,通過左右按鍵,各個選項分別顯示,按下中間按鍵后進行確認,回到“菜單”界面。
下圖為“音調調整”畫面。通過按動左右鍵,閃爍光標在“低音”和“高音”之間移動,按上下鍵可以改變光標坐在選項的數值,按下中間按鍵后進行確認,回到“菜單”界面。
在“菜單”界面中,按下中間按鍵后進入到“選曲”界面。顯示SD卡的根目錄中存放的可播放的WAN文件總數。在設計上,最大數目為99首。通過上下按鍵可快速(±10)循環選曲,左右按鍵可逐個(±1)循環選曲,按下中間按鍵后進行確認,進入到“播放”界面
下圖為“播放”界面。
1、界面第一行分別顯示的是:正在播放的曲號、播放的剩余時間以及當前的音量值。在播放時按動上下鍵可改變音量(音量值為0~30),按動左右按鍵可進行前后換曲。
2、界面第二行分別顯示“傳輸速率”和“采樣頻率”。因1602的顯示量有限,程序設計時這些數據均使用整數定義,顯示中未包含小數。如下圖中的“采樣頻率”實際值應為“44.1kHz”。
播放時,從VS1053B模塊的耳機插孔傳出的聲音十分流暢,沒有卡頓現象。主要在播放程序上開辟了4096字節的緩沖區。首先從SD卡中一次讀出4096個字節的數據,存放在緩沖區中;再由緩沖區向VS1053B傳送數據,按照要求每次傳送32個字節。詳細指令網上都有。注意:SPI的讀寫操作一定要采用寄存器指令方式進行,生成的代碼量小,可加快程序的實時性;如果采用庫函數指令方式操作,由于代碼量較大,非常容易出現卡頓現象。
在程序設計中,為方便編寫,對大部分實時性要求不高的代碼,應采用庫函數指令。
在播放當中,按下中間按鍵時,退出播放。在畫面上閃爍的“>”的字符,提示關閉電源。
主要功能就介紹到這里。項目中使用程序大部分借鑒網上,自己主要在菜單和畫面顯示上進行了程序設計。
說實在的,第一次使用STM32,程序調試中出現了不少問題,逐一解決,終于完成全部程序的編寫和調試。
下一步,自己設計電路,將各個模塊(包含DA和功放)設計在一塊線路板上,電源部分為±15V,最終實現用高保真耳機欣賞無損WAV音樂。

評分

參與人數 1黑幣 +35 收起 理由
admin + 35 共享資料的積分獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表