Source Corenya :
S_SET BIT P1.0 M_SET BIT P1.1 H_SET BIT P1.2 SECOND EQU 30H MINUTE EQU 31H HOUR EQU 32H TCNT EQU 34H ORG 00H SJMP START ORG 0BH LJMP INT_T0 START: MOV DPTR,#TABLE MOV HOUR,#12 MOV MINUTE,#0 MOV SECOND,#0 MOV TCNT,#0 MOV TMOD,#01H MOV TH0,-50000/256 MOV TL0,-50000 MOD 256 MOV IE,#82H SETB TR0 ;**************************************************** A1: LCALL DISPLAY JNB S_SET,S1 JNB M_SET,S2 JNB H_SET,S3 LJMP A1 S1: LCALL DELAY JB S_SET,A1 INC SECOND MOV A,SECOND CJNE A,#60,J0 MOV SECOND,#0 LJMP K1 S2: LCALL DELAY JB M_SET,A1 K1: INC MINUTE MOV A,MINUTE CJNE A,#60,J1 MOV MINUTE,#0 LJMP K2 S3: LCALL DELAY JB H_SET,A1 K2: INC HOUR MOV A,HOUR CJNE A,#24,J2 MOV HOUR,#0 MOV MINUTE,#0 MOV SECOND,#0 LJMP A1 ;**************************************************** J0: JB S_SET,A1 LCALL DISPLAY SJMP J0 J1: JB M_SET,A1 LCALL DISPLAY SJMP J1 J2: JB H_SET,A1 LCALL DISPLAY SJMP J2 ;*********************************************** INT_T0: MOV TH0,-50000/256 MOV TL0,-50000 MOD 256 INC TCNT MOV A,TCNT CJNE A,#20,RETUNE INC SECOND MOV TCNT,#0 MOV A,SECOND CJNE A,#60,RETUNE INC MINUTE MOV SECOND,#0 MOV A,MINUTE CJNE A,#60,RETUNE INC HOUR MOV MINUTE,#0 MOV A,HOUR CJNE A,#24,RETUNE MOV HOUR,#0 MOV MINUTE,#0 MOV SECOND,#0 MOV TCNT,#0 RETUNE: RETI ;****************************************** DISPLAY: MOV A,SECOND MOV B,#10 DIV AB mov p3,#14 ;detik pul ;CLR P3.6 MOVC A,@A+DPTR MOV P0,A LCALL DELAY mov p3,#0 ;SETB P3.6 MOV A,B mov p3,#15 ;detik sat ;CLR P3.7 MOVC A,@A+DPTR MOV P0,A LCALL DELAY mov p3,#0 ;SETB P3.7 ;CLR P3.5 mov p3,#13 ;setrip 2 MOV P0,#40H LCALL DELAY ;SETB P3.5 mov p3,#0 MOV A,MINUTE MOV B,#10 DIV AB mov p3,#11 ;menit sat ;CLR P3.3 MOVC A,@A+DPTR MOV P0,A LCALL DELAY mov p3,#0 ;SETB P3.3 MOV A,B mov p3,#12 ;menit pul ;CLR P3.4 MOVC A,@A+DPTR MOV P0,A LCALL DELAY mov p3,#0 ;SETB P3.4 ;CLR P3.2 mov p3,#10 ;setrip 1 MOV P0,#40H LCALL DELAY mov p3,#0 ;SETB P3.2 MOV A,HOUR MOV B,#10 DIV AB ;CLR P3.0 mov p3,#8 ;jam sat MOVC A,@A+DPTR MOV P0,A LCALL DELAY ;SETB P3.0 mov p3,#0 MOV A,B ;CLR P3.1 mov p3,#9 ;jam pul MOVC A,@A+DPTR MOV P0,A LCALL DELAY mov p3,#0 ;SETB P3.1 RET TABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH DELAY: MOV R6,#10 D1: MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RET END