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