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

📄 02.20.asm

📁 一款多功能音乐盒的汇编程序代码!本人参照众多资料所写
💻 ASM
字号:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP WAISEV
ORG 000BH
LJMP T0SEV
ORG 001BH
LJMP T1SEV
ORG 0030H
MAIN:MOV SP,#60H
MOV TMOD,#11H
MOV TH0,#0F4H
MOV TL0,#48H
MOV 44H,#70H
MOV 45H,#0B0H
MOV 46H,#0D0H
MOV 47H,#0E0H
MOV 32H,#00H
MOV 33H,#00H
MOV 75H,#00H
MOV 76H,#00H
MOV 77H,#00H
MOV IP,#09H
SETB EA
SETB EX0
SETB ET1
SETB ET0
MOV P3,#0E4H
START: MOV 30H,#00H
L0:   NOP
      NOP
      JB F0,L1
      LCALL DISPLAY
      AJMP L0
L1:   MOV A,30H
      MOV DPH,75H
      MOV DPL,76H
      LCALL DISPLAY
      MOVC A,@A+DPTR
      MOV R2,A
      CJNE A,#00H,NEXT1
        MOV 30H,#00H
        MOV 12H,#00H
        MOV 13H,#00H
        MOV 14H,#00H
        MOV 15H,#00H
        MOV 16H,#00H
        MOV 32H,#00H
        MOV 33H,#00H
        CLR TR1
        SJMP START
NEXT1: MOV A,R2
       ANL A,#0FH
       MOV R5,A
       MOV A,R2
       SWAP A
       ANL A,#0FH
       JNZ SING
       CLR TR1
       SJMP D1
SING:  DEC A
       CLR C
       RLC A
       MOV 22H,A
       MOV DPTR,#TABLE
       MOVC A,@A+DPTR
       MOV TH1,A
       MOV 21H,A
       MOV A,22H
       ADD A,#1
       MOVC A,@A+DPTR
       MOV TL1,A
       MOV 20H,A
       MOV P2,A
       SETB ET1
       SETB TR1
D1:    LCALL DELAY
       CLR TR1
       INC 30H
       LJMP L0
DELAY:  MOV R7,#03
D2:     MOV R4,#200
D3:     MOV R3,#123
D30:    DJNZ R3,D30
        DJNZ R4,D3
        DJNZ R7,D2
        DJNZ R5,DELAY
        RET
DISPLAY:PUSH ACC
        PUSH DPH
        PUSH DPL
        MOV A,R0
        MOV DPTR,#LED
        MOVC A,@A+DPTR
        MOV P1,A
        POP DPL
        POP DPH
        POP ACC
        RET
T1SEV:  CLR TR1              ; 没有保护现场?
        MOV TL1,20H
        MOV TH1,21H
        CPL P3.0
        SETB TR1
        RETI
T0SEV:  PUSH ACC
        PUSH PSW
        SETB RS1
        CLR RS0
        CLR TR0
        CJNE R6,#0,GOON
        MOV R0,#40H
        MOV R1,#44H
GOON: INC R2
      CJNE R2,#111,BRET
      MOV R2,#0
      INC R5
      CJNE R5,#3,BRET
      MOV R5,#0
      INC R3
      MOV 32H,R3
      CJNE R3,#60,BRET
      MOV 32H,#0
      MOV R3,#0
      INC R4
      MOV 33H,R4
BRET:MOV B,#10
    MOV A,32H
    DIV AB
    MOV 42H,A
    MOV 43H,B
    MOV B,#10
    MOV A,33H
    DIV AB
    MOV 40H,A
    MOV 41H,B
    MOV A,@R1
    ADD A,@R0
    MOV P0,A
    INC R6
    INC R0
    INC R1
    CJNE R6,#4,GO
    MOV R6,#0
GO: MOV TH0,#0F4H
    MOV TL0,#48H
    POP PSW
    POP ACC
    SETB TR0
    RETI
WAISEV: LCALL D10ms
        LCALL KEYIN
        JNZ LKOUT
        LJMP KEND
LKOUT:MOV 30H,#00H
      MOV 12H,#00H
      MOV 13H,#00H
      MOV 14H,#00H
      MOV 15H,#00H
      MOV 16H,#00H
      MOV 32H,#00H
      mov 33h,#00h
      MOV 75H,#00H
      MOV 76H,#00H
      MOV A,#00H
      CLR TR0
      MOV P0,#00H
      MOV R1,#0EFH
      MOV R6,#00H
CONU:MOV P3,R1
     MOV A,P3
     JB ACC.5,LONE
     MOV A,#00H
     LJMP LKP
LONE:JB ACC.6,LTWO
     MOV A,#03H
     LJMP LKP
LTWO:JB ACC.7,NEXT
     MOV A,#06H
LKP: ADD A,R6
     PUSH ACC
WKFE:LCALL KEYIN
     JNZ WKFE
     POP ACC
     LJMP KJMP
NEXT:INC R6
     MOV A,R1
     CJNE R6,#2,K1
     RR A
K1:  JNB ACC.1,KND
     RR A
     MOV R1,A
     LJMP CONU
D10ms:  MOV 71H,#100
LOOP1:  MOV 70H,#47
LOOP0:  DJNZ 70H,LOOP0
        NOP
        DJNZ 71H,LOOP1
        MOV 70H,#48
LOOP4:  DJNZ 70H,LOOP4
        RET
KEYIN:  MOV P3,#0E4H
        MOV A,P3
        CPL A
        ANL A,#0E0H
        RET
KND:   MOV 75H,DPH
       MOV 76H,DPL
       SETB TR0
       SETB F0
       SETB ET0
KEND:  MOV R5,#01H
       RETI
KJMP: MOV DPTR,#KEYSEV
      MOV 77H,A
      ADD A,77H
      ADD A,77H
      JMP @A+DPTR
KEYSEV:LJMP KEY0
       LJMP KEY1
       LJMP KEY2
       LJMP KEY3
       LJMP KEY4
       LJMP KEY5
       LJMP KEY6
       LJMP KEY7
       LJMP KEY8
KEY0:  CLR F0
       CLR ET0
       MOV R0,#16
       LJMP KEND
KEY1:  MOV DPTR,#ONE
       MOV R0,#1
       LJMP KND
KEY2:  MOV DPTR,#TWO
       MOV R0,#2
       LJMP KND
KEY3:  MOV DPTR,#THREE
       MOV R0,#3
       LJMP KND
KEY4:  MOV DPTR,#FOUR
       MOV R0,#4
       LJMP KND
KEY5:  MOV DPTR,#FIVE
       MOV R0,#5
       LJMP KND
KEY6:  MOV DPTR,#SIX
       MOV R0,#6
       LJMP KND
KEY7:  MOV DPTR,#SEVEN
       MOV R0,#7
       LJMP KND
KEY8:  MOV DPTR,#EIGHT
       MOV R0,#8
       LJMP KND
LED:    DB  0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H
        DB  90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH
ONE:    DB  04H,82H,01H,81H,94H,84H,0B4H,0A4H,04H         ;生日快乐
	DB  82H,01H,81H,94H,84H,0C4H,0B4H,04H
        DB  82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H
        DB  0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H
        DB  00H
TWO:    DB  04h,01h,64H,84H,92H,91H,81H,93H,61H,54H       ;康定情歌
        DB  62H,82H,92H,91H,81H,92H,64H,62h
        DB  82h,92h,91h,81h,93h,61h,54h,82h
        DB  62h,51h,61h,51h,41h,52h,24h,92H
        DB  54H,82H,64H,52H,42h,94H,82H,62H
        DB  51H,61H,51H,41H,52H,24H,04H
        DB  00H
THREE:  DB 04H,01H,18h,44h,54h,66H,72H,64H,44H,58H,44H,24H        ;同一首歌
        DB 4fH,18H,44H,54H,64H,62H,72H,84H,44H
        DB 76H,62H,84H,52H,62H,5CH,68H,84H,0B4H
        DB 0A6H,98H,84H,82H,92H,0A4H,92H,82H,6fH
        DB 76H,72H,84H,94H,84H,72H,62H,58H,34H,32H
        DB 22H,14H,24H,4fH,0b8H,98H,76H,82H,98H
        DB 0A4H,0A2H,0A2H,0A4H,92H,82H,6fH,0b8H,98H
        DB 76H,82H,98H,24H,22H,22H,94H,72H,62H,5fH
        DB 18H,44H,54H,66H,72H,64H,42H,42H,56H,52H,54H,52H,42H
        DB 24H,2cH,38H,36H,22H,14H,94H,84H,52H,52H,76H,72H,74H,62H,52H,4fH
        DB 9cH,01h,0B8H,01h,0B3H,0BFH,04H
        DB 00H
FOUR:   DB  04h,01h,61h,81h,94h,92h,0b1h,0a1h,91h,81h,64h         ;一剪梅
        DB  21h,41h,54h,52h,61h,51h,41h,31h,24h
        DB  22h,22h,64h,51h,41h,32h,42h,32h,21h,11h,24h,02H
        DB  22h,44h,21h,41h,52h,52h,61h,71h,61h,51h,64h,02H
        DB  61h,81h,94h,81h,61h,54h,41h,51h,64h,51h,61h,24h
        DB 02h,32h,31h,21h,14h,11h,11h,42h,32h,24h,24h,24h
        DB 02h,22h,94h,82h,61h,81h,61h,81h,94h,82h,52h,52h
        DB 61h,81h,61h,51h,64h,41h,21h,24h,61h,51h,64h,81h
        DB 91h,61h,51h,64h,02h,62h,22h,94h,82h,61h,81h,61h
        DB 41h,21h,24h,61h,51h,64h,81h,91h,61h,51h,64h,04h
        DB 62h,22h,94h,82h,61h,81h,61h,81h,94h,81h,51h,52h
        DB 61h,81h,61h,51h,51h,64h,41h,21h,24h,41h,21h,24h
        DB 61h,51h,64h,61h,51h,64h,01h,62h,84h,12h,24h,04H,00H
FIVE:   DB  04H,01h,82h,52h,42h,31h,21h,12h,82h,52h,61h,51h       ;东方红
        DB  42h,41h,21h,51h,61h,51h,41h,51h,41h,31h,21h
        DB  12h,02h,12h,82h,81h,91h,52h,02h,42h,41h,21h
        DB  52h,02h,82h,82h,91h,0b1h,91h,81h,42h,41h,21h
        DB  52h,02h,82h,52h,42h,31h,21h,12h,82h,52h,61h
        DB  51h,42h,41h,21h,51h,61h,51h,41h,51h,41h,31h
        DB  21h,12h,02h,12h,04H,00H
SIX:   DB 04H,01H,96H,82H,64H,84H,0B4H,92H,82H,98H,64H,82H    ;时世上只有妈妈好
       DB 92H,84H,64H,42H,22H,82H,62H,58H,56H,62H
       DB 84H,82H,92H,64H,54H,48H,86H,62H,52H,42H
       DB 22H,42H,1FH,96H,82H,64H,84H,0B4H,92H,82H
       DB 98H,64H,82H,92H,84H,64H,42H,22H,82H,62H
       DB 58H,56H,62H,84H,82H,92H,64H,54H,48H,86H
       DB 62H,52H,42H,22H,42H,1FH,04H,00H
SEVEN:  DB 04H,01H,96H,82H,66H,52H,42H,42H,52H,62H,26H,14H,12H,22H  ;精忠报国
        DB 44H,42H,52H,62H,82H,52H,72H,68H,96H,82H,66H,52H
        DB 42H,52H,52H,62H,28H,14H,12H,22H,44H,42H,52H,62H
        DB 82H,52H,72H,68H,96H,82H,66H,52H,42H,52H,52H,62H
        DB 28H,54H,52H,62H,84H,82H,62H,52H,42H,22H,12H,28H
        DB 96H,82H,66H,52H,42H,52H,52H,62H,28H,54H,52H,62H
        DB 84H,82H,62H,52H,42H,22H,12H,28H,44H,54H,64H,74H
        DB 94H,0B4H,94H,62H,82H,92H,0B2H,92H,82H,68H,54H,52H
        DB 62H,84H,82H,92H,82H,62H,62H,52H,68H,94H,0B4H,94H
        DB 62H,82H,92H,0B2H,92H,82H,68H,52H,52H,52H,62H,82H
        DB 82H,82H,92H,0AFH,0A4H,04H,88H,9FH,04H,00H
EIGHT: DB 04H,01H,02H,12H           ;月亮代表我的心
       DB 46H,62H,84H,02H,42H
       DB 36H,62H,84H,02H,82H
       DB 94H,0A4H,0B6H,94H
       DB 92H,8BH,62H,52H
       DB 46H,42H,44H,62H,52H
       DB 46H,42H,44H,52H,62H
       DB 56H,42H,24H,52H,62H
       DB 5CH
       DB 02H,62H,82H
       DB 66H,52H,44H,84H
       DB 3CH,22H,32H
       DB 26H,32H,26H,12H
       DB 6CH,84H
       DB 66H,52H,44H,84H
       DB 3CH,22H,32H
       DB 46H,42H,44H,52H,62H
       DB 5CH,02H,12H
       DB 46H,62H,86H,42H
       DB 36H,62H,86H,82H
       DB 96H,0A2H,0B6H,92H
       DB 92H,82H,88H,62H,52H
       DB 46H,42H,44H,62H,52H
       DB 46H,42H,44H,52H,62H
       DB 56H,22H,34H,42H,52H
       DB 4CH,04H
       DB 00
TABLE:  DB  0FBH,08H,0FBH,92H,0FCH,0EH,0FCH,4BH
        DB  0FCH,0AFH,0FDH,0CH,0FDH,36H,0FDH,80H
        DB  0FDH,0C3H,0FEH,07H,0FEH,30H,0FEH,70H
        DB  0FEH,89H,0FEH,0B0H,0FEH,0D4H,0FEH,0F5H
END

⌨️ 快捷键说明

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