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

📄 sstdownload.a51

📁 通过对单片机编程可组成音乐
💻 A51
📖 第 1 页 / 共 3 页
字号:
        LCALL  LFB7A
        LJMP   LF4CC
LF5D0:  LCALL  LFBA7
        LJMP   LF4CC
        MOV    28H, #00H
        LCALL  LF89C
        MOV    29H, A
        LCALL  LF89C
        MOV    27H, A
        LCALL  LF89C
        MOV    26H, A
        LCALL  LF89C
        MOV    DPH, A
        LCALL  LF89C
        MOV    DPL, A
        LCALL  LF89C
        MOV    R2, A
        LCALL  LF89C
        MOV    R0, A
        LCALL  LF89C
        MOV    R1, A
        LCALL  LF89C
        MOV    A, 25H
        JZ     LF60C
        MOV    28H, #02H
        LCALL  LF4CC
        RET    
LF60C:  CLR    A
        CJNE   A, 29H, LF61C
        LCALL  LFCC9
        LCALL  LF093
        JNC    LF61B
        LCALL  LF890
LF61B:  RET    
LF61C:  INC    A
        CJNE   A, 29H, LF623
        LJMP   LF643
LF623:  INC    A
        CJNE   A, 29H, LF62F
        CLR    11H
        LCALL  LFC8D
        LJMP   LF643
LF62F:  CLR    12H
        LCALL  LFC8B
        JB     12H, LF642
        LCALL  LF4CC
        LCALL  LF093
        JNC    LF642
        LCALL  LF890
LF642:  RET    
LF643:  MOV    25H, #00H
        MOV    A, #02H
        LCALL  LF8B0
        MOV    26H, #04H
        MOV    DPH, #00H
        MOV    DPL, #0E0H
        LCALL  LF96B
        LCALL  LF8B0
        MOV    DPL, #0F0H
        LCALL  LF96B
        LCALL  LF8B0
        MOV    DPL, #0D0H
        MOV    2AH, #08H
        LCALL  LF96B
        ANL    A, #18H
        MOV    DPL, A
LF670:  LCALL  LF96B
        LCALL  LF8B0
        INC    DPTR
        DJNZ   2AH, LF670
        MOV    DPL, #83H
        LCALL  LF96B
        LCALL  LF8B0
        MOV    DPL, #82H
        LCALL  LF96B
        LCALL  LF8B0
        MOV    DPTR, #7E0DH
        CLR    A
LF690:  MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPTR
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        MOV    DPL, #0D0H
        LCALL  LF96B
        LCALL  LF8B0
        CLR    A
        LCALL  LF8B0
        CLR    A
        LCALL  LF8B0
        CLR    A
        LCALL  LF8B0
        CLR    A
        LCALL  LF8B0
        MOV    DPL, #81H
        LCALL  LF96B
        MOV    DPL, A
        LCALL  LF8B0
        MOV    26H, #01H
LF6C1:  LCALL  LF96B
        LCALL  LF8B0
        DEC    DPL
        DJNZ   27H, LF6C1
        CLR    A
        CLR    C
        SUBB   A, 25H
        LCALL  LF8B0
        RET    
        MOV    28H, #00H
        LCALL  LF89C
        MOV    26H, A
        LCALL  LF89C
        MOV    DPH, A
        LCALL  LF89C
        MOV    DPL, A
        LCALL  LF89C
        INC    A
        MOV    29H, A
        LCALL  LF89C
        INC    A
        MOV    27H, A
        LCALL  LF89C
        MOV    2AH, A
        SJMP   LF6FF
LF6F9:  MOV    A, 2AH
        LCALL  LF8D0
        INC    DPTR
LF6FF:  DJNZ   27H, LF6F9
        DJNZ   29H, LF6F9
        LCALL  LF89C
        MOV    A, 25H
        JZ     LF70F
        MOV    28H, #02H
LF70F:  LCALL  LF4CC
        RET    
        MOV    28H, #00H
        LCALL  LF89C
        MOV    A, 25H
        JZ     LF724
        MOV    28H, #02H
        LCALL  LF4CC
        RET    
LF724:  CLR    11H
        LCALL  LFC8D
        MOV    DPTR, #7E0DH
        CLR    A
        MOVC   A, @A+DPTR
        MOV    R0, A
        INC    DPTR
        CLR    A
        MOVC   A, @A+DPTR
        MOV    R1, A
        MOV    DPTR, #7E03H
        MOV    A, R0
        lcall writebyte
        INC    DPTR
        MOV    A, R1
        lcall writebyte
        MOV    DPH, R0
        MOV    DPL, R1
        MOV    26H, #05H
        LCALL  LF96B
        MOV    DPTR, #7E05H
        lcall writebyte
        LCALL  LF4CC
        RET    
        MOV    28H, #00H
        LCALL  LF89C
        MOV    29H, A
        LCALL  LF89C
        MOV    27H, A
        LCALL  LF89C
        MOV    A, 25H
        JZ     LF767
        MOV    28H, #02H
        LJMP   LF4CC
LF767:  CLR    A
        CJNE   A, 29H, LF771
        ANL    24H, #0FBH
        LJMP   LF4CC
LF771:  INC    A
        CJNE   A, 29H, LF77B
        ORL    24H, #04H
        LJMP   LF4CC
LF77B:  INC    A
        CJNE   A, 29H, LF787
        CLR    A
        MOV    30H, A
        MOV    31H, A
        LJMP   LF4CC
LF787:  MOV    DPL, 30H
        MOV    A, 27H
        JZ     LF797
        CLR    C
        MOV    A, 30H
        SUBB   A, 27H
        MOV    DPL, A
        JNC    LF79E
LF797:  MOV    A, 31H
        JNZ    LF79E
        LJMP   LF4CC
LF79E:  MOV    25H, #00H
        MOV    A, #02H
        LCALL  LF8B0
        MOV    DPH, #6AH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        INC    DPH
        CLR    A
        MOVC   A, @A+DPTR
        LCALL  LF8B0
        CLR    A
        CLR    C
        SUBB   A, 25H
        LCALL  LF8B0
        RET    
        MOV    28H, #00H
        LCALL  LF89C
        MOV    29H, A
        LCALL  LF89C
        MOV    A, 25H
        JZ     LF850
        MOV    28H, #02H
        LJMP   LF4CC
LF850:  CLR    A
        CJNE   A, 29H, LF85B
        MOV    DPTR, #7E07H
        lcall writebyte
        LJMP   LF4CC
LF85B:  INC    A
        CJNE   A, 29H, LF866
        MOV    DPTR, #7E07H
        lcall writebyte
        LJMP   LF4CC
LF866:  MOV    R0, #04H
        MOV    DPTR, #LF442
        MOV    R1, #02H
LF86D:  CLR    A
        MOVC   A, @A+DPTR
        MOV    @R1, A
        INC    DPTR
        INC    R1
        DJNZ   R0, LF86D
        MOV    R0, #04H
        MOV    DPTR, #7E03H
        MOV    R1, #02H
LF87B:  MOV    A, @R1
        lcall writebyte
        INC    DPTR
        INC    R1
        DJNZ   R0, LF87B
        LJMP   LF4CC
LF884:  LCALL  LF096
        JNC    LF884
        LCALL  LF09F
        LCALL  LF09C
        RET    
LF890:  LCALL  LF093
        JNC    LF890
        LCALL  LF099
        LCALL  LF0A5
        RET    
LF89C:  LCALL  LF093
        JNC    LF89C
        LCALL  LF099
        LCALL  LF0A5
        PUSH   ACC
        ADD    A, 25H
        MOV    25H, A
        POP    ACC
        RET    
LF8B0:  LCALL  LF096
        JNC    LF8B0
        LCALL  LF09F
        LCALL  LF09C
        ADD    A, 25H
        MOV    25H, A
        RET  

lf8c0: 	db 0f5h,017h,0f5h,05dh,0f5h,0b0h,0f6h,008h
	db 0f7h,006h,0f7h,045h,0f7h,085h,0f8h,073h;  data
	;db 0f4h,0e9h,0f5h,02bh,0f5h,07eh,0f5h,0d6h
	;db 0f6h,0d4h,0f7h,013h,0f7h,04dh,0f8h,03bh;  data		
				;;;end
