久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3766|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

我的WAV播放器

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

評(píng)分

參與人數(shù) 1黑幣 +35 收起 理由
admin + 35 共享資料的積分獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩三区 | 欧美精品在线免费观看 | 国产精品久久久久久福利一牛影视 | 亚洲成人精品 | 99久久免费精品国产男女高不卡 | 国产性网 | 国产精品国产馆在线真实露脸 | 欧美黑人国产人伦爽爽爽 | 一区二区三区av夏目彩春 | 国产精品视频久久 | 成人免费网站在线 | 精品av天堂毛片久久久借种 | 久久99一区二区 | 精品一区二区三区四区视频 | 中文字幕视频在线免费 | 欧美日韩国产传媒 | 欧美午夜精品久久久久久浪潮 | 欧美日韩在线观看一区二区三区 | 999热在线视频 | 久久99精品久久久 | 精品日韩一区 | 一区二区三区中文字幕 | 亚洲国内精品 | 中文字幕一区二区三区精彩视频 | 国产一区二区在线91 | 中文字幕av一区二区三区 | 亚洲国产成人精品久久 | 国产精品乱码一二三区的特点 | 久久精品国产一区二区电影 | 亚洲一区二区三区福利 | 午夜精品视频在线观看 | 国产精品久久久久久久久免费桃花 | 天天狠狠 | 无码一区二区三区视频 | 欧美一级做性受免费大片免费 | 日韩成人精品在线 | 色爱区综合 | 国产在线一区二区三区 | 国产美女自拍视频 | 91 久久 | 欧美三级在线 |