基于單片機的微型電子琴設計
介紹了用單片機設計微型電子琴的方法。給出了電路、程序框圖及程序。
關(guān)鍵詞:單片機,電子琴,程序
單片機因其體積小、功能強、價格低廉而得到廣泛應用。本文介紹用AT89C51單片機設計微型電子琴的方法,僅需AT89C51最小系統(tǒng),擴展一組小鍵盤(這里以4×4鍵盤為例,可按需要擴展),再加一片LM386做音頻小功放,輸出到揚聲器。電源可由三節(jié)5號電池提供。
1設計原理
樂音實際上是有固定周期的信號。我們可以用AT89C51的一個定時器(如T1)控制,在P3.4腳上輸出方波周期信號,產(chǎn)生樂音。根據(jù)不同的按鍵,調(diào)節(jié)T1的溢出時間,可輸出不同頻率的樂音,這樣就做出了一臺微型電子琴。
每個樂音的音高(頻率)是固定的,表1列出了一個8度以及其上下共16個音的音名、頻率及定時器T1初值對照(設晶體頻率為6MHz),供參考。
2硬件電路設計
微型電子琴的電原理圖見圖1,其中鍵盤可使用小按鍵,排成鋼琴鍵盤狀(鍵多時可分為幾排),圖中還增加了一只按鍵指示燈(D1)。
3軟件設計
軟件由初始化程序、主程序、定時器1中斷服務程序、鍵盤掃描程序和延時程序組成。
(1)初始化程序如下:
主程序框圖見圖2。
(2)主程序:
CJNE R4,#00H,
PLAYKEY;判斷有無鍵按下
CLR TR1 ??;無鍵按下關(guān)閉T1
SETBP3.2 ;無鍵按下熄滅指示燈
SJMPSTART ;跳回開始位置
PLAYKEY:CJNE R4,#20H,K0;有鍵按下由鍵值給TIMER1L和TIMER1H賦值
評論