王嘯東 王春燕 涂林軍 汪夢迪
摘要: 研究發現兒童學習彈奏鋼琴或電子琴,可以提高兒童的神經反應能力、增強記憶力、促進智力發展。本文介紹了基于單片機智能電子琴的系統設計方法,主要包括:音樂設計的原理介紹、硬件電路設計、軟件系統設計等內容。
關鍵詞: 單片機智能電子琴功能介紹設計方法
1.引言
當今社會,家長對孩子的教育越來越重視,不僅關心孩子語文、數學等基礎課程,對孩子的音樂、繪畫等才能的培養也十分重視,希望孩子不要輸在起跑線上。研究發現兒童學習彈奏鋼琴或電子琴,可以提高兒童的神經反應能力、增強記憶力、陶冶情操、促進智力發展。孩子在傳統電子琴上學習彈奏時,往往是先熟悉鍵盤的功能、手型練習,再學習五線譜,再練習彈琴,漫長的學習過程一點點打磨了孩子的學習興趣。在沒彈出一首完整曲目時,孩子已失去了學習音樂的興趣。為了便于兒童學習電子琴,激發兒童的學習興趣,項目組設計、制作了基于單片機的智能電子琴,本文將介紹基于單片機智能電子琴的系統設計方法。
2.智能電子琴的功能介紹
基于單片機的智能電子琴除了具有傳統電子琴彈奏功能之外,還能播放樂曲;在播放樂曲時,相應按鍵的指示燈亮,便于兒童模仿學習。幾次模仿彈奏,兒童就熟悉了當前曲目的按鍵彈奏方法,然后,關掉樂曲播放功能,讓孩子獨立彈奏;反復幾次,孩子就能獨立彈奏出一首完整曲目。在學會怎么彈之后,還要學習鍵盤的功能、五線譜等理論知識,再進行系統教學,實現“做、學、教”一體,提高兒童學習音樂的興趣和效率。
基于單片機的智能電子琴還具有以下兩種創新功能。
(1)添加曲目功能。有好聽的新歌出現后,家長可以通過按鍵輸入曲譜,及時更新曲目,添加曲目后,可以播放練習,能夠讓孩子以最快的速度學習彈奏最新曲目。
(2)鬧鐘功能。在智能電子琴中,增加了鬧鐘功能。早晨,讓孩子在熟悉的鬧鈴曲目中起床,開始一天的學習。
3.智能電子琴的設計
音樂主要是由音符和節拍決定的,音符對應于不同的聲波頻率,而節拍則表達的是聲音持續的時間。通過控制定時器的定時時間可以產生不同頻率的方波,用于驅動喇叭發出不同的音符,然后利用延時子程序來控制發音時間的長短,即可控制節拍。
3.1硬件電路設計
智能電子琴采用AT89C51單片機作為核心控制元件(如圖1),獨立矩陣鍵盤按鍵作為輸入端,通過獨立矩陣鍵盤,可發出DO、RE、MI等音符的高中低音。系統設有一個功能選擇鍵、一個音樂選擇鍵和一個蜂鳴器。通過按功能選擇鍵,實現彈奏功能和樂曲播放功能的切換。在彈奏功能下,可以通過不同的按鍵來彈奏不同的音調;在音樂播放功能下,可以通過音樂選擇按鍵來選擇不同的樂曲進行播放,在播放樂曲時,相應按鍵的指示燈亮,便于兒童模仿學習。根據設計的要求,我們將整個設計分為三大模塊:AT89C51單片機作為核心控制模塊,獨立矩陣鍵盤和控制按鍵作為輸入端,數碼管以及蜂鳴器作為輸出端。
圖1智能電子琴系統控制原理圖
3.2軟件系統設計
以《祝你生日快樂》的樂曲為例,它的最低音為5(低音So),最高音為5(中音So),作出其對應的簡譜碼、定時常數、節拍數表。其次,建立音樂代碼庫先找出樂曲的最低音和最高音的范圍,然后確立音符表T的順序;把T值表建立在一個表格中,在編程時,常將構成發音的計數值放在“TABLE1”中;簡譜碼(音符)為高四位,節拍碼(節拍數)為低4位,音符節拍碼放在程序的另一個表格中,常用“TABLE”中;音符節拍碼00H為音樂結束標志。
軟件系統控制程序編程思路是:根據樂譜及定時常數、延時常數數值表,利用定時器T0,工作模式采用方式1(16位定時器),利用定時器的定時功能,將數值表制成數據表格,其中音調對應的定時常數制成表1(TABLE1),樂曲中音符和節拍對應的數值制成表2(TABLE)。在程序中,采用查表方式,將樂譜對應的定時常數讀入計數器中,同時利用延時程序,控制樂譜的節拍,使喇叭發出音樂聲。
4.結語
本文主要利用AT89系列單片機的強大功能,以較為簡單的硬件電路和相對復雜的軟件系統,實現了基于單片機的智能電子琴的設計。依據本文制作的智能電子琴電路簡潔、操作方便、性能穩定,智能化程度高,便于兒童對電子琴的學習掌握,激發兒童的學習興趣。
參考文獻:
[1]于海生.微型計算機控制技術.北京:清華大學出版社,1999.3.
[2]李廣弟.單片機基礎[M].北京:北京航空航天大學出版社,2001.
基金項目:南京鐵道職業技術學院大學生實踐創新項目基金(SKC201203)。