mooc课程精选,成品人片观看入口众乐乐,久久久久人妻一区精品性色av,苍兰诀大结局是什么,白丝美女被狂躁免费视频网站

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 單片機(jī)學(xué)習(xí) > 單片機(jī)教程 > 單片機(jī)播放音樂的基本知識(shí)及設(shè)計(jì)原理解析

單片機(jī)播放音樂的基本知識(shí)及設(shè)計(jì)原理解析 時(shí)間:2018-07-26      來源:未知

單片機(jī)播放音樂的基本知識(shí)及設(shè)計(jì)原理解析,使用單片機(jī)播放音樂或播放電子琴,實(shí)際上,根據(jù)特定的頻率輸出一系列方波。為了輸出適當(dāng)?shù)姆讲ǎ覀兪紫纫酪舴皖l率之間的關(guān)系。

1.音名

從常見的電子琴的鍵盤談起。

在下表中,可以看到一列黑白相間的琴鍵(示意)。主要分成低音、中音和高音三個(gè)區(qū)域,每個(gè)區(qū)域都有12個(gè)琴鍵。其中的白鍵,簡譜音符標(biāo)為1、2、3、4、5、6、7,大家一般都讀成哆、來、咪、發(fā)、嗦、拉、西。

2.頻率

注意看一下幾個(gè)6(拉)的頻率,它們是整數(shù),容易看出規(guī)律――是成2倍的關(guān)系。其它的音符,也有同樣的規(guī)律。這些頻率,如220、440等,它們?cè)谇冁I上的位置是世界統(tǒng)一的,無論是鋼琴、手風(fēng)琴,還是電子琴,都是一樣的。

包括黑鍵和白鍵在內(nèi)的全部音符的頻率數(shù)值,是成“等比數(shù)列”的關(guān)系,它們之間有個(gè)公比,可以按照“2倍”的規(guī)律推算出來。

已知最低音的6(拉)的頻率是220,設(shè)公比為q,那么:7的頻率就是220*q*q 。

乘了兩個(gè)q,是因?yàn)?、7之間隔了個(gè)黑鍵。以此類推,兩個(gè)6之間,共有12個(gè)琴鍵,所以:

低音區(qū)的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)行計(jì)算,可以得出全部琴鍵所對(duì)應(yīng)的頻率,如下表中所示。

3.定時(shí)初值

頻率的倒數(shù)是周期,用單片機(jī)輸出方波,應(yīng)該在半個(gè)周期的時(shí)刻,將輸出取反。

設(shè)單片機(jī)的晶振為12MHz,那么定時(shí)器將在1us進(jìn)行一次加一,加到65536就會(huì)出現(xiàn)中斷。據(jù)此,就可計(jì)算出定時(shí)器定時(shí)半個(gè)周期所需的初值,如下表中所示。4.音調(diào)數(shù)據(jù)表

單片機(jī)發(fā)出不同頻率的方波,人聽起來,就是不同的音調(diào)。

上表中的頻率數(shù)值,有些過多,去掉不常用的黑鍵頻率,只是把白鍵對(duì)應(yīng)的數(shù)據(jù)存放在單片機(jī)中,即可滿足絕大部分的應(yīng)用需求。

定義音調(diào)數(shù)據(jù)表的程序如下:

DW 63625, 63833, 64019, 64104, 64260, 64400, 64524 ;低音區(qū):1 2 3 4 5 6 7

DW 64580, 64685, 64778, 64820, 64898, 64968, 65030 ;中音區(qū):1 2 3 4 5 6 7

DW 65058, 65110, 65157, 65178, 65217, 65252, 65283 ;高音區(qū):1 2 3 4 5 6 7

DW 65297 ;超高音:1

把這個(gè)數(shù)據(jù)表,放在程序中,需要播音的時(shí)候,就從表中取出一個(gè)數(shù)據(jù)送到定時(shí)器,當(dāng)定時(shí)器溢出中斷的時(shí)候,再對(duì)輸出引腳取反,那么,在揚(yáng)聲器中,即可聽到上表中頻率的聲音。

單片機(jī)的基本發(fā)音實(shí)驗(yàn)

我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單處機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào)。