LF8D0:  MOV    R7, 26H
        CJNE   R7, #01H, LF8D7
        SJMP   LF91D
LF8D7:  CJNE   R7, #02H, LF8DC
        SJMP   LF912
LF8DC:  CJNE   R7, #03H, LF8E1
        SJMP   LF914
LF8E1:  CJNE   R7, #04H, LF8E6
        SJMP   LF91D
LF8E6:  CJNE   R7, #05H, LF8EB
        SJMP   LF8F4
LF8EB:  CJNE   R7, #06H, LF8F0
        SJMP   LF950
LF8F0:  MOV    28H, #0FFH
        RET    
LF8F4:  LCALL  LF0B0
        MOV    R7, A
        CLR    A
        MOVC   A, @A+DPTR
        CJNE   A, 07H, LF8FE
        RET    
LF8FE:  MOV    A, 28H
        JNZ    LF911
        MOV    28H, #03H
        MOV    R0, DPL
        MOV    R1, DPH
        MOV    DPTR, #7E05H
        MOV    A, R1
        lcall writebyte
        INC    DPTR
        MOV    A, R0
        lcall writebyte
LF911:  RET    
LF912:  lcall writebyte
        RET    
LF914:  ;mov dph,P2
	lcall writebyte
	;MOV    R0, DPL
        ;MOVX   @R0, A      ;!!!!!!!
        RET    
LF918:  INC    R1
        MOV    DPL, R1
        MOV    R7, #01H
LF91D:  MOV    R6, A
        MOV    A, DPL
LF920:  CJNE   A, #70H, LF923
LF923:  JC     LF92C
        JB     ACC.7, LF93D
LF928:  MOV    R0, A
        MOV    A, R6
        MOV    @R0, A
        RET    
LF92C:  PUSH   DPL
        PUSH   DPH
        MOV    DPTR, #7E11H
        LCALL  LF9E2
        MOV    A, R6
        lcall writebyte
        POP    DPH
        POP    DPL
        RET    
LF93D:  CJNE   R7, #01H, LF942
        SJMP   LF928
LF942:  PUSH   DPL
        PUSH   DPH
        MOV    R0, A
        MOV    A, R6
        LCALL  LF2BF
        POP    DPH
        POP    DPL
        RET    
LF950:  RRC    A
        MOV    f0, C
        LCALL  LF9D2
        PUSH   ACC
        LCALL  LF99F
        INC    R6
        MOV    R7, 06H
LF95E:  RRC    A
        DJNZ   R7, LF95E
        MOV    C, F0
LF963:  RLC    A
        DJNZ   R6, LF963
        MOV    R6, A
        POP    ACC
        SJMP   LF920

LF96B:  MOV    R7, 26H
        CJNE   R7, #01H, LF972
        SJMP   LF99D
LF972:  CJNE   R7, #02H, LF977
        SJMP   LF992
LF977:  CJNE   R7, #03H, LF97C
        SJMP   LF994
LF97C:  CJNE   R7, #04H, LF981
        SJMP   LF99D
LF981:  CJNE   R7, #05H, LF986
        SJMP   LF98F
LF986:  CJNE   R7, #06H, LF98B
        SJMP   LF9C5
LF98B:  MOV    28H, #0FFH
        RET    
LF98F:  CLR    A
        MOVC   A, @A+DPTR
        RET    
LF992:  CLR    A
        MOVC   A, @A+DPTR
	;MOVX   A, @DPTR    ;!!!!!!
        RET     
LF994:  ;mov dph,P2	
	CLR    A
        MOVC   A, @A+DPTR
	;MOV    R0, DPL
        ;MOVX   A, @R0     ;!!!!!!
        RET    
LF998:  MOV    DPL, R1
        DEC    R1
        MOV    R7, #01H
LF99D:  MOV    A, DPL
LF99F:  CJNE   A, #70H, LF9A2
LF9A2:  JC     LF9AA
        JB     ACC.7, LF9B7
LF9A7:  MOV    R0, A
        MOV    A, @R0
        RET    
