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