【導(dǎo)讀】覺(jué)FPGA與單片機(jī)有許多類(lèi)似的地方。于是,啟發(fā)我用FPGA做一個(gè)可隨意演。奏的音樂(lè)播放器。設(shè)計(jì)低、中、高21個(gè)音,幾乎能夠?qū)崿F(xiàn)一般歌曲的演奏。只要控制輸出到揚(yáng)聲器的激勵(lì)信號(hào)頻率。的高低和持續(xù)的時(shí)間,就可以使揚(yáng)聲器發(fā)聲產(chǎn)生優(yōu)美的歌曲。頻率的高低決定了音調(diào)的高低。通過(guò)查閱資料,得到下面的音符名與頻率。對(duì)于樂(lè)曲中的休止符,只需將其分頻系數(shù)設(shè)為0,將分頻預(yù)置數(shù)設(shè)為16383. 例如:低音3的頻率為330hz,分頻比為3M/330hz=3000000/330=9091,音符的持續(xù)時(shí)間必須根據(jù)樂(lè)曲的速度及每個(gè)音符的節(jié)拍數(shù)來(lái)確定。,一個(gè)完整的節(jié)拍為1s。以上即為音樂(lè)播放器的原理框圖。音長(zhǎng)則是通過(guò)控制計(jì)數(shù)器預(yù)置數(shù)的停留時(shí)間來(lái)實(shí)現(xiàn)的,預(yù)置數(shù)停留的時(shí)間越長(zhǎng),每個(gè)音符的演奏時(shí)間都是的整數(shù)倍,對(duì)于節(jié)。此分頻電路也很簡(jiǎn)單,就不在這里給出仿真波形了。阻塞賦值),產(chǎn)生對(duì)應(yīng)音符的頻率,這里和單片機(jī)的定時(shí)計(jì)數(shù)器溢出中斷差不多。節(jié)拍,則在clk_4hz的上升沿,連續(xù)調(diào)用4次它的音符就可以了。