单片机电子时钟编程

州科信息网 2023-04-23 20:01 编辑:admin 286阅读

单片机电子时钟编程

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);

}

这是计算时间的代码 你可以测试一下看看