單片機電子琴設(shè)計
1.實驗任務(wù)
(1.由4X4組成16個按鈕矩陣,設(shè)計成16個音。
(2.可隨意彈奏想要表達(dá)的音樂。
2.電路原理圖
對于不同的曲調(diào)我們也可以用單片機的另外一個定時/計數(shù)器來完成。
下面就用AT89S51單片機產(chǎn)生一首“生日快樂”歌曲來說明單片機如何產(chǎn)生的。
在這個程序中用到了兩個定時/計數(shù)器來完成的。其中T0用來產(chǎn)生音符頻率,T1用來產(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
評論