例如,要產(chǎn)生200HZ的音頻信號(hào),按圖1接入喇叭(若屬臨時(shí)實(shí)驗(yàn),也可將喇叭直接接在P1口線上),實(shí)驗(yàn)程序?yàn)椋?/p>

其中子程序DEL為延時(shí)子程序,當(dāng)R3為1時(shí),延時(shí)時(shí)間約為20us,R3中存放延時(shí)常數(shù),對(duì)200HZ音頻,其周期為1/200秒,即5ms。這樣,當(dāng)P1.4的高電平或低電平的持續(xù)時(shí)間為2.5ms,即R3的時(shí)間常數(shù)取2500/20=125(7DH)時(shí),就能發(fā)出200HZ的音調(diào)。將上述程序鍵入學(xué)習(xí)機(jī),并持續(xù)修改R3的常數(shù)能感到音調(diào)的變化。樂曲中,每一音符對(duì)應(yīng)著確定的頻率,表1給出C調(diào)時(shí)各音符頻率及其對(duì)應(yīng)的時(shí)間常數(shù)。讀者能根據(jù)表1所供給的常數(shù),將其16進(jìn)制代碼送入R3,反復(fù)練習(xí)體會(huì)。根據(jù)表1能奏出音符。僅這還不夠,要準(zhǔn)確奏出一首曲子,必須準(zhǔn)確地控制樂曲節(jié)奏,即一音符的持續(xù)時(shí)間。

音符的節(jié)拍我們能用定時(shí)器T0來控制,送入不一樣的初值,就能產(chǎn)生不一樣的定時(shí)時(shí)間。便如某歌曲的節(jié)奏為每分鐘94拍,即一拍為0.64秒。其它節(jié)拍與時(shí)間的對(duì)應(yīng)關(guān)系見表2。

但時(shí),由于T0的最大定時(shí)時(shí)間只能為131毫秒,因此不可能直接用改變T0的時(shí)間初值來實(shí)現(xiàn)不一樣節(jié)拍。我們能用T0來產(chǎn)生10毫秒的時(shí)間基準(zhǔn),然后設(shè)置一個(gè)中斷計(jì)數(shù)器,通過判別中斷計(jì)數(shù)器的值來控制節(jié)拍時(shí)間的長短。表2中也給出了各種節(jié)拍所對(duì)應(yīng)的時(shí)間常數(shù)。例如對(duì)1/4拍音符,定時(shí)時(shí)間為0.16秒,對(duì)應(yīng)的時(shí)間常數(shù)為16(即10H);對(duì)3拍音符,定時(shí)時(shí)間為1.92秒,對(duì)應(yīng)時(shí)間長數(shù)為192(即C0H)。

我們將每一音符的時(shí)間常數(shù)和其對(duì)應(yīng)的節(jié)拍常數(shù)作為一組,按次序?qū)非械乃谐?shù)排列成一個(gè)表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就能實(shí)現(xiàn)演奏效果。此外,結(jié)束符和體止符能分別用代碼00H和FFH來表示,若查表結(jié)果為00H,則表示曲子終了;若查表結(jié)果為FFH,則產(chǎn)生對(duì)應(yīng)的停頓效果。為了產(chǎn)生手彈的節(jié)奏感,在某些音符(例如兩個(gè)相同音符)音插入一個(gè)時(shí)間單位的頻率略有不一樣的音符。

下面給出程序序清單,可直接在TD-III型學(xué)習(xí)機(jī)上演奏,對(duì)其它不一樣型號(hào)的學(xué)習(xí)機(jī),只需對(duì)應(yīng)地改變一下地址即可。本程序演奏的是民歌“八月桂花遍地開”,C調(diào),節(jié)奏為94拍/分。讀者也能自行找出一首歌,按表1和表2給定的常數(shù),將樂曲翻譯成碼表輸入機(jī)器,而程序不變。本實(shí)驗(yàn)辦法簡便,即使不懂音樂的人,將一首陌生的曲子翻譯成代碼也是易事,和著機(jī)器的演奏學(xué)唱一首歌曲,其趣味無窮。

上一篇:關(guān)于單片機(jī)復(fù)位的相關(guān)問題詳解

下一篇:基于51單片機(jī)解碼紅外遙控器原理

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部