文档库 最新最全的文档下载
当前位置:文档库 › ORG 0000H

ORG 0000H

ORG 0000H
ORG 0000H

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP INT0P

ORG 00BH

LJMP IT0P

ORG 0013H

LJMP INT1P

ORG 0100H

MAIN:

MOV TMOD,#01H ;定时器T0设为方式一

MOV R5,#0AH ;十次中断产生一秒

MOV R3,#00H ;利用外部中断0对时、分、秒进行切换

MOV R4,#00H ;当倒计时开始(R3=5)时对倒计时的初值不能再进行设置MOV 31H,#00H ;时

MOV 32H,#00H ;分

MOV 33H,#00H ;秒

SETB EX0

SETB EX1

SETB IT0 ;外部中断0为边沿触发

SETB IT1 ;外部中断1为边沿触发

SETB ET0

SETB EA

MOV TH0,#3CH ;定时器T0置初值

MOV TL0,#0B0H

LOOP:

MOV DPTR,#DMB ;段码表首地址放进DPTR

MOV A,33H ;对秒进行拆分

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV 46H,A ;秒的十位对应的段码放进缓冲区46H

MOV A,B

MOVC A,@A+DPTR

MOV 47H,A ;秒的个位对应的段码放进缓冲区47H

MOV A,32H ;对分进行拆分

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV 44H,A ;分的十位对应的段码放进缓冲区44H

MOV A,B

MOVC A,@A+DPTR

MOV 45H,A ;分的个位对应的段码放进缓冲区45H

MOV A,31H ;对时进行拆分

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV 42H,A ;时的十位对应的段码放进缓冲区42H MOV A,B

MOVC A,@A+DPTR

MOV 43H,A ;时的个位对应的段码放进缓冲区43H DISPLAY:

CLR P2.7

CJNE R2,#00H,S7

MOV A,47H

SJMP S77

S7: MOV A,4FH

S77: MOV P1,A

LCALL DL1ms

SETB P2.7

CLR P2.6

CJNE R2,#00H,S6

MOV A,46H

SJMP S66

S6: MOV A,4EH

S66: MOV P1,A

LCALL DL1ms

SETB P2.6

CLR P2.5

CJNE R2,#00H,S5

MOV A,45H

SJMP S55

S5: MOV A,4DH

S55: MOV P1,A

LCALL DL1ms

SETB P2.5

CLR P2.4

CJNE R2,#00H,S4

MOV A,44H

SJMP S44

S4: MOV A,4CH

S44: MOV P1,A

LCALL DL1ms

SETB P2.4

CLR P2.3

CJNE R2,#00H,S3

MOV A,43H

SJMP S33

S3: MOV A,4BH

S33: MOV P1,A

LCALL DL1ms

SETB P2.3

CLR P2.2

CJNE R2,#00H,S2

MOV A,42H

S2: MOV A,4AH

IT0P:

MOV TH0,#3CH

MOV TL0,#0B0H

DJNZ R5,RETURN

MOV R5,#0AH

MOV A,33H

DEC A

MOV 33H,A

CJNE A,#0FFH,RETURN

MOV 33H,#3BH

MOV A,32H

DEC A

MOV 32H,A

CJNE A,#0FFH,RETURN

MOV 32H,#3BH

MOV A,31H

DEC A

MOV 31H,A

CJNE A,#0FFH,RETURN

MOV 31H,#17H

MOV A,30H

DEC A

MOV 30H,A

PUSH ACC

MOV A,37H

INC A

INC R1

MOV 37H,A

CJNE R1,#31,GO1

MOV 36H,#07H

MOV 37H,#01H

GO1: CJNE R1,#62,GO2

MOV 36H,#08H

MOV 37H,#01H

GO2: CJNE R1,#93,GO3

MOV 36H,#09H

MOV 37H,#01H

GO3: CJNE R1,#123,GO4

MOV R1,#17

MOV 36H,#06H

MOV 37H,#17

GO4: POP ACC

CJNE A,#0FFH,RETURN

CLR TR0

MOV 30H,#00H

MOV 31H,#00H

MOV 32H,#00H

MOV 33H,#00H RETURN:RETI

DL1ms:MOV R7,#02H

DL: MOV R6,#0FFH

DL6: DJNZ R6,DL6

DJNZ R7,DL

RET

INT0P:PUSH PSW

INC R3

CJNE R3,#05H,RETURN1

SETB TR0

MOV R3,#00H

MOV R4,#01H RETURN1:POP PSW

RETI

INT1P:PUSH PSW

PUSH ACC

CJNE R4,#00H,NEXT

CJNE R3,#00H,ADD0

SJMP RETURN2

ADD0:

CJNE R3,#01H,MM

INC 33H

MOV A,33H

CJNE A,#60,RETURN2

MOV 33H,#00H

SJMP RETURN2

MM: CJNE R3,#02H,HH

INC 32H

MOV A,32H

CJNE A,#60,RETURN2

MOV 32H,#00H

SJMP RETURN2

HH: CJNE R3,#03H,DD

INC 31H

MOV A,31H

CJNE A,#24,RETURN2

MOV 31H,#00H

SJMP RETURN2

DD: CJNE R3,#04,RETURN2

INC 30H

MOV A,30H

CJNE A,#100,RETURN2

MOV 30H,#00H

SJMP RETURN2

NEXT: INC R2

CJNE R2,#02H,RETURN2

MOV R2,#00H

RETURN2:

POP ACC

POP PSW

RETI

DMB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END

相关文档