⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 finally2.0.asm

📁 音乐播放器单片机程序
💻 ASM
字号:
ORG 0000H
LJMP START
ORG 000BH
INC 20H 
MOV TH0,#0D8H
MOV TL0,#0EFH 
RETI
ORG 001BH
LJMP INTT1
START:
MOV P3,#01010101B
MOV SP,#50H
MOV TH0,#0D8H
MOV TL0,#0EFH
MOV TH1,#0F9H
MOV TL1,#0A8H
MOV TMOD,#11H
MOV IE,#8AH
SETB TR1
LOOP:MOV P0,#0C0H
     LCALL DAY1
     MOV P0,#0FFH
     LCALL DAY1
     SJMP LOOP
MUSIC0:
NOP
 
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
SWAP A
MOV P3,A
CPL p2.0
MOV A,R6
MOV R3,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 start
INTT1:
   MOV TH1,#0F9H
   MOV TL1,#0A8H

maina:
      jb p2.1,mainb 
      ajmp next0
mainb:
      jnb p2.1,maina
      ajmp kb0

NEXT0:JB P1.0,NEXT1
      ACALL DAY
      JB P1.0,NEXT1
      AJMP song1
NEXT1:JB P1.1,NEXT2
      ACALL DAY
      JB P1.1,NEXT2
      AJMP song2
NEXT2:JB P1.2,NEXT3
      ACALL DAY
      JB P1.2,NEXT3
      AJMP song3
NEXT3:JB P1.3,NEXT4
      ACALL DAY
      JB P1.3,NEXT4
      AJMP song4
NEXT4:JB P1.4,NEXT5
      ACALL DAY
      JB P1.4,NEXT5
      AJMP song5
NEXT5:JB P1.5,NEXT6
      ACALL DAY
      JB P1.5,NEXT6
      AJMP song6
NEXT6:JB P1.6,NEXT7
      ACALL DAY
      JB P1.6,NEXT7
      AJMP song7
NEXT7:JB P1.7,NEXT8
      ACALL DAY
      JB P1.7,NEXT8
      AJMP song8
NEXT8:JB P2.2,NEXT9
      ACALL DAY
      JB P2.2,NEXT9
      AJMP song9
NEXT9:JB P2.3,NEXTA
      ACALL DAY
      JB P2.3,NEXTA
      AJMP songA
NEXTa:JB P2.4,NEXTB
      ACALL DAY
      JB P2.4,NEXTB
      AJMP songB
NEXTb:JB P2.5,NEXTC
      ACALL DAY
      JB P2.5,NEXTC
      AJMP songC
NEXTc:JB P2.6,NEXTD
      ACALL DAY
      JB P2.6,NEXTD
      AJMP songD
NEXTd:JB P2.7,lop1
      ACALL DAY
      JB P2.7,lop1
      AJMP songE
lop1:reti

song1:MOV P0,#0F9H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#sing1
      AJMP LOP
song2:MOV P0,#0A4H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#sing2
      AJMP LOP
song3:MOV P0,#0B0H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#sing3
      AJMP LOP
song4:MOV P0,#99H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#sing4
      AJMP LOP
song5:MOV P0,#92H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#sing5
      AJMP LOP
song6:MOV P0,#82H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#sing6
      AJMP LOP
song7:MOV P0,#0F8H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#sing7
      AJMP LOP
song8:MOV P0,#80H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#sing8
      AJMP LOP
song9:MOV P0,#98H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#sing9
      AJMP LOP
songA:MOV P0,#0C0H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#singA
      AJMP LOP
songB:MOV P0,#0F9H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#singB
      AJMP LOP
songC:MOV P0,#0A4H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#singC
      AJMP LOP
songD:MOV P0,#0B0H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#singD
      AJMP LOP
songE:MOV P0,#99H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#singE
      AJMP LOP


kb0:JB P1.0,kb1
      ACALL DAY
      JB P1.0,kb1
      AJMP m1
kb1:JB P1.1,kb2
      ACALL DAY
      JB P1.1,kb2
      AJMP m2
kb2:JB P1.2,kb3
      ACALL DAY
      JB P1.2,kb3
      AJMP m3
kb3:JB P1.3,kb4
      ACALL DAY
      JB P1.3,kb4
      AJMP m4
kb4:JB P1.4,kb5
      ACALL DAY
      JB P1.4,kb5
      AJMP m5
kb5:JB P1.5,kb6
      ACALL DAY
      JB P1.5,kb6
      AJMP m6
kb6:JB P1.6,kb7
      ACALL DAY
      JB P1.6,kb7
      AJMP m7
kb7:JB P1.7,KB8
      ACALL DAY
      JB P1.7,KB8
      AJMP m8
kb8:JB P2.2,kb9
      ACALL DAY
      JB P2.2,kb9
      AJMP m9
kb9:JB P2.3,kbA
      ACALL DAY
      JB P2.3,kbA
      AJMP mA
kbA:JB P2.4,kbB
      ACALL DAY
      JB P2.4,kbB
      AJMP mB
kbB:JB P2.5,kbC
      ACALL DAY
      JB P2.5,kbC
      AJMP mC
kbC:JB P2.6,kbD
      ACALL DAY
      JB P2.6,kbD
      AJMP mD
kbD:JB P2.7,lop2
      ACALL DAY
      JB P2.7,lop2
      AJMP mE
lop2:reti

m1:MOV P0,#0F9H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tab1
      AJMP LOP
m2:MOV P0,#0a4H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tab2
      AJMP LOP
m3:MOV P0,#0b0H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tab3
      AJMP LOP
m4:MOV P0,#99H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tab4
      AJMP LOP
m5:MOV P0,#92H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tab5
      AJMP LOP
m6:MOV P0,#82H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tab6
      AJMP LOP
m7:MOV P0,#0F8H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tab7
      AJMP LOP
m8:MOV P0,#80H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tab8
      AJMP LOP
m9:MOV P0,#98H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tab9
      AJMP LOP
mA:MOV P0,#0C0H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tabA
      AJMP LOP
mB:MOV P0,#0F9H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tabB
      AJMP LOP
mC:MOV P0,#0A4H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tabC
      AJMP LOP
mD:MOV P0,#0B0H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tabD
      AJMP LOP
mE:MOV P0,#99H
      MOV DPTR,#MUSIC0
      PUSH DPL
      PUSH DPH
      MOV DPTR,#tabE
      AJMP LOP

LOP:
    RETI
DAY:MOV R3,#5
  D1:MOV R4,#20
  D2:MOV R5,#248
     DJNZ R5,$
     DJNZ R4,D2
     DJNZ R3,D1
     RET  
DEL:
NOP
DEL3: 
MOV R4,#02H
DEL4: 
NOP
DJNZ R4,DEL4
NOP
DJNZ R3,DEL3
RET
DAY1:MOV R2,#50
 D3:MOV R3,#20
 D4:MOV R4,#248
    DJNZ R4,$
    DJNZ R3,D4
    DJNZ R2,D3
    RET
NOP
sing1:
     DB 26H,40H,1CH,40H,1CH,40H,26H,40H,20H,40H,1CH,20H,20H,20H,1CH,80H
     DB 1CH,40H,26H,40H,20H,40H,1CH,20H,20H,20H,26H,0C0H
     DB 39H,40H,2BH,40H,2BH,40H,39H,40H
     DB 30H,40H,2BH,20H,30H,20H,2BH,80H
     DB 2BH,40H,39H,40H,30H,40H,2BH,20H,30H,20H,39H,0C0H
     DB 26H,40H,1CH,40H,1CH,40H,26H,40H,20H,40H,1CH,20H,20H,20H,1CH,80H
     DB 1CH,40H,26H,40H,20H,40H,1CH,20H,20H,20H,26H,0C0H
     DB  39H,40H,2BH,40H,2BH,40H,39H,40H
     DB  30H,40H,2BH,20H,30H,20H,2BH,40H,30H,20H,2BH,20H
     DB 26H,40H,1CH,40H,19H,20H,1CH,20H,20H,40H,1CH,0C0H,1CH,20H,19H,20H
     DB 18H,40H,19H,20H,1CH,20H,20H,40H,26H,40H,1CH,0C0H,26H,20H,20H,20H
     DB 1CH,40H,18H,40H,19H,20H,1CH,20H,20H,40H,26H,0C0H,1CH,20H,19H,20H
     DB 18H,40H,19H,20H,1CH,20H,20H,40H,26H,40H,1CH,0C0H,26H,20H,20H,20H
     DB 1CH,40H,18H,40H,15H,20H,18H,20H,19H,20H,1CH,20H,19H,0C0H
     DB 19H,0C0H,26H,40H
     DB 18H,40H,19H,20H,1CH,20H,20H,40H,26H,40H,1CH,40H,20H,20H,24H,20H,26H,40H,30H,20H,2BH,20H
     DB 26H,40H,1CH,40H,20H,40H,1CH,20H,20H,20H,1CH,0C0H,26H,40H
     DB 18H,40H,19H,20H,1CH,20H,20H,40H,26H,40H,1CH,40H,20H,20H,24H,20H,26H,40H,30H,20H,2BH,20H
     DB 26H,40H,18H,40H,19H,40H,1CH,20H,20H,20H,1CH,0C0H
sing2:
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
sing3: 
       DB 20H,30H,20H,10H,1CH,40H,20H,40H
       DB 18H,40H,19H,80H,0FFH
       DB 20H,30H,20H,10H,1CH,40H,20H,40H,15H,40H,18H,80H
       DB 20H,30H,20H,10H,10H,40H,13H,40H,18H,40H,19H,40H,1CH
       DB 40H,12H,30H,12H,10H,13H,40H,18H,40H,15H,40H,18H,80H
       DB 0FFH,0FFH,0FFH
