本项目介绍如何使用51单片机与汇编语言开发具有八音盒功能的IO音乐装置。通过编程控制音频输出,实现简单而优美的旋律播放。
51单片机 汇编 IO音乐系列 八音盒
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP TIMER0
TIMER0:
CLR EA
JNZ 33H, EXIT
MOV 33H, 53H
DJNZ 32H, EXIT
MOV 32H, 52H
DJNZ 31H, EXIT1
MOV 31H, 51H
DJNZ 30H, EXIT1
SETB F0
AJMP EXIT
EXIT1: CPL P3.3
EXIT: SETB EA
RET
MAIN:
MOV TMOD,#02H
MOV IE,#82H
MOV TH0,#254
MOV TL0,#254
MAIN1:
MOV 40H,#00H
LOOP:
CLR EA
MOVC A,@A+DPTR
MOV 30H,A
MOV 50H,A
INCR 40H
MOVC A,@A+DPTR
MOV 31H,A
MOV 51H,A
INCR 40H
MOVC A,@A+DPTR
MOV 32H,A
MOV 52H,A
INCR 40H
MOVC A,@A+DPTR
MOV 33H,A
SETB EA
SETB TR0
JNB F0,$
CLR F0
INCR 40H
CMP A,#40
JNE LOOP
AJMP MAIN1
TAB: ; 30h,31h,32h,33h
DB 2,25,24,16 ;low frequency