单片机电子时钟编程
SDA BIT P0.0
SCL BIT P0.1
LED0 EQU 40H
LED1 EQU 41H
LED2 EQU 42H
LED3 EQU 43H
LED4 EQU 44H
LED5 EQU 45H
second equ 50h
minute equ 51h
hour equ 52h
MOV DPTR, #TABLE
MOV LED0,#0
MOV LED1,#5
MOV LED2,#9
MOV LED3,#5
mov second, #50
mov minute, #59
mov hour, #0
LP:
acall sepa
ACALL DISPLAY
ACALL DELAY_1S
INC second
MOV A, second
CJNE A,#60,LP
MOV second, #0
INC minute
MOV A, minute
CJNE A,#60,LP
MOV minute, #0
INC hour
MOV A, hour
CJNE A,#24,LP
MOV hour, #0
AJMP LP
TABLE: ;DB 00H,00H,00H,0FEH,0FDH,0FBH,0F7H, 0EFH,0DFH,0BFH,7FH
DB 7EH,06H,5BH,4FH,27H,6DH, 7DH,46H,7FH,6FH,77H,3DH, 78H,1FH,79H,71H,01H,80H
sepa:
mov a, second
mov b, #10
div ab
mov led0, b
mov led1, a
mov a, minute
mov b, #10
div ab
mov led2, b
mov led3, a
mov a, hour
mov b, #10
div ab
mov led4, b
mov led5, a
ret
DISPLAY:
MOV A, LED0
;MOV A, #0
MOVC A , @A+DPTR
ACALL SHIFT
MOV A,LED1
MOVC A , @A+DPTR
ACALL SHIFT
MOV A,LED2
MOVC A , @A+DPTR
ACALL SHIFT
MOV A,LED3
MOVC A , @A+DPTR
ACALL SHIFT
RET
SHIFT:
MOV R1,#8
push a
LP2:
RLC A
MOV SDA, C
SETB SCL
CLR SCL
; ACALL DELAY_1S
DJNZ R1, LP2
pop a
; RLC A
RET
DELAY_1S:
MOV R7, #99 ;1
LP7: MOV R6, #100
LP6: MOV R5, #100
LP5: DJNZ R5, LP5 ;2
DJNZ R6, LP6
DJNZ R7, LP7
RET ;2
JAVA计算时间程序
long startTime=System.currentTimeMillis(); //获取开始时间
while(true){
//测试的代码段
long endTime=System.currentTimeMillis(); //获取结束时间
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(程序运行时间: +(endTime-startTime)/1000+s);
}
这是计算时间的代码 你可以测试一下看看