?? music.lst
字號:
A51 MACRO ASSEMBLER MUSIC 05/28/2007 21:00:26 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN Music.OBJ
ASSEMBLER INVOKED BY: D:\mcu\keil\C51\BIN\A51.EXE Music.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;copyright:-----維斯特開發(fā)天地-----
2
3 ;===============================================================================
00E8 4 P4 EQU 0E8H ; P4口擴(kuò)展
00E8 5 SPK EQU P4.0 ; 蜂鳴器所在端口
6
0000 7 ORG 0000H
0000 8000 8 JMP START
9
0002 10 START:
0002 7B00 11 MOV R3,#00H
0004 12 NEXT:
0004 EB 13 MOV A,R3
0005 9000B7 14 MOV DPTR,#TABLE
0008 93 15 MOVC A,@A+DPTR
0009 60F7 16 JZ START
000B FF 17 MOV R7,A
000C 0B 18 INC R3
000D EB 19 MOV A,R3
000E 93 20 MOVC A,@A+DPTR
000F FA 21 MOV R2,A
0010 1115 22 ACALL SONG
0012 0B 23 INC R3
0013 80EF 24 SJMP NEXT
25
26
27 ;===============================================================================
28 ;=== 歌曲播放子程序 ===
0015 29 SONG:
0015 EA 30 MOV A,R2 ; 取出節(jié)拍
0016 23 31 RL A
0017 7002 32 JNZ KEEP
0019 7401 33 MOV A,#01H
001B 34 KEEP:
001B FA 35 MOV R2,A
001C 36 REPEAT:
001C 1121 37 ACALL EIGHTH
001E DAFC 38 DJNZ R2,REPEAT
0020 22 39 RET
40
41 ;===============================================================================
42 ;=== 產(chǎn)生1/8拍延時(shí)子程序 ===
0021 43 EIGHTH:
0021 EF 44 MOV A,R7 ; 查表取出廷時(shí)參數(shù),保存到R4
0022 90007E 45 MOV DPTR,#DELAY_T
0025 93 46 MOVC A,@A+DPTR
0026 FC 47 MOV R4,A
0027 EF 48 MOV A,R7 ; 查表取出1/8拍周期數(shù),保存到R5
0028 900045 49 MOV DPTR,#S_PARA
002B 93 50 MOVC A,@A+DPTR
002C FD 51 MOV R5,A
002D 52 NEXTCYC:
002D 1132 53 ACALL SOUND
002F DDFC 54 DJNZ R5,NEXTCYC
0031 22 55 RET
56
57 ;===============================================================================
58 ;=== 發(fā)聲子程序 ===
A51 MACRO ASSEMBLER MUSIC 05/28/2007 21:00:26 PAGE 2
0032 59 SOUND:
0032 D2E8 60 SETB SPK
0034 113B 61 ACALL SDELAY
0036 C2E8 62 CLR SPK
0038 113B 63 ACALL SDELAY
003A 22 64 RET
65
66 ;===============================================================================
67 ;=== 延時(shí)子程序 ===
003B 68 SDELAY:
003B EC 69 MOV A,R4 ; 廷時(shí)值在R4內(nèi)
003C F8 70 MOV R0,A
003D 71 XL2:
003D 7902 72 MOV R1,#2H
003F 73 DL1:
003F 00 74 NOP
0040 D9FD 75 DJNZ R1,DL1
0042 D8F9 76 DJNZ R0,XL2
0044 22 77 RET
78 ;===============================================================================
79 ;=== 1/8拍周期表 ===
0045 80 S_PARA:
0045 81 DS 1DH
0062 151600 82 DB 15H,16H,00
0065 19001C00 83 DB 19H,00H,1CH,00H,1FH,21H,00H,25H
0069 1F210025
006D 00292C00 84 DB 00H,29H,2CH,00H,31H,34H,37H,00H
0071 31343700
0075 3E410049 85 DB 3EH,41H,00H,49H,00H,52H,57H,00H
0079 00525700
007D 62 86 DB 62H
87
88 ;===============================================================================
89 ;=== 延時(shí)參數(shù)表 ===
007E 90 DELAY_T:
007E 91 DS 1DH
009B 7E7700 92 DB 7EH,77H,00H
009E 6A005E00 93 DB 6AH,00H,5EH,00H,54H,4FH,00H,46H
00A2 544F0046
00A6 003F3B00 94 DB 00H,3FH,3BH,00H,35H,32H,2FH,00H
00AA 35322F00
00AE 2A270023 95 DB 2AH,27H,00H,23H,00H,1FH,1DH,0C0H
00B2 001F1DC0
00B6 1A 96 DB 1AH
97
98 ;===============================================================================
99 ;=== 歌曲表 ===
00B7 100 TABLE:
00B7 2202 101 DW 2202H,2902H,2902H,2902H,2906H,2702H ;我從山中來
00B9 2902
00BB 2902
00BD 2902
00BF 2906
00C1 2702
00C3 2502 102 DW 2502H,2702H,2502H,2402H,2208H ;帶著蘭花草
00C5 2702
00C7 2502
00C9 2402
00CB 2208
00CD 2E02 103 DW 2E02H,2E02H,2E02H,2E02H,2E06H,2C02H ;種在小園中
00CF 2E02
00D1 2E02
00D3 2E02
00D5 2E06
00D7 2C02
00D9 2902 104 DW 2902H,2C02H,2D02H,2A02H,2908H ;祈禱花開早
A51 MACRO ASSEMBLER MUSIC 05/28/2007 21:00:26 PAGE 3
00DB 2C02
00DD 2D02
00DF 2A02
00E1 2908
00E3 2902 105 DW 2902H,2E02H,2E02H,2C02H,2906H,2702H ;一日看三回
00E5 2E02
00E7 2E02
00E9 2C02
00EB 2906
00ED 2702
00EF 2502 106 DW 2502H,2702H,2502H,2402H,2206H,1D02H ;看得花時(shí)過
00F1 2702
00F3 2502
00F5 2402
00F7 2206
00F9 1D02
00FB 1D02 107 DW 1D02H,2502H,2502H,2402H,2206H,2902H ;蘭花卻依然
00FD 2502
00FF 2502
0101 2402
0103 2206
0105 2902
0107 2702 108 DW 2702H,2502H,2402H,2002H,2208H ;苞也無一個(gè)
0109 2502
010B 2402
010D 2002
010F 2208
0111 0000 109 DW 0000H ;
110
111 END
A51 MACRO ASSEMBLER MUSIC 05/28/2007 21:00:26 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
DELAY_T. . . . . . C ADDR 007EH A
DL1. . . . . . . . C ADDR 003FH A
EIGHTH . . . . . . C ADDR 0021H A
KEEP . . . . . . . C ADDR 001BH A
NEXT . . . . . . . C ADDR 0004H A
NEXTCYC. . . . . . C ADDR 002DH A
P4 . . . . . . . . N NUMB 00E8H A
REPEAT . . . . . . C ADDR 001CH A
SDELAY . . . . . . C ADDR 003BH A
SONG . . . . . . . C ADDR 0015H A
SOUND. . . . . . . C ADDR 0032H A
SPK. . . . . . . . B ADDR 00E8H.0 A
START. . . . . . . C ADDR 0002H A
S_PARA . . . . . . C ADDR 0045H A
TABLE. . . . . . . C ADDR 00B7H A
XL2. . . . . . . . C ADDR 003DH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -