標題: 自制單片機音樂播放器 有匯編程序 實物圖 [打印本頁]
作者: lianlian 時間: 2015-7-9 23:21
標題: 自制單片機音樂播放器 有匯編程序 實物圖
本單片機音樂播放器主要是由AT89C2051單片機和喇叭組成。內部存儲了一首《八月桂花香》的歌曲。每一個音符和每一種聲調都有它特定的頻率,單片機音樂播放器就是利用不同的音符和音調所組成的各種不同的頻率,所能發出聲音的不同的原理,使它們按照樂譜有機的組合起來,利用單片機的定時器使定時器定出不同的時間(時間的長短根據頻率的大小來決定),發出不同頻率的聲音,這樣不斷的定時,不斷的發出各種頻率的聲音,就形成了優美的音樂了。
匯編源程序如下:
ORG 0000H
LJMP START
ORG 000BH
INC 20H
MOV TH0,#0D8H
MOV TL0,#0EFH
RETI
START:
MOV SP,#50H
MOV TH0,#0D8H
MOV TL0,#0EFH
MOV TMOD,#01H
MOV IE,#82H
MUSIC0:
NOP
MOV DPTR,#DAT
MOV 20H,#00H
MOV B,#00H
MUSIC1:
NOP
CLR A
MOVC A,@A+DPTR
JZ END0
CJNE A,#0FFH,MUSIC5
LJMP MUSIC3
MUSIC5:
NOP
MOV R6,A
INC DPTR
MOV A,B
MOVC A,@A+DPTR
MOV R7,A
SETB TR0
MUSIC2:
NOP
CPL P1.4
MOV A,R6
MOV R3,A
CPL A
MOV P0,A
CPL A
LCALL DEL
MOV A,R7
CJNE A,20H,MUSIC2
MOV 20H,#00H
INC DPTR
LJMP MUSIC1
MUSIC3:
NOP
CLR TR0
MOV R2,#0DH
MUSIC4:
NOP
MOV R3,#0FFH
LCALL DEL
DJNZ R2,MUSIC4
INC DPTR
LJMP MUSIC1
END0:
NOP
MOV R2,#64H
MUSIC6:
MOV R3,#00H
LCALL DEL
DJNZ R2,MUSIC6
LJMP MUSIC0
DEL:
NOP
DEL3:
MOV R4,#05H
DEL4:
NOP
DJNZ R4,DEL4
NOP
DJNZ R3,DEL3
RET
DAT:
DB 18H, 30H, 1CH, 10H
DB 20H, 40H, 1CH, 10H
DB 18H, 10H, 20H, 10H
DB 1CH, 10H, 18H, 40H
DB 1CH, 20H, 20H, 20H
DB 1CH, 20H, 18H, 20H
DB 20H, 80H, 0FFH,20H
DB 30H, 1CH, 10H, 18H
DB 20H, 15H, 20H, 1CH
DB 20H, 20H, 20H, 26H
DB 40H, 20H, 20H, 2BH
DB 20H, 26H, 20H, 20H
DB 20H, 30H, 80H, 0FFH
DB 20H, 20H, 1CH, 10H
DB 18H, 10H, 20H, 20H
DB 26H, 20H, 2BH, 20H
DB 30H, 20H, 2BH, 40H
DB 20H, 20H, 1CH, 10H
DB 18H, 10H, 20H, 20H
DB 26H, 20H, 2BH, 20H
DB 30H, 20H, 2BH, 40H
DB 20H, 30H, 1CH, 10H
DB 18H, 20H, 15H, 20H
DB 1CH, 20H, 20H, 20H
DB 26H, 40H, 20H, 20H
DB 2BH, 20H, 26H, 20H
DB 20H, 20H, 30H, 80H
DB 20H, 30H, 1CH, 10H
DB 20H, 10H, 1CH, 10H
DB 20H, 20H, 26H, 20H
DB 2BH, 20H, 30H, 20H
DB 2BH, 40H, 20H, 15H
DB 1FH, 05H, 20H, 10H
DB 1CH, 10H, 20H, 20H
DB 26H, 20H, 2BH, 20H
DB 30H, 20H, 2BH, 40H
DB 20H, 30H, 1CH, 10H
DB 18H, 20H, 15H, 20H
DB 1CH, 20H, 20H, 20H
DB 26H, 40H, 20H, 20H
DB 2BH, 20H, 26H, 20H
DB 20H, 20H, 30H, 30H
DB 20H, 30H, 1CH, 10H
DB 18H, 40H, 1CH, 20H
DB 20H, 20H, 26H, 40H
DB 13H, 60H, 18H, 20H
DB 15H, 40H, 13H, 40H
DB 18H, 80H, 00H
END
注:晶振12MHZ。音樂輸出口為P1.4。
本程序已通過實踐驗證!!!
作者: 光說不練 時間: 2021-8-19 23:51
代碼寫的非常好,下載到我的開發板效果很好,謝謝樓主!
| 歡迎光臨 (http://www.denmoz.com/bbs/) |
Powered by Discuz! X3.1 |