RSS

用8031单片机控制的数字钟

发布时间:2008-04-15 关键字: 数字 控制 MOV P1 CJNE LCALL 闹钟 中断 40H #0FFH #00H

MOV 25H,R0
MOV R0,#79H
MOV A,42H
ACALL BCD
MOV A,41H
ACALL BCD
MOV A,40H
ACALL BCD
MOV R0,25H
POP ACC
POP PSW
RET
BCD: MOV B,#0AH
DIV AB
MOV @R0,B
INC R0
MOV @R0,A
INC R0
RET
CLOCK: JNB PSW.5,ZC
LJMP FH
ZC: MOV TL0,#0B7H
MOV TH0,#3CH
PUSH PSW
PUSH ACC
INC 23H
MOV A,23H
CJNE A,#0AH,RET0
MOV 23H,#00H
INC 22H
MOV A,22H
CJNE A,#3CH,RET0
MOV 22H,#00H
SETB P1.0
CLR P3.0
INC 21H
MOV A,21H
CJNE A,#3CH,RET0
MOV 21H,#00H
CLR P1.0
INC 20H
MOV A,20H
CJNE A,#18H,RET0
MOV 20H,#00H
AJMP RET0
RET0: MOV A,21H
CJNE A,51H,B0
MOV A,20H
CJNE A,50H,B0
SETB P3.0
B0: POP ACC
POP PSW
FH: RETI
SSCAN: MOV R6,#05H
SS2: MOV 30H,#20H
MOV 31H,#7EH
MOV R7,#06H
SS1: MOV R1,#21H
MOV A,30H
MOVX @R1,A
MOV R0,31H
MOV A,@R0
MOV DPTR,#SC
MOVC A,@A+DPTR
MOV R1,#22H
MOVX @R1,A
LCALL D1
MOV A,30H
RR A
MOV 30H,A
DEC 31H
DJNZ R7,SS1
DJNZ R6,SS2
RET
SC: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
KEY: MOV 42H,#00H
A0: MOV P1,#0FFH
MOV A,P1
ANL A,#38H
MOV R3,A
LCALL DELAY
MOV P1,#0FFH
MOV A,P1
ANL A,#38H
CLR C
SUBB A,R3
JNZ A0
MOV A,R3
CJNE A,#38H,A00
SJMP A0
A00: CJNE A,#30H,TOK2
INC 41H
MOV R2,41H
CJNE R2,#3CH,A1
MOV 41H,#00H
A1: MOV P1,#0FFH
MOV A,P1
ANL A,#08H
JNZ A0
LCALL DELAY
SJMP A1
TOK2: CJNE A,#28H,TOK3
DEC 41H
MOV R2,41H
CJNE R2,#0FFH,A2
MOV 41H,#3BH
A2: MOV P1,#0FFH
MOV A,P1
ANL A,#10H
JNZ A0
LCALL DELAY
SJMP A2
TOK3: CJNE A,#18H,A0
AA: MOV P1,#0FFH
MOV A,P1
ANL A,#20H
JNZ A3
LCALL DELAY
SJMP AA
A3: MOV P1,#0FFH
MOV A,P1
ANL A,#38H
MOV R3,A
LCALL DELAY
MOV P1,#0FFH
MOV A,P1
ANL A,#38H
CLR C
SUBB A,R3
JNZ A3
MOV A,R3
CJNE A,#38H,A33
SJMP A3
A33: CJNE A,#30H,TO2
INC 40H
MOV R2,40H
CJNE R2,#18H,A4
MOV 40H,#00H
A4: MOV P1,#0FFH
MOV A,P1
ANL A,#08H
JNZ A3
LCALL DELAY
SJMP A4
TO2: CJNE A,#28H,TO3
DEC 40H
MOV R2,40H
CJNE R2,#0FFH,A5
MOV 40H,#17H
A5: MOV P1,#0FFH
MOV A,P1
ANL A,#10H
JNZ A3
LCALL DELAY
SJMP A5
TO3: CJNE A,#18H,A3
RET
KEY0: MOV 41H,21H
MOV 40H,20H
CLR TR0
ACALL KEY
CLR PSW.5
MOV 22H,42H
MOV 21H,41H
MOV 20H,40H
MOV TL0,#0B7H
MOV TH0,#3CH
SETB TR0
RET
KEY1: MOV 41H,51H
MOV 40H,50H
LCALL KEY
CLR 7FH
MOV 51H,41H
MOV 50H,40H
RET
D1: MOV R4,#02H
D11: MOV R5,#0FFH
DJNZ R5,$
DJNZ R4,D11
RET
DELAY: PUSH ACC
LCALL CUTIN1
LCALL SSCAN
POP ACC
RET


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册