本帖最后由 hanfenyang 于 2019-5-9 10:02 編輯
ORG 0000H AJMP MAIN
ORG 000BH
AJMP TIME
ORG 0030H
;============
MAIN:MOV SP,#60H
MOV TMOD,#01H
MOV IE,#82H
SETB TR0
MOV TH0,#3CH
MOV TL0,#0B0H
MOV R0,#00
MOV 31H,#00
MOV 32H,#00
MOV 33H,#00
;================
LOOP:LCALL XSCX ;顯示
LCALL TZCX ;按鍵
AJMP LOOP
TIME:PUSH ACC
PUSH PSW
CLR EA
INC R0
CJNE R0,#20,OUT
MOV R0,#00
INC 31H
MOV A,31H
CJNE A,#60,OUT
MOV 31H,#00
INC 32H
MOV A,32H
CJNE A,#60,OUT
MOV 32H,#00
INC 33H
MOV A,33H
CJNE A,#24,OUT
MOV 33H,#00
OUT: POP PSW
POP ACC
SETB EA
MOV TH0,#3CH
MOV TL0,#0B0H
RETI
;=============
XSCX:MOV A,31H ; 顯示
MOV B,#10
DIV AB
MOV 40H,A
MOV 41H,B
X1: MOV A,41H
LCALL TIM2
CLR P2.0 ;秒個(gè)位
LCALL TIM1
SETB P2.0
X2: MOV A,40H
LCALL TIM2
CLR P2.1
LCALL TIM1
SETB P2.1 ;秒十位
X3: MOV A,#40H
MOV P0,A
CLR P2.2
LCALL TIM1
SETB P2.2 ;橫杠
MOV A,32H
MOV B,#10
DIV AB
MOV 42H,A
MOV 43H,B
X4: MOV A,43H
LCALL TIM2
CLR P2.3 ;分個(gè)位
LCALL TIM1
SETB P2.3
X5: MOV A,42H
LCALL TIM2
CLR P2.4
LCALL TIM1 ;分十位
SETB P2.4
X6: MOV A,#40H
MOV P0,A
CLR P2.5 ;橫杠
LCALL TIM1
SETB P2.5
X7: MOV A,33H
MOV B,#10
DIV AB
MOV 44H,A
MOV 45H,B
X8: MOV A,45H
LCALL TIM2
CLR P2.6
LCALL TIM1 ; 時(shí)個(gè)位
SETB P2.6
X9: MOV A,44H
LCALL TIM2
CLR P2.7
LCALL TIM1 ;時(shí)十位
SETB P2.7
RET
;============
TZCX:JNB P3.0,W1 ;按鍵
JNB P3.1,W2
JNB P3.2,W3
AJMP OUT1
W1: LCALL TIM3
JB P3.0,OUT1
Q1:LCALL XSCX ;秒
JNB P3.0,Q1
INC 31H
MOV A,31H
CJNE A,#60,OUT1
MOV 31H,#00
SJMP OUT1
W2: LCALL TIM3
JB P3.1,OUT1
Q2:LCALL XSCX ;分
JNB P3.1,Q2
INC 32H
MOV A,32H
CJNE A,#60,OUT1
MOV 32H,#00
SJMP OUT1
W3: LCALL TIM3
JB P3.2,OUT1
Q3:LCALL XSCX ;時(shí)
JNB P3.2,Q3
INC 33H
MOV A,33H
CJNE A,#24,OUT1
MOV 33H,#00
SJMP OUT1
OUT1:RET
;=============
TIM1:MOV 34H,#10
Z1:MOV 35H,#250
DJNZ 35H,$
DJNZ 34H,Z1
RET
TIM2:MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
RET
TIM3:MOV 34H,#1
Z2:MOV 35H,#5
DJNZ 35H,$
DJNZ 34H,Z2
RET
;===============
;查表
;==============
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
XBP3DNXT{NV87N[}[3%U8O1.png (5.17 KB, 下載次數(shù): 30)
下載附件
圖片
2019-5-9 09:35 上傳
|