📄 生日歌.asm
字号:
;********************************************************************************
;* 标题:北京启东微芯LJD-SY-5100单片机实验系统 *
;* 文件:生日歌.ASM *
;* 日期: 2005-7-5 *
;* 版本: 1.0 *
;* 作者:启东微芯
;* 网站: http://www.LJD-2008.COM *
;********************************************************************************
;* 描述: *
;* 蜂鸣器演奏生日歌的音乐
;* *
;* *
;********************************************************************************
;* 【版权】 Copyright(C)微芯科技 http://www.ljd-2008.com All Rights Reserved *
;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息! *
;*******************************************************************************/
ORG 0000H
JMP START
ORG 000BH
JMP TIM0
ORG 0030H
START:MOV TMOD,#01H
MOV IE,#82H
START0:MOV 30H,#00H
NEXT: MOV A,30H
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV R2,A
JZ END0
ANL A,#0FH
MOV R5,A
MOV A,R2
SWAP A
ANL A,#0FH
JNZ SING
CLR TR0
JMP D1
SING: DEC A
MOV 22H,A
RL A
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV TH0,A
MOV 21H,A
MOV A,22H
RL A
INC A
MOVC A,@A+DPTR
MOV TL0,A
MOV 20H,A
SETB TR0
D1: CALL DELAY
INC 30H
JMP NEXT
END0: CLR TR0
JMP START0
TIM0: PUSH ACC
PUSH PSW
MOV TH0,21H
MOV TL0,20H
CPL P3.7
POP PSW
POP ACC
RETI
DELAY: MOV R7,#02
D2: MOV R4,#187
D3: MOV R3,#248
DJNZ R3,$
DJNZ R4,D3
DJNZ R7,D2
DJNZ R5,DELAY
RET
TABLE1:
DW 64260,64400,64524,64580
DW 64684,64777,64820,64898
DW 64968,65030,65058,65110
DW 65157,65178,65217
TABLE:
DB 82H,01H,81H,94H,84H
DB 0B4H,0A4H,04H
DB 82H,01H,81H,94H,84H
DB 0C4H,0B4H,04H
DB 82H,01H,81H,0F4H,0D4H
DB 0B4H,0A4H,94H
DB 0E2H,01H,0E1H,0D4H,0B4H
DB 0C4H,0B4H,04H
DB 82H,01H,81H,94H,84H
DB 0B4H,0A4H,04H
DB 82H,01H,81H,94H,84H
DB 0C4H,0B4H,04H
DB 82H,01H,81H,0F4H,0D4H
DB 0B4H,0A4H,94H
DB 0E2H,01H,0E1H,0D4H,0B4H
DB 0C4H,0B4H,04H
DB 00H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -