ORG 0000H LJMP START ORG 0003H RETI ORG 000BH LJMP INTT0 ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 0023H RETI START: LCALL ST MOV R0, #70HMOV R7, #0BH CLEARDISP: MOV @R0, #00H INC R0 DJNZ R7,CLEARDISP MOV 20H,#00H MOV 7AH,#0AH MOV TMOD,#11H MOV TL0, #0B0H MOV TH0, #3CH MOV TL1, #0B0H MOV TH1, #3CH SETB EA SETB ET0 SETB TR0 MOV R4,#14H START1: LCALL DISPLAY JNB P1.0,SETMM1 JNB P1.1,FUNSS JNB P1.2,FUNPT SJMP START1 SETMM1: LJMP SETMM FUNSS:LCALL DS20MS JB P1.1,START1 WAIT11:JNB P1.1,WAIT11 CPL 03H MOV 70H,#00H MOV 71H,#00H MOV 76H,#00H MOV 77H,#00H MOV 78H,#00H MOV 79H,#00H AJMP START1 FUNPT:LCALL DS20MS JB P1.2,START1 WAIT22:JNB P1.2,WAIT21 CLR ET0 CLR TR0 WAIT33:JB P1.2,WAIT31 LCALL DS20MS JB P1.2,WAIT33 WAIT66:JNB P1.2,WAIT61 MOV R0,#00H MOV R7,#0AH CLEARP: MOV @R0,#00H INC R0 DJNZ R7,CLEARP WAIT44:JB P1.2,WAIT41 LCALL DS20MS JB P1.2,WAIT44 WAIT55:JNB P1.2,WAIT51SETB ET0SETB TR0 AJMP START1WAIT21:LCALL DISPLAYAJMP WAIT22WAIT31:LCALL DISPLAYAJMP WAIT33 WAIT41:LCALL DISPLAY AJMP WAIT44 WAIT51:LCALL DISPLAYAJMP WAIT55WAIT61:LCALL DISPLAY AJMP WAIT66INTT0: PUSH ACCPUSH PSWCLR ET0CLR TR0JB 03H,FSS MOV A,#0B7H ADD A,TL0 MOV TL0,AMOV A,#3CHADDC A,TH0 MOV TH0,ASETB TR0 DJNZ R4, OUTT0ADDSS: MOV R4,#14HMOV R0,#71HACALL ADD1 MOV A,R3 CLR CCJNE A,#60H,ADDMMADDMM: JC OUTT0ACALL CLR0 MOV R0,#77H ACALL ADD1 MOV A,R3 CLR C CJNE A,#60H,ADDHH ADDHH: JC OUTT0 ACALL CLR0 MOV R0,#79H ACALL ADD1MOV A,R3 CLR C CJNE A,#24H,HOUR HOUR: JC OUTT0 ACALL CLR0 OUTT0: MOV 72H,76H MOV 73H,77H MOV 74H,78HMOV 75H,79HPOP PSWPOP ACC SETB ET0 RETI FSS:MOV A,#0F7HADD A,TL0 MOV TL0,A MOV A,#0D8H ADDC A,TH0 MOV TH0,ASETB TR0MOV R0,#71H ACALL ADD1CLR C MOV A,R3 JZ FSSSETB C FSS1: AJMP ADDMMINTT1: PUSH ACC PUSH PSWMOV TL1, #0B0HMOV TH1, #3CH DJNZ R2,INTT1OUT MOV R2,#06HCPL 02H JB 02H,FLASH1MOV 72H,76H MOV 73H,77HMOV 74H,78H MOV 75H,79HINTT1OUT: POP PSW POP ACC RETIFLASH1: JB 01H,FLASH2 MOV 72H,7AH MOV 73H,7AH MOV 74H,78H MOV 75H,79H AJMP INTT1OUTFLASH2: MOV 72H,76H MOV 73H,77H MOV 74H,7AHMOV 75H,7AH AJMP INTT1OUT ADD1: MOV A,@R0DEC R0 SWAP A ORL A,@R0 ADD A,#01H DA A MOV R3,A ANL A,#0FHMOV @R0,A MOV A,R3 INC R0SWAP A ANL A,#0FH MOV @R0,A RETSUB1: MOV A,@R0DEC R0SWAP AORL A,@R0 JZ SUB11DEC A SUB111:MOV R3,A ANL A,#0FH CLR C SUBB A,#0AH SUB1111:JC SUB1110MOV @R0,09HSUB110:MOV A,R3 INC R0SWAP AANL A,#0FH MOV @R0,ARET SUB11: MOV A,#59H AJMP SUB111SUB1110:MOV A,R3ANL A,#0FH MOV @R0,AAJMP SUB110SUBB1:MOV A,@R0DEC R0 SWAP AORL A,@R0JZ SUBB11DEC ASUBB111:MOV R3,AANL A,#0FH CLR C SUBB A,#0AHSUBB1111:JC SUBB1110MOV @R0,#09H SUBB110: MOV A,R3INC R0 SWAP AANL A,#0FH MOV @R0,ARET SUBB11:MOV A,23H AJMP SUBB111SUBB1110:MOV A,R3 ANL A,#0FH MOV @R0,A AJMP SUBB110CLR0: CLR AMOV @R0,ADEC R0MOV @R0,ARETSETMM: CLR ET0 CLR TR0 LCALL DL1S JB P3.7,CLOSEDIS MOV R2,#06H SETB ET1 SETB TR1 SET2: JNB P3.7,SET1 SETB 00H SET4: JB P3.7,SET3LCALL DL05S JNB P3.7,SETHH MOV R0,#77H LCALL ADD1 MOV A,R3 CLR C CJNE A,#60H,HHHHHH: JC SET4 LCALL CLR0 CLR C AJMP SET4 CLOSEDIS: SETB ET0SETB TR0CLOSE: JB P3.7,CLOSE LCALL DISPLAYJB P3.7,CLOSEWAITH: JNB P3.7,WAITH LJMP START1SETHH: CLR 00H SETHH1: JNB P3.7,SET5SETB 01H SET6: JB P3.7,SET7 LCALL DL05S JNB P3.7,SETOUT MOV R0,#79H LCALL ADD1MOV A,R3 CLR CCJNE A,#24H,HOUU HOUU: JC SET6 LCALL CLR0 AJMP SET6SETOUT: JNB P3.7,SETOUT1 LCALL DISPLAY JNB P3.7,SETOUT CLR 01HCLR 00H CLR 02HCLR TR1CLR ET1 SETB TR0SETB ET0LJMP START1SET1: LCALL DISPLAY AJMP SET2SET3: LCALL DISPLAYAJMP SET4SET5: LCALL DISPLAY AJMP SETHH1SET7: LCALL DISPLAYAJMP SET6 SETOUT1: LCALL DISPLAYAJMP SETOUT FUNSUB:LCALL DISPLAYJB P1.1,SET41 FUNSUB1:JNB P1.1,FUNSUB1MOV R0,#77HLCALL SUB1LJMP SET4SET41:LJMP SET4 FUNSUBB:LCALL DISPLAYJB P1.1,SET61 FUNSUBB1:JNB P1.1,FUNSUBB1MOV R0,#79HLCALL SUBB1 LJMP SET6SET61:LJMP SET6 DISPLAY: MOV R1,#70HMOV R5,#0FEH PLAY: MOV A,R5 MOV P2,A MOV A,@R1 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,AMOV A,R5JB ACC.1,LOOP5CLR P0.7LOOP5:JB ACC.3,LOOP6 CLR P0.7LOOP6:LCALL DL1MS INC R1 MOV A,R5JNB ACC.0,ENDOUTRR A MOV R5,AMOV P0,#0FFHAJMP PLAYENDOUT: MOV P2,#0FFHMOV P0,#0FFHRETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH SDISPLAY:MOV R5,#0DFHSPLAY: MOV A,R5MOV P2,A MOV A,@R1 MOV DPTR,#TABS MOVC A,@A+DPTR MOV P0,AMOV A,R5 LCALL DL1MS INC R1 MOV A,R5 JNB ACC.0,ENDOUTS RR AMOV R5,AAJMP SPLAYENDOUTS:MOV P2,#0FFH MOV P0,#0FFH RETTABS: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,88H,0BFH STAB:DB 0AH,0AH,0AH,0AH,0AH,0AH,0AH,0AH,08H,00H,0CH,00H,01H,0C,05H,00H,00H,02H,0AH,0AH,0AH,0AH,0AH,0AH,0AH,0AH,0AH,ST: MOV R0,#40HMOV R2,#20HMOV R3,#00HCLR AMOV DPTR,#STAB SLOOP: MOVC A,@A+DPTRMOV @R0,AMOV A,R3INC A MOV R3,AINC R0DJNZ R2,SLOOP MOV R1,#5AHMOV R3,#1BH SSLOOP: MOV R2,#32H SSLOOP1:LCALL SDISPLAYDJNZ R2,SSLOOP11MOV A,R1SUBB A,#07HMOV R1,ADJNZ R3,SSLOOPRET SSLOOP11:MOV A,R1 SUBB A,#06H MOV R1,A AJMP SSLOOP1 DL1MS: MOV R6,#14H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET DS20MS: ACALL DISPLAYACALL DISPLAYACALL DISPLAYRET DL1S: LCALL DL05S LCALL DL05SRETDL05S: MOV R3,#20HDL05S1: LCALL DISPLAYDJNZ R3,DL05S1RETEND

评论