摘 要:本文以AT89S52單片機作為核心控制元件,利用單片機內(nèi)部計數(shù)器產(chǎn)生不同的頻率輸出產(chǎn)生音階,設(shè)計鍵盤及蜂鳴器為外圍電路,制作了一款簡易電子琴。
關(guān)鍵詞:單片機;電子琴
電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種鍵盤樂器,在現(xiàn)代音樂扮演著重要的角色,本文主要對電子琴原理進行了分析,設(shè)計制作出一款簡易電子琴。
一、系統(tǒng)硬件設(shè)計
系統(tǒng)整體結(jié)構(gòu)框圖設(shè)計如下:
(一)單片機控制模塊
主控芯片選擇AT89S52單片機,低功耗8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。
(二)鍵盤輸入部分
本系統(tǒng)中設(shè)計8個按鍵,分別代表不同的音符。用P2口接獨立鍵盤,軟件消除抖動處理,并能準(zhǔn)確判斷所需執(zhí)行的相應(yīng)程序。
(三)蜂鳴器
蜂鳴器本身相當(dāng)于一個喇叭,需要一個頻率適當(dāng)?shù)慕涣餍盘栻?qū)動才能發(fā)聲,三極管在蜂鳴器中,和壓電陶瓷片組成一個自激式振蕩電路,壓電陶瓷片同時充當(dāng)反饋元件和發(fā)聲元件兩個功能。
二、軟件設(shè)計及實現(xiàn)
音樂是由許多不同的音符組成的,而每個音符對應(yīng)著不同的頻率,這樣就可以利用不同的頻率組合,加上拍數(shù)對應(yīng)的延時從而構(gòu)成音樂。
單片機程序主要實現(xiàn)的功能:產(chǎn)生一定頻率的方波一般是先將某口線輸出高電平,延遲一段時間后再輸出低電平。通過改變延遲時間可以改變單片機的輸出方波的頻率。
例如低3MI音,頻率為330Hz,其周期T=1/f=1/330=3030us,計數(shù)值N=3030/2=1515,所以每計數(shù)1515次P1.0反向。計數(shù)初值T=65536N=64021。C調(diào)的各音符頻率與計數(shù)值T的對照表如下表所示。
89S52單片機內(nèi)部設(shè)有兩個16位的可編程定時器/計數(shù)器,本設(shè)計選用計數(shù)器中斷模式,寄存器設(shè)置的步驟如下:
(1)確定工作方式(即對TMOD賦值);
(2)預(yù)置定時或計數(shù)的初值;
(3)設(shè)置計數(shù)器的中斷(直接對IE位賦值);
(4)啟動定時器/計數(shù)器。
當(dāng)有按鍵按下時,打開定時器,并且把對應(yīng)的值輸入到定時器中斷程序,定時器就會按照不同的周期溢出,使單片機引腳輸出不同頻率的方波,從而使蜂鳴器發(fā)出不同的聲音,然后關(guān)閉定時器。等待下次按鍵。
三、實驗結(jié)果
通過實驗成功實現(xiàn)了不同按鍵對應(yīng)的8個音階,達到預(yù)期實驗?zāi)繕?biāo)。簡易電子琴實物圖:
四、總結(jié)
本文根據(jù)電子琴設(shè)計原理,理解掌握了聲音頻率等知識,設(shè)計一款簡易的電子琴實驗制作,能夠通過按鍵實現(xiàn)不同音樂的音階。
參考文獻:
[1]雷思孝.單片機原理及使用技術(shù)[M].西安電子科技大學(xué)出版社.
[2]單片機的C語言應(yīng)用程序設(shè)計(第四版)北京航空航天大學(xué)出版社.
[3]C語言程序設(shè)計[M]第二版.清華大學(xué)出版社.
[4]單片機原理及接口技術(shù)[M].北京航空航天大學(xué)出版社.
[5]8051單片機C語言應(yīng)用[M].科學(xué)出版社,2002.
[6]張永楓.單片機應(yīng)用實訓(xùn)教程[M].西安電子科技大學(xué)出版,2005.
[7]謝自美.電子線路設(shè)計、實驗、測試.華中理工大學(xué)出版社,2000.
作者簡介:李佳琪(1999),女,漢族,四川成都人,學(xué)生,高中。