董開茂 李紅嶺 杜志維 張月星 王家祺
摘要:本設(shè)計以AT89C51單片機為核心部件,結(jié)合鍵盤輸入模塊、音頻播放模塊、數(shù)碼管顯示模塊等設(shè)計一個簡易電子琴。設(shè)計可以實現(xiàn)電子琴所具有的基本功能,且具有運行系統(tǒng)穩(wěn)定,造價成本低等多方面的優(yōu)勢,具有一定的實用價值。
關(guān)鍵詞:單片機;電子琴;鍵盤;音頻播放
中圖分類號:TP368.12 文獻標識碼:A 文章編號:1007-9416(2019)04-0181-02
1 系統(tǒng)方案及功能要求
1.1 系統(tǒng)方案
本設(shè)計以AT89C51單片機為核心部件,結(jié)合晶振電路、復(fù)位電路、鍵盤輸入、音頻播放模塊及顯示模塊設(shè)計一種簡易電子琴[1-3]。系統(tǒng)框架如圖1所示。
1.2 功能要求
(1)基本琴鍵及顯示功能[4]:要求電子琴具有可以彈出8種最基本音符的功能,當依次按下鍵盤區(qū)的1-8號按鍵時,揚聲器就會依次發(fā)出Do、Re、Mi、Fa、SO、La、Si高音段的Do 8種不同的音符,并且LED數(shù)碼管能夠在按下按鍵的同時對應(yīng)顯示數(shù)字Do→1、Re→2、Mi→3、Fa→4、So→5、La→6、Si→7、高Do→8。
(2)自動播放功能[5]:要求在設(shè)計中設(shè)置1個開始播放按鍵和1個停止播放按鍵,當按下開始播放按鍵時,單片機就會立刻切換到播放音樂模式,播放提前存儲好的音樂,在播放過程中,若無停止播放鍵按下,則將音樂播放完畢后自動停止。若在播放過程中按下停止按鍵時,就立刻停止播放,回到初始狀態(tài)。
本設(shè)計將在完成這些功能的前提下,盡量保證該設(shè)計的流暢運行,確保低成本實現(xiàn)各項功能。
2 硬件電路設(shè)計
系統(tǒng)硬件電路如圖2所示。
2.1 核心部件
AT89C51是一種容易掌握,便于操作,硬件設(shè)計方便的高性能集成芯片,且具有片內(nèi)振蕩器及時鐘電路。AT89C51單片機是經(jīng)濟型低價位的微控制器,該芯片功耗低且靈活性強,諧波失真較小、性能穩(wěn)定,所以在本設(shè)計中選擇該芯片作為核心部件[6]。
2.2 鍵盤設(shè)計
鍵盤分為兩個部分,一部分是獨立音符按鍵,可以實現(xiàn)電子琴彈奏的功能,當依次按下時,電子琴會發(fā)出Do、Re、Mi、Fa、SO、La、Si、Do(高音)8個獨立音符。一部分是功能按鍵,當自動播放鍵按下時,播放提前存儲好的完整音樂,當停止鍵按下時,中斷播放。另外,當某一按鍵被按下時,數(shù)碼管也會顯示出相應(yīng)的數(shù)字[7]。
2.3 顯示及揚聲設(shè)計
(1)顯示:本設(shè)計選用8段共陽極LED數(shù)碼管作為顯示,顯示方式采用動態(tài)顯示,并加上一個排阻,起限流作用,單片機通過查表得出相應(yīng)的段碼,LED數(shù)碼管就會依次顯示對應(yīng)的樂譜數(shù)字,以此達到數(shù)碼管和單片機的連接。
(2)揚聲:單片機揚聲的實質(zhì)是由脈沖信號驅(qū)動喇叭。由于單片機端口的驅(qū)動能力很弱,所以不能直接驅(qū)動揚聲器,所以在本設(shè)計中通過一個NPN型的三極管將單片機P1.0引腳輸出的方波信號進行放大處理,然后驅(qū)動揚聲器發(fā)聲。
3 軟件設(shè)計
需要完成以下任務(wù):檢測鍵碼,判斷按下的是音符按鍵還是播放音樂的功能按鍵,若是音符按鍵,則根據(jù)鍵碼查詢音調(diào)表得到計數(shù)初值,給計時器賦值,讓其發(fā)出相應(yīng)頻率的方波信號;若是播放音樂的功能按鍵,則播放提前存儲好的音樂,播放完畢或中斷鍵按下時返回鍵盤掃描主程序,繼續(xù)檢測是否有鍵按下[8-10]。程序流程圖如圖3所示。
4 結(jié)語
本設(shè)計以單片機作為主控核心部件進行設(shè)計,利用簡單的鍵盤輸入和揚聲組合,能夠基本實現(xiàn)電子琴的各項功能。本設(shè)計力求用簡單的結(jié)構(gòu)完成精準的控制,具有較為可觀的實用價值。
參考文獻
[1] 顧嚴,邢巖.基于單片機的微型電子琴建模[J].科技資訊,2019(2):112+116.
[2] 樓俊君,程啟明,趙永熹.PROTEUS仿真軟件在單片機實踐課程中的應(yīng)用[J].電腦知識與技術(shù),2018(30):91-92.
[3] 楊坤,湯艷坤,石靜苑.基于RC橋式振蕩電路的電子琴電路的設(shè)計[J].電子制作,2018(15):87-88+64.
[4] 葛水河,張窩羊,楊旭輝.基于單片機的16鍵多功能電子琴硬件設(shè)計[J].時代農(nóng)機,2018(7):233-234.
[5] 李佳琪.基于單片機的簡易電子琴設(shè)計[J].科技風(fēng),2018(6):1.
[6] 路曦.簡易電子琴的設(shè)計與實現(xiàn)[J].科技經(jīng)濟導(dǎo)刊,2018,26(5):41.
[7] 舒景東,劉龍.基于LabVIEW的簡易鍵盤電子琴設(shè)計[J].山西電子技術(shù),2017(4):66-68.
[8] 杜鳴笛,何淑珍.基于Labview壓力電子琴的設(shè)計[J].科技資訊,2017(17):97-98+100.
[9] 張毅剛.單片機原理及應(yīng)用[M].3版.北京:高等教育出版社2016.
[10] 戴佳.單片機C語言應(yīng)用程序設(shè)計實例精講[M].1版.北京:電子工業(yè)出版社,2006.