<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機播放音樂(lè )解析

單片機播放音樂(lè )解析

作者: 時(shí)間:2011-08-02 來(lái)源:網(wǎng)絡(luò ) 收藏

,或者彈奏電子琴,實(shí)際上是按照特定的頻率,輸出一連串的方波。為了輸出合適的方波,首先應該知道音符與頻率的關(guān)系。
1.音名
從常見(jiàn)的電子琴的鍵盤(pán)談起。
在下表中,可以看到一列黑白相間的琴鍵(示意)。主要分成低音、中音和高音三個(gè)區域,每個(gè)區域都有12個(gè)琴鍵。其中的白鍵,簡(jiǎn)譜音符標為1、2、3、4、5、6、7,大家一般都讀成哆、來(lái)、咪、發(fā)、嗦、拉、西。
2.頻率
注意看一下幾個(gè)6(拉)的頻率,它們是整數,容易看出規律DD是成2倍的關(guān)系。其它的音符,也有同樣的規律。這些頻率,如220、440等,它們在琴鍵上的位置是世界統一的,無(wú)論是鋼琴、手風(fēng)琴,還是電子琴,都是一樣的。
包括黑鍵和白鍵在內的全部音符的頻率數值,是成“等比數列”的關(guān)系,它們之間有個(gè)公比,可以按照“2倍”的規律推算出來(lái)。
已知最低音的6(拉)的頻率是220,設公比為q,那么:7的頻率就是220*q*q 。
乘了兩個(gè)q,是因為6、7之間隔了個(gè)黑鍵。以此類(lèi)推,兩個(gè)6之間,共有12個(gè)琴鍵,所以:
低音區的6(拉)的頻率就是:220*q*q*q*q*q*q*q*q*q*q*q*q = 440。
馬上就可以看出,12個(gè)q相乘,等于: 440 / 220 = 2。
那么就可以求出公比:q = 2的12次方根 = 1.059463094。
用這個(gè)公比,和已知的220進(jìn)行計算,可以得出全部琴鍵所對應的頻率,如下表中所示。
3.定時(shí)初值
頻率的倒數是周期,用輸出方波,應該在半個(gè)周期的時(shí)刻,將輸出取反。
的晶振為12MHz,那么定時(shí)器將在1us進(jìn)行一次加一,加到65536就會(huì )出現中斷。據此,就可計算出定時(shí)器定時(shí)半個(gè)周期所需的初值,如下表中所示。

4.音調數據表
單片機發(fā)出不同頻率的方波,人聽(tīng)起來(lái),就是不同的音調。
上表中的頻率數值,有些過(guò)多,去掉不常用的黑鍵頻率,只是把白鍵對應的數據存放在單片機中,即可滿(mǎn)足絕大部分的應用需求。把下面這個(gè)數據表,放在程序中,需要播音的時(shí)候,就從表中取出一個(gè)數據送到定時(shí)器,當定時(shí)器溢出中斷的時(shí)候,再對輸出引腳取反,那么,在揚聲器中,即可聽(tīng)到上表中頻率的聲音。
定義音調數據表的程序如下:
DW 63625, 63833, 64019, 64104, 64260, 64400, 64524 ;低音區:1 2 3 4 5 6 7
DW 64580, 64685, 64778, 64820, 64898, 64968, 65030 ;中音區:1 2 3 4 5 6 7
DW 65058, 65110, 65157, 65178, 65217, 65252, 65283 ;高音區:1 2 3 4 5 6 7
DW 65297 ;超高音:1

本文引用地址:http://dyxdggzs.com/article/172588.htm


關(guān)鍵詞: 解析 音樂(lè ) 播放 單片機

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>