LF9AA:  PUSH   DPL
        PUSH   DPH
        MOV    DPTR, #7E11H
        MOVC   A, @A+DPTR
LF9B2:  POP    DPH
        POP    DPL
        RET    
LF9B7:  CJNE   R7, #01H, LF9BC
        SJMP   LF9A7
LF9BC:  PUSH   DPL
        PUSH   DPH
        LCALL  LF2B8
        SJMP   LF9B2
LF9C5:  LCALL  LF9D2
        LCALL  LF99F
        INC    R6
LF9CC:  RRC    A
        DJNZ   R6, LF9CC
        CLR    A
        RLC    A
        RET    
LF9D2:  MOV    A, DPL
        MOV    R6, A
        ANL    A, #07H
        XCH    A, R6
        XRL    A, R6
        JB     ACC.7, LF9E1
        RR     A
        RR     A
        RR     A
        ADD    A, #20H
LF9E1:  RET    
LF9E2:  ADD    A, DPL
        MOV    DPL, A
        CLR    A
        ADDC   A, DPH
        MOV    DPH, A
        RET    
LF9EC:  INC    DPL
        DJNZ   DPL, LF9F3
        DEC    DPH
LF9F3:  DEC    DPL
        RET    
LF9F6:  MOV    DPTR, #0023H ;?????????///
        CLR    A
        MOVC   A, @A+DPTR
        XRL    A, #02H
        JZ     LFA0A
        MOV    A, #02H
        LCALL  LF0B0
        CLR    A
        MOVC   A, @A+DPTR
        XRL    A, #02H
        JNZ    LFA3C
LFA0A:  INC    DPTR
        CLR    A
        MOVC   A, @A+DPTR
        XRL    A, #0FAH
        JZ     LFA22
        CLR    A
        MOVC   A, @A+DPTR
        XRL    A, #0FAH
        JZ     LFA22
        MOV    A, #0FAH
        LCALL  LF0B0
        CLR    A
        MOVC   A, @A+DPTR
        XRL    A, #0FAH
        JNZ    LFA3C
LFA22:  INC    DPTR
        CLR    A
        MOVC   A, @A+DPTR
        XRL    A, #99H
        JZ     LFA3A
        CLR    A
        MOVC   A, @A+DPTR
        XRL    A, #7CH
        JZ     LFA3A
        MOV    A, #99H
        LCALL  LF0B0
        CLR    A
        MOVC   A, @A+DPTR
        XRL    A, #99H
        JNZ    LFA3C
LFA3A:  CLR    C
        RET    
LFA3C:  SETB   C
        RET   
 
LFA3E:  LCALL  LF0A8
        LCALL  LF0A2
        MOV    A, SP
        ADD    A, #0FAH
        XCH    A, R0
        MOV    DPH, @R0
        INC    R0
        MOV    DPL, @R0
        INC    DPTR
        INC    DPTR
        INC    DPTR
        MOV    @R0, DPL
        DEC    R0
        MOV    @R0, DPH
        XCH    A, R0
        POP    PSW
        POP    DPH
        POP    DPL
        POP    ACC
        LCALL  LFA65
        LJMP   LF200
LFA65:  RETI 
  
LFA66:  LCALL  LF096
        JNC    LFA66
        LCALL  LF09F
        LCALL  LF0AB
        MOV    DPTR, #7E0AH
        CLR    A
        MOVC   A, @A+DPTR
        ORL    A, #80H
        ORL    A, IE
        lcall writebyte
        RET    

        PUSH   ACC
        PUSH   DPL
        PUSH   DPH
        PUSH   PSW
        MOV    PSW, #00H
        MOV    DPTR, #7E07H
        CLR    A
        MOVC   A, @A+DPTR
        JNZ    LFAA4
        POP    PSW
        POP    DPH
        POP    DPL
        POP    ACC
        LJMP   8023H
        PUSH   ACC
        PUSH   DPL
        PUSH   DPH
        PUSH   PSW
        MOV    PSW, #00H
LFAA4:  LCALL  LF093
        JC     LFAAC
        LJMP   LFABE

⌨️ 快捷键说明

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