sing4:  
       DB 30H,40H,2BH,40H,26H,40H,30H,40H,30H,40H,2BH,40H,26H,40H,30H,40H
       DB 26H,40H,24H,40H,20H,80H,26H,40H,24H,40H,20H,80H
       DB 20H,20H,1CH,20H,20H,20H,24H,20H,26H,40H,30H,40H,20H,20H,1CH,20H,20H,20H,24H,20H,26H,40H,30H,40H
       DB 30H,40H,20H,40H,30H,80H,30H,40H,40H,40H,30H,80H
       DB 0FFH,0FFH,0FFH
sing5:  
       DB 30H,40H,2BH,40H,26H,40H,30H,40H,30H,40H,2BH,40H,26H,40H,30H,40H
       DB 26H,40H,24H,40H,20H,80H,26H,40H,24H,40H,20H,80H
       DB 20H,20H,1CH,20H,20H,20H,24H,20H,26H,40H,30H,40H,20H,20H,1CH,20H,20H,20H,24H,20H,26H,40H,30H,40H
       DB 30H,40H,20H,40H,30H,80H,30H,40H,40H,40H,30H,80H
       DB 0FFH,0FFH,0FFH


sing6:

       DB 20H,30H,20H,10H,1CH,40H,20H,40H
       DB 18H,40H,19H,80H,0FFH
       DB 20H,30H,20H,10H,1CH,40H,20H,40H,15H,40H,18H,80H
       DB 20H,30H,20H,10H,10H,40H,13H,40H,18H,40H,19H,40H,1CH
       DB 40H,12H,30H,12H,10H,13H,40H,18H,40H,15H,40H,18H,80H
       DB 0FFH,0FFH,0FFH

sing7:
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

sing8:

    DB 26H,40H,1CH,40H,1CH,40H,26H,40H,20H,40H,1CH,20H,20H,20H,1CH,80H
     DB 1CH,40H,26H,40H,20H,40H,1CH,20H,20H,20H,26H,0C0H
     DB 39H,40H,2BH,40H,2BH,40H,39H,40H
     DB 30H,40H,2BH,20H,30H,20H,2BH,80H
     DB 2BH,40H,39H,40H,30H,40H,2BH,20H,30H,20H,39H,0C0H
     DB 26H,40H,1CH,40H,1CH,40H,26H,40H,20H,40H,1CH,20H,20H,20H,1CH,80H
     DB 1CH,40H,26H,40H,20H,40H,1CH,20H,20H,20H,26H,0C0H
     DB  39H,40H,2BH,40H,2BH,40H,39H,40H
     DB  30H,40H,2BH,20H,30H,20H,2BH,40H,30H,20H,2BH,20H
     DB 26H,40H,1CH,40H,19H,20H,1CH,20H,20H,40H,1CH,0C0H,1CH,20H,19H,20H
     DB 18H,40H,19H,20H,1CH,20H,20H,40H,26H,40H,1CH,0C0H,26H,20H,20H,20H
     DB 1CH,40H,18H,40H,19H,20H,1CH,20H,20H,40H,26H,0C0H,1CH,20H,19H,20H
     DB 18H,40H,19H,20H,1CH,20H,20H,40H,26H,40H,1CH,0C0H,26H,20H,20H,20H
     DB 1CH,40H,18H,40H,15H,20H,18H,20H,19H,20H,1CH,20H,19H,0C0H
     DB 19H,0C0H,26H,40H
     DB 18H,40H,19H,20H,1CH,20H,20H,40H,26H,40H,1CH,40H,20H,20H,24H,20H,26H,40H,30H,20H,2BH,20H
     DB 26H,40H,1CH,40H,20H,40H,1CH,20H,20H,20H,1CH,0C0H,26H,40H
     DB 18H,40H,19H,20H,1CH,20H,20H,40H,26H,40H,1CH,40H,20H,20H,24H,20H,26H,40H,30H,20H,2BH,20H
     DB 26H,40H,18H,40H,19H,40H,1CH,20H,20H,20H,1CH,0C0H
sing9:DB 26H,40H,18H,40H,19H,40H,1CH,20H,20H,20H,1CH,0C0H
singA:DB 26H,40H,18H,40H,19H,40H,1CH,20H,20H,20H,1CH,0C0H
singB:DB 26H,40H,18H,40H,19H,40H,1CH,20H,20H,20H,1CH,0C0H
singC:DB 26H,40H,18H,40H,19H,40H,1CH,20H,20H,20H,1CH,0C0H
singD:DB 26H,40H,18H,40H,19H,40H,1CH,20H,20H,20H,1CH,0C0H
singE:DB 26H,40H,18H,40H,19H,40H,1CH,20H,20H,20H,1CH,0C0H

tab1:db 26h,40h
     db 00h
tab2:db 30h,40h
     db 00h
tab3:db 18h,40h
     db 00h
tab4:db 19h,40h
     db 00h
tab5:db 20h,40h
     db 00h
tab6:db 2bh,40h
     db 00h
tab7:db 1ch,40h
     db 00h
tab8:db 1fh,40h
     db 00h
tab9:db 18h,40h
     db 00h
tabA:db 19h,40h
     db 00h
tabB:db 20h,40h
     db 00h
tabC:db 2bh,40h
     db 00h
tabD:db 1ch,40h
     db 00h
tabE:db 1fh,40h
     db 00h


END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -