單片機(jī)電子琴設(shè)計(jì)
1.實(shí)驗(yàn)任務(wù)
(1.由4X4組成16個(gè)按鈕矩陣,設(shè)計(jì)成16個(gè)音。
(2.可隨意彈奏想要表達(dá)的音樂(lè)。
2.電路原理圖
對(duì)于不同的曲調(diào)我們也可以用單片機(jī)的另外一個(gè)定時(shí)/計(jì)數(shù)器來(lái)完成。
下面就用AT89S51單片機(jī)產(chǎn)生一首“生日快樂(lè)”歌曲來(lái)說(shuō)明單片機(jī)如何產(chǎn)生的。
在這個(gè)程序中用到了兩個(gè)定時(shí)/計(jì)數(shù)器來(lái)完成的。其中T0用來(lái)產(chǎn)生音符頻率,T1用來(lái)產(chǎn)生音拍。
5.程序框圖
圖4.22.2
6.匯編源程序
KEYBUF EQU 30H
STH0 EQU 31H
STL0 EQU 32H
TEMP EQU 33H
ORG 00H
LJMP START
ORG 0BH
LJMP INT_T0
START: MOV TMOD,#01H
SETB ET0
SETB EA
WAIT:
MOV P3,#0FFH
CLR P3.4
MOV A,P3
ANL A,#0FH
XRL A,#0FH
JZ NOKEY1
LCALL DELY10MS
MOV A,P3
ANL A,#0FH
XRL A,#0FH
JZ NOKEY1
MOV A,P3
ANL A,#0FH
CJNE A,#0EH,NK1
MOV KEYBUF,#0
LJMP DK1
評(píng)論