


;********WAVE-E6000/T**************************
;*MCU: AT89C51 *
;*MCU-crystal: 6M *
;*Version: 00 *
;*Last Updata: *
;*Author: www.picavr.com *
;*Description: “爱“心LED闪光程序 *
;**********************************************
ORG 00H
AJMP MAIN
ORG 000BH
AJMP WT0
;**************************************
ORG 0030H
MAIN: MOV SP,#60H
CLR A
MOV 30H,A
MOV 31H,A
MOV 32H,A
MOV 33H,A
MOV TH0,#06H
MOV TL0,#06H
MOV TMOD,#02H
MOV IE,#00H
SETB EA
SETB TR0
SETB ET0
MOV 40H,#06H
MOV B,#0FFH
;**************************************
START: MOV R0,B ;P1.0---P1.7 left_move_single_DISP
MOV A,R0
CLR C
MOV R2,#08H
LOOP: RLC A
MOV P1,A
ACALL DL5S
DJNZ R2,LOOP
MOV P1,#0FFH
;**************************************
MOV R2,#05H ;P3.0----P3.4 left_move_single_DISP
MOV A,R0
CLR C
LOOP1: RLC A
MOV P3,A
ACALL DL5S
DJNZ R2,LOOP1
MOV P3,#0FFH
;**************************************
MOV R2,#02H
LOOP111: MOV P1,#00H ;P1.0---P1.7 ON_heart_DISP
MOV P3,#11100000B ;P3.0---P3.4 ON_heart_DISP
ACALL DL5S
ACALL DL5S
MOV P1,B
MOV P3,B
ACALL DL5S
DJNZ R2,LOOP111
;**************************************
MOV R2,#03H
LOOP21: MOV P0,#00H ;P0.0--P0.7,P2.0--P2.7,P3.5--P3.7
MOV P2,#00H ;ON_Live_DISP
MOV P3,#00011111B
ACALL DL5S
ACALL DL5S
MOV P0,B ;*
MOV P2,B ;*
MOV P3,B ;*
MOV P1,B
ACALL DL5S
DJNZ R2,LOOP21
;**************************************
MOV 19H,B ;P1.0---P1.7 left_move_ALL_DISP
MOV R1,#08H
LOOP3:
MOV A,19H
CLR C
RLC A
MOV 19H,A
MOV P1,A
ACALL DL5S
DJNZ R1,LOOP3
MOV 20H,B
MOV R1,#08H ;P3.0---P3.7 left_move_ALL_DISP
LOOP4: MOV A,20H
CLR C
RLC A
MOV 20H,A
MOV P3,A
ACALL DL5S
DJNZ R1,LOOP4
MOV 21H,B
MOV R1,#08H ;P2.0---P2.7 left_move_ALL_DISP
LOOP5: MOV A,21H
CLR C
RLC A
MOV 21H,A
MOV P2,A
ACALL DL5S
DJNZ R1,LOOP5
MOV 22H,B
MOV R1,#08H ;P0.0---P0.7 right_move_ALL_DISP
LOOP6: MOV A,22H
CLR C
RRC A
MOV 22H,A
MOV P0,A
ACALL DL5S
DJNZ R1,LOOP6
MOV P0,B
MOV P2,B
MOV P3,B
MOV P1,B
ACALL DL5S
;**************************************
MOV R2,#02H
LOOP61: MOV P0,#00H ;P0.0--P0.7,P2.0--P2.7,P3.5--P3.7
MOV P2,#00H ;ON_Live_DISP
MOV P3,#00011111B
ACALL DL5S
ACALL DL5S
MOV P0,B ;*
MOV P2,B ;*
MOV P3,B ;*
MOV P1,B
ACALL DL5S
DJNZ R2,LOOP61
;**************************************
MOV R2,#02H
LOOP62: MOV P1,#00H ;P1.0--P1.7,P3.0--P3.4,ON_heart_DISP
MOV P3,#11100000B ;*
ACALL DL5S
ACALL DL5S
MOV P0,B ;*
MOV P2,B ;*
MOV P3,B ;*
MOV P1,B ;*
ACALL DL5S
DJNZ R2,LOOP62
;**************************************
MOV P0,#00H ;P0,P1,P2,P3,ALL_ON_DISP
MOV P1,#00H
MOV P2,#00H
MOV P3,#00H
ACALL DL5S
MOV P0,B ;P0,P1,P2,P3,ALL_OFF_DISP
MOV P1,B
MOV P2,B
MOV P3,B
ACALL DL5S
MOV P0,#00H ;P0,P1,P2,P3,ALL_ON_DISP
MOV P1,#00H
MOV P2,#00H
MOV P3,#00H
ACALL DL5S
ACALL DL5S
;*************************************
MOV 23H,#00H ;P1.0---P1.7 left_move_OFF_DISP
MOV R1,#08H
LOOP7:
MOV A,23H
SETB C
RLC A
MOV 23H,A
MOV P1,A
ACALL DL5S
DJNZ R1,LOOP7
MOV 24H,#00H
MOV R1,#08H ;P3.0---P3.7 left_move_OFF_DISP
LOOP8: MOV A,24H
SETB C
RLC A
MOV 24H,A
MOV P3,A
ACALL DL5S
DJNZ R1,LOOP8
MOV 25H,#00H
MOV R1,#08H ;P2.0---P2.7 left_move_OFF_DISP
LOOP9: MOV A,25H
SETB C
RLC A
MOV 25H,A
MOV P2,A
ACALL DL5S
DJNZ R1,LOOP9
MOV 26H,#00H
MOV R1,#08H ;P0.0---P0.7 right_move_OFF_DISP
LOOP10: MOV A,26H
SETB C
RRC A
MOV 26H,A
MOV P0,A
ACALL DL5S
DJNZ R1,LOOP10
MOV P0,B
MOV P2,B
MOV P3,B
MOV P1,B
ACALL DL5S
;***************************************
MOV R2,#03H
LOOP11: MOV P1,#10000000B ;heart_Half_DISP
ACALL DL5S
MOV P1,B
MOV P1,#01111111B
MOV P3,#11100000B
ACALL DL5S
MOV P1,B
MOV P3,B
ACALL DL5S
DJNZ R2,LOOP11
;***************************************
MOV R2,#05H
LOOP12: MOV P1,#11111011B ;heart_space_disp
MOV P3,#11111101B
ACALL DL5S
MOV P1,B
MOV P3,B
ACALL DL5S
MOV P3,#11110111B
MOV P1,#11011111B
ACALL DL5S
MOV P1,B
MOV P3,B
ACALL DL5S
DJNZ R2,LOOP12
;***************************************
MOV R2,#04H ;heart_space_disp
LOOP13: MOV P1,#01101101B
ACALL DL5S
MOV P1,B
ACALL DL5S
MOV P1,#01111111B
MOV P3,#11101101B
ACALL DL5S
MOV P1,B
MOV P3,B
ACALL DL5S
DJNZ R2,LOOP13
;***************************************
MOV R2,#02H ;heart_up_disp
LOOP14: MOV P1,#11110000B
MOV P3,#11100011B
ACALL DL5S
MOV P1,B
MOV P3,B
ACALL DL5S
MOV P1,#00001111B ;heart_down_disp
MOV P3,#11111100B
ACALL DL5S
MOV P1,B
MOV P3,B
ACALL DL5S
DJNZ R2,LOOP14
;***************************************
LJMP START
;***************************************
WT0: PUSH ACC
PUSH PSW
INC 30H
MOV A,30H
CJNE A,#0C8H,TORETI ;0.5ms*100=100ms
MOV 30H,#00H
INC 31H
MOV A,31H
CJNE A,#10,TORETI ;100ms*10=1s
MOV 31H,#00H
INC 32H
MOV A,32H
CJNE A,#60,TORETI ;1s*60=1 minute
MOV 32H,#00H
INC 33H
MOV A,33H
CJNE A,#1,TORETI
MOV 33H,#00H
DEC 40H
MOV A,40H
CJNE A,#00H,TORETI
MOV 40H,#06H
TORETI: POP PSW
POP ACC
RETI
;**********************************************************************
Live: MOV P0,#00H ;P0.0--P0.7,P2.0--P2.7,P3.5--P3.7 MOV P2,#00H
MOV P3,#00011111B ;Live_DISP
ACALL DL5S
ACALL DL5S
MOV P0,B ;*
MOV P2,B ;*
MOV P3,B ;*
MOV P1,B
ACALL DL5S
MOV P0,#00H
MOV P2,#00H
MOV P3,#00011111B
ACALL DL5S
ACALL DL5S
MOV P0,B ;*
MOV P2,B ;*
MOV P3,B ;*
MOV P1,B
ACALL DL5S
RET
;***************************************
ON_LED: MOV P0,#00H ;*ON_ALL_DISP
MOV P1,#00H ;*
MOV P2,#00H ;*
MOV P3,#00H ;*
RET ;*
;***************************************
OFF_LED: MOV P0,B ;*OFF_ALL_DISP
MOV P2,B ;*
MOV P3,B ;*
MOV P1,B ;*
RET ;*
;**************************************
heart: MOV P1,#00H ;*P1.0--P1.7,P3.0--P3.4,ON_heart_DISP
MOV P3,#11100000B ;*
ACALL DL5S
ACALL OFF_LED
ACALL DL5S
MOV P1,#00H
MOV P3,#11100000B
ACALL DL5S
MOV P1,B
MOV P3,B
MOV P2,B
MOV P0,B
ACALL DL5S
ACALL DL5S ;*
RET ;*
;**************************************
DL5S: MOV R6,40H ;delay program
DL1: MOV R5,#200
DL2: MOV R4,#125
DL3: DJNZ R4,$
DJNZ R5,DL2
DJNZ R6,DL1
RET
END
HEX烧录文件下载: