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

📄 sorcem.asm

📁 proteus仿真
💻 ASM
字号:
 
ORG 0000H
JMP START
ORG 0003H
JMP INT
  ORG 000BH
INC 0020H
MOV TH0,#0D8H
MOV TL0,#0EFH 
RETI           ;10ms 中断,为拍定时,拍长RETI
org 30h
START:
MOV TH0,#0D8H
MOV TL0,#0EFH

SETB EA 
SETB ET0
SETB EX0
SETB IT0
MOV TMOD,#01H
mov p1,00h
MOV P2,00H
MOV R1,00H

;;;;;;;;;;;;;;;;;;;;;;;MOV DPTR,#M2
;;;;;;;;;;;;;;;;;;;;;MOV 0022H,DPH
;;;;;;;;;;;;;;;;;;;;;MOV 0021H,DPL
;;;;;;;;;;;;;;;;;;;MOV DPTR,#M3
;;;;;;;;;;;;;;;;;;;;MOV 0024,DPH
;;;;;;;;;;;;;;;;;;MOV 0023,DPL
;;;;;;;;;;;;;;;;;;;;;MOV DPTR,#M1
;;;;;;;;;;;;;;;;;;;;MOV 0026,DPH
;;;;;;;;;;;;;;;;;;;;;;;MOV 0025,DPL

;*********************************
TEST:clr p1.0

MOV R1,00H
mov b,00h

mov  R0,#00h
SETB P1.4
JB P2.0,B3
JB P2.5,B7
 CLR P1.4
SETB P1.5
JB P2.0,B2
JB P2.5,B6
CLR P1.5
SETB P1.6
JB P2.0,B1
JB P2.5,B5
CLR P1.6
SETB P1.7
JB P2.0,BMUSIC
CLR P1.7
SETB P1.3
JB P2.0,B4
CLR P1.3
JMP TEST
;************************************
;===========================
INT:	MOV R0,#00h
	JB P2.4,RES
	JB P2.5,NEXT
	RES:MOV R1,#50H
	JMP R
	NEXT: 
	         MOV R1,#05H
	R:NOP
RETI
;===========================
BMUSIC:	 SETB P2.1
	MOV DPTR,#M1
	LJMP MUSIC0
B1:
	MOV DPTR,#DAT1
	LJMP MUSIC1
B2:
	MOV DPTR,#DAT2
	LJMP MUSIC1
B3:
	MOV DPTR,#DAT3
	LJMP MUSIC1
B4:	MOV DPTR,#DAT4
	LJMP MUSIC1
B5: 	MOV DPTR,#DAT5
	LJMP MUSIC1
B6:
	MOV DPTR,#DAT6
	LJMP MUSIC1

B7:	MOV DPTR,#DAT7
	LJMP MUSIC1
RNEST:     ;;;;;;;;;;;;;;;;MOV DPH,00H
	;;;;;;;;;;;;;;MOV DPL,#21H
	;;;;;;;;;;;;;;;;;;;MOV A,B
	;;;;;;;;;;;;;;;;;;;CJNE A,#06H,GOON
	;;;;;;;;;;;;;;MOV B,00H
	;;;;;;;;;;;;;;;;;;;;MOV A,B
	;;;;;;;;;;;;;;;GOON:NOP
	;;;;;;;;;;;;;;;MOVC  A,@A+DPTR
	;;;;;;;;;;;;;;;;MOV 27H,A
	;;;;;;;;;;;;;;;INC B
	;;;;;;;;;;;;mov A,B
	;;;;;;;;;;;;;;;;MOVC A,@A+DPTR
	;;;;;;;;;;;;;;;;;;MOV 28H,A
	;;;;;;;;;;;;;;;;;;MOV DPL,27H
	;;;;;;;;;;;;;;;MOV DPH,28H
	;;;;;;;;;;;;;;;;MOV R1,00H
	;;;;;;;;;;;;;;;;;;;;;LJMP MUSIC0
	mov r3,#1ch
	mov r2,#64h
	 loop:lcall del
	djnz r2,loop
	mov a,b
	cjne a,#00h,ji
	jmp pm1	
	ji:cjne a,#01h,xu
	jmp pm2
	xu:cjne a,#02h,san
	jmp pm3
 	san:jmp pm4
	
	
   	pm1:mov dptr,#m4
	inc b
	jmp  music0
	pm2:mov dptr,#m2
	inc b
	jmp  music0
	pm3:mov dptr,#m3
	inc b
	jmp music0
	pm4:mov dptr,#m1
	mov b,#00h
	jmp music0
	
	
INTC:    	
	  SETB P2.1
	 CJNE R1,#50H,CNN                              ; ;R1 中断功能选择
	LJMP  TEST
	CNN:NOP
	CJNE R1,#05H,CNNN
	mov r1,00h
	LJMP RNEST
	CNNN:NOP
                JMP INTC
;++++++++++++++++++++++++++++++++
MUSIC0: MOV R0,#55H                                    ;R0 音乐模块选择
	SETB P2.1
MUSIC1:	
	CJNE R1,#50H,NN                              ; ;R1 中断功能选择
	LJMP  TEST
	NN:NOP
	CJNE R1,#05H,NNN
	mov r1,00h
	LJMP RNEST
	NNN:NOP
	mov 20h,#00h
	CLR A
	MOVC A,@A+DPTR
	MOV R7,A            
	JZ END0
	CJNE A,#0ffH,MUSIC2
	JMP MUSIC4            ;stop 100ms
MUSIC2:
	                                        ;
	INC DPTR
	MOV A,B
	MOVC A,@A+DPTR
	MOV R6,A
	SETB TR0
MUSIC3:
	
	
			
	CPL P1.0	
	MOV A,R7
	MOV R3,a
	LCALL DEL
	mov a,r6
	CJNE A,20H,MUSIC3
	CLR TR0
	INC DPTR
	JMP MUSIC1
MUSIC4: NOP
                                    
        MOV     R2,#0DH
MUSIC5:
        NOP
        MOV     R3,#0FFH
        LCALL   DEL
        DJNZ    R2,MUSIC5
        INC     DPTR
        LJMP    MUSIC1


END0:NOP
MOV R2,#00H
END1:
	MOV R3,#00H
	LCALL DEL
   	DJNZ R2,END1
clr p1.0                                                   ;消除杂音
clr p2.1
MOV A,R0
CJNE A,#55H,NNNN
 jmp INTC
NNNN:LJMP TEST
;++++++++++++++++++++++++++++++++++++



DEL:
        NOP
DEL3:                  
        MOV     R4,#02H             ;20us
DEL4:   
        NOP
        DJNZ    R4,DEL4
        NOP
        DJNZ    R3,DEL3
        RET
 

M1:   
    DB      26h,30h, 26h,30h,  2bh,30h, 30h,30h, 30h,30h, 30h,30h, 39h,40h, 0FFH,40h,30h, 00h
m2:   
        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
        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,00h
       
M3:
 db 26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h
 db 30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h
 db 20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h
 db 30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h
 db 30h,20h,30h,20h,39h,10h,26h,10h,26h,80h
 db 26h,20h,30h,10h,30h,10h,30h,20h
 db 39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10h
 db 20h,10h,2bh,10h,26h,30h,30h,80h,00H
m4:
db 30h,1ch,2bh,1ch,26h,1ch,23h,1ch,20h,1ch,1ch,1ch,19h,1ch
 
DAT1:  DB 30H,1CH,00h
DAT2:  DB  2BH,1CH,00h
DAT3:  DB  26H,1CH,00h
DAT4:  DB     23H,1CH,00h
DAT5:  DB    20H,1CH,00h
DAT6:  DB	1CH,1CH,00h
DAT7:   DB 19H,1CH,00H  
   
        
END






⌨️ 快捷键说明

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