基于單片機(jī)的微型電子琴設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
介紹了用單片機(jī)設(shè)計(jì)微型電子琴的方法。給出了電路、程序框圖及程序。
關(guān)鍵詞:?jiǎn)纹瑱C(jī),電子琴,程序
單片機(jī)因其體積小、功能強(qiáng)、價(jià)格低廉而得到廣泛應(yīng)用。本文介紹用AT89C51單片機(jī)設(shè)計(jì)微型電子琴的方法,僅需AT89C51最小系統(tǒng),擴(kuò)展一組小鍵盤(這里以4×4鍵盤為例,可按需要擴(kuò)展),再加一片LM386做音頻小功放,輸出到揚(yáng)聲器。電源可由三節(jié)5號(hào)電池提供。
1設(shè)計(jì)原理
樂音實(shí)際上是有固定周期的信號(hào)。我們可以用AT89C51的一個(gè)定時(shí)器(如T1)控制,在P3.4腳上輸出方波周期信號(hào),產(chǎn)生樂音。根據(jù)不同的按鍵,調(diào)節(jié)T1的溢出時(shí)間,可輸出不同頻率的樂音,這樣就做出了一臺(tái)微型電子琴。
每個(gè)樂音的音高(頻率)是固定的,表1列出了一個(gè)8度以及其上下共16個(gè)音的音名、頻率及定時(shí)器T1初值對(duì)照(設(shè)晶體頻率為6MHz),供參考。
2硬件電路設(shè)計(jì)
微型電子琴的電原理圖見圖1,其中鍵盤可使用小按鍵,排成鋼琴鍵盤狀(鍵多時(shí)可分為幾排),圖中還增加了一只按鍵指示燈(D1)。
3軟件設(shè)計(jì)
軟件由初始化程序、主程序、定時(shí)器1中斷服務(wù)程序、鍵盤掃描程序和延時(shí)程序組成。
(1)初始化程序如下:
主程序框圖見圖2。
(2)主程序:
CJNE R4,#00H,
PLAYKEY;判斷有無(wú)鍵按下
CLR TR1 ??;無(wú)鍵按下關(guān)閉T1
SETBP3.2 ??;無(wú)鍵按下熄滅指示燈
SJMPSTART ?。惶亻_始位置
PLAYKEY:CJNE R4,#20H,K0;有鍵按下由鍵值給TIMER1L和TIMER1H賦值
(3)定時(shí)器1中斷服務(wù)程序框圖見圖3。
定時(shí)器1中斷服務(wù)程序:
(4)鍵盤掃描程序框圖如圖4所示。
鍵盤掃描程序:
4結(jié)束語(yǔ)
本文介紹了用單片機(jī)設(shè)計(jì)微型電子琴的方法,只要依次將本文中各段程序連寫,就是完整的16鍵微型電子琴程序,有興趣的讀者可以設(shè)計(jì)鍵數(shù)更多的微型電子琴,甚至可以給微型電子琴添加演奏示范曲的功能〔1〕。如果讀者有更高的編程技巧,可以通過編程檢測(cè)并記錄按鍵的時(shí)間,做出具有錄音功能的微型電子琴。