王嘯東 涂林軍 王春燕 李作奇
【摘 要】電子琴是音樂與電子科技結(jié)合的產(chǎn)物,在現(xiàn)代音樂中扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程能力,在人們的生產(chǎn)、生活中得到了普遍應(yīng)用。本文主要介紹了以AT89C51單片機(jī)為核心,設(shè)計(jì)智能電子琴的方法,主要包括原理圖設(shè)計(jì)、軟件系統(tǒng)設(shè)計(jì)等。
【關(guān)鍵詞】單片機(jī);音樂;創(chuàng)新;電子琴
1.引言
1907年,美國人卡西爾發(fā)明第一臺用電磁線圈產(chǎn)生音階的電子琴,電子琴在國外的發(fā)展已有上百年的歷史。1978年,中國引進(jìn)了第一臺作為研究用的電子琴,到了20世紀(jì)80年代中期,電子琴已經(jīng)被中國的專業(yè)音樂者和音樂愛好者所普遍認(rèn)識。隨后,中國的電子琴蓬勃發(fā)展起來了,并取得了令國內(nèi)外音樂界、電子琴界所矚目的成就。本文將介紹基于單片機(jī)的智能電子琴的設(shè)計(jì)與制作方法。
2.智能電子琴的系統(tǒng)設(shè)計(jì)要求
智能電子琴系統(tǒng)分為兩個(gè)部分,一個(gè)是音樂播放,另一個(gè)就是電子琴彈奏。關(guān)于聲音的處理,使用匯編語言編程實(shí)現(xiàn),利用定時(shí)器來控制頻率,而每個(gè)音符的符號,存放在定義的表中。具體要求如下:要求達(dá)到電子琴的基本功能,可以用彈奏出簡單的樂曲。用鍵盤作出電子琴的按鍵,每鍵代表一個(gè)音符。各音符按一定的順序排列,必須符合電子琴的按鍵排列順序。固定音樂播放有按鍵控制:“播放”、“彈奏/停止”,并且在播放音樂時(shí),相應(yīng)按鍵的指示燈亮,便于模仿學(xué)習(xí)。彈奏電子琴時(shí)能播放出準(zhǔn)確的聲音,不彈奏時(shí)可以播放內(nèi)置音樂。
3.智能電子琴的系統(tǒng)設(shè)計(jì)
3.1 系統(tǒng)的組成
單片機(jī)因體積小、功能強(qiáng)、價(jià)格低廉而得到廣泛應(yīng)用?;趩纹瑱C(jī)設(shè)計(jì)的智能琴系統(tǒng)組成有:AT89C51、擴(kuò)展矩陣鍵盤、發(fā)光二極管等。
從功能方面分,智能電子琴系統(tǒng)分為兩個(gè)部分,一個(gè)是音樂播放部分,另一個(gè)就是電子琴彈奏部分。
音樂播放部分:電子琴利用AT89C51的兩個(gè)定時(shí)器(如T0,T1)控制,在P3.5腳上輸出方波周期信號,產(chǎn)生音樂,通過矩陣鍵盤按鍵產(chǎn)生不同的音符,彈奏人員可以隨心所欲的彈奏自己所喜愛的樂曲,當(dāng)不想彈奏時(shí)通過按放歌鍵可以演奏事先存放在單片機(jī)中的動(dòng)聽的曲子。當(dāng)歌曲演奏完時(shí),通過按復(fù)位鍵便可回到初始狀態(tài),這樣就做出了一臺智能電子琴。
由于一首音樂是許多不同的音階組成的,而每個(gè)音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對于單片機(jī)來產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來產(chǎn)生這樣方波頻率信號。樂曲中,每一音符對應(yīng)著確定的頻率,我們將每一音符的時(shí)間常數(shù)和其相應(yīng)的節(jié)拍常數(shù)作為一組,按順序?qū)非械乃谐?shù)排列成一個(gè)表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就可以實(shí)現(xiàn)演奏效果。
電子琴彈奏部分:把每個(gè)按鍵所對應(yīng)的值經(jīng)過處理后發(fā)給單片機(jī),再在單片機(jī)內(nèi)把數(shù)字當(dāng)作指針指向所對應(yīng)的音符。
3.2 硬件電路設(shè)計(jì)
智能電子琴采用AT89C51單片機(jī)作為核心控制元件(如圖1所示),鍵盤按鍵作為輸入端,通過鍵盤,可發(fā)出DO、RE、MI等音符的高中低音。系統(tǒng)設(shè)有一個(gè)功能選擇鍵,一個(gè)音樂選擇鍵和一個(gè)蜂鳴器。通過按下功能選擇鍵,可以實(shí)現(xiàn)彈奏功能和樂曲播放功能的切換。在彈奏功能下,可以通過不同的按鍵來彈奏不同的音調(diào);在音樂播放功能下,可以通過音樂選擇按鍵來選擇不同的樂曲進(jìn)行播放,在播放樂曲時(shí),相應(yīng)按鍵的指示燈亮。
圖1 智能電子琴系統(tǒng)圖
圖2 程序流程圖
3.3 軟件系統(tǒng)設(shè)計(jì)
在智能電子琴開始工作時(shí),系統(tǒng)默認(rèn)電子琴處于彈奏狀態(tài),歌曲選擇功能鍵的目的是賦予鍵盤第二功能,即對系統(tǒng)內(nèi)置的歌曲進(jìn)行選擇,在放歌時(shí)能且只能通過彈奏/停止鍵來結(jié)束放歌,選歌時(shí)必須先按下歌曲選擇功能鍵,在通過鍵盤來選擇和切換曲目。軟件系統(tǒng)控制程序編程思路是:根據(jù)樂譜及定時(shí)常數(shù)、延時(shí)常數(shù)數(shù)值表,利用定時(shí)器T0,工作模式采用方式1(16位定時(shí)器),利用定時(shí)器的定時(shí)功能,將數(shù)值表制成數(shù)據(jù)表格,其中音調(diào)對應(yīng)的定時(shí)常數(shù)制成表1(TABLE1),樂曲中音符和節(jié)拍對應(yīng)的數(shù)值制成表2(TABLE)。在程序中,采用查表方式,將樂譜對應(yīng)的定時(shí)常數(shù)讀入計(jì)數(shù)器中,同時(shí)利用延時(shí)程序,控制樂譜的節(jié)拍,使喇叭發(fā)出音樂聲。
智能電子琴程序處理流程圖(如圖2所示),系統(tǒng)初始化后,進(jìn)行鍵盤掃描,確定有無鍵盤按下。如沒有鍵盤按下,則繼續(xù)掃描,有鍵盤按下,識別當(dāng)前按鍵,選擇音樂播放,或者選擇電子琴彈奏。
部分程序如下:
4.結(jié)束語
基于單片機(jī)的智能電子琴電路簡潔,運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,操作方便,性價(jià)比較高等,具有一定的實(shí)用和參考價(jià)值。本設(shè)計(jì)還可以擴(kuò)展其他功能,比如記憶功能,可以存儲彈奏者所彈奏的音樂且保存。
參考文獻(xiàn):
[1]萬隆.單片機(jī)原理與實(shí)例應(yīng)用[M].北京:清華大學(xué)出版社,2011,1.
[2]鄒顯圣.單片機(jī)原理與應(yīng)用項(xiàng)目式教程[M].北京:機(jī)械工業(yè)出版社,2010,5.
[3]何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1999,9.
[4]黃建新.單片機(jī)原理、接口技術(shù)及應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2009,8.
[5]邊春元.C51單片機(jī)典型模塊設(shè)計(jì)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2008,4.
[6]王霖,錢可元,羅毅.新型LED 航標(biāo)燈光學(xué)系統(tǒng)[J].光電工程,2007.
基金項(xiàng)目:江蘇省高等學(xué)校大學(xué)生實(shí)踐創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目(項(xiàng)目編號:201313106003Y)。