?? ex5109.asm
字號:
BUF EQU 30H
SECBUF EQU 21H
MINBUF EQU 22H
HOURBUF EQU 23H
C_8279 EQU 0B001H
D_8279 EQU 0B000H
;
ORG 0000H
LJMP START
;
ORG 000BH
LJMP CLOCK
;
ORG 0030H
START: MOV SP,#50H
MOV DPTR,#C_8279
MOV A,#0DFH
MOVX @DPTR,A
MOV R6,#0FFH
DJNZ R6,$
;
MOV A,#00H
MOVX @DPTR,A
MOV A,#32H
MOVX @DPTR,A
;
ANL TMOD,#0F0H
ORL TMOD,#01H
MOV TL0,#78H
MOV TH0,#0ECH
;
MOV BUF,#00H
MOV SECBUF,#30H
MOV MINBUF,#59H
MOV HOURBUF,#23H
;
SETB TR0
SETB ET0
SETB EA
;
LP1: ACALL FLASH
;
MOV DPTR,#C_8279
MOVX A,@DPTR
ANL A,#07H
CJNE A,#00H,DO_KEY
SJMP LP1
;
DO_KEY: MOV DPTR,#D_8279
MOVX A,@DPTR
MOV B,A
MOV R1,#00H
MOV DPTR,#KEYTAB
HA7S5: MOV A,#00H
MOVC A,@A+DPTR
CJNE A,B,HA7S6
AJMP HA7SA
HA7S6: INC DPTR
INC R1
CJNE R1,#06H,HA7S5
AJMP LP1
HA7SA: CJNE R1,#00H,SK1
MOV A,SECBUF
ADD A,#01H
DA A
CJNE A,#60H,SK2
MOV A,#00H
SK2: MOV SECBUF,A
SJMP KEY_DONE
;
SK1: CJNE R1,#01H,SK3
MOV A,SECBUF
ADD A,#99H
DA A
CJNE A,#99H,SK4
MOV A,#59H
SK4: MOV SECBUF,A
MOV BUF,#00H
SJMP KEY_DONE
;
SK3: CJNE R1,#02H,SK5
MOV A,MINBUF
ADD A,#01H
DA A
CJNE A,#60H,SK6
MOV A,#00H
SK6: MOV MINBUF,A
SJMP KEY_DONE
;
SK5: CJNE R1,#03H,SK8
MOV A,MINBUF
ADD A,#99H
DA A
CJNE A,#99H,SK7
MOV A,#59H
SK7: MOV MINBUF,A
SJMP KEY_DONE
;
SK8: CJNE R1,#04H,SK10
MOV A,HOURBUF
ADD A,#01H
DA A
CJNE A,#24H,SK9
MOV A,#00H
SK9: MOV HOURBUF,A
SJMP KEY_DONE
;
SK10: CJNE R1,#05H,KEY_DONE
MOV A,HOURBUF
ADD A,#99H
DA A
CJNE A,#99H,SK11
MOV A,#23H
SK11: MOV HOURBUF,A
KEY_DONE:AJMP LP1
;
FLASH: MOV P2,#0B0H
MOV R0,#01H
MOV A,#90H
MOVX @R0,A
;
MOV DPTR,#SEG_TAB
MOV P2,#0B0H
MOV R0,#00H
MOV A,HOURBUF
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOVX @R0,A
MOV A,HOURBUF
ANL A,#0FH
MOVC A,@A+DPTR
MOVX @R0,A
;
MOV A,MINBUF
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOVX @R0,A
MOV A,MINBUF
ANL A,#0FH
MOVC A,@A+DPTR
MOVX @R0,A
;
MOV A,SECBUF
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOVX @R0,A
MOV A,SECBUF
ANL A,#0FH
MOVC A,@A+DPTR
MOVX @R0,A
;
MOV A,BUF
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOVX @R0,A
MOV A,BUF
ANL A,#0FH
MOVC A,@A+DPTR
MOVX @R0,A
RET
;
CLOCK: MOV TL0,#78H
MOV TH0,#0ECH
PUSH PSW
PUSH ACC
;
MOV A,BUF
ADD A,#01H
DA A
MOV BUF,A
CJNE A,#99H,INT_DONE
;
MOV BUF,#00H
MOV A,SECBUF
ADD A,#01H
DA A
MOV SECBUF,A
;
CJNE A,#60H,INT_DONE
MOV SECBUF,#00H
;
MOV A,MINBUF
ADD A,#01H
DA A
MOV MINBUF,A
;
CJNE A,#60H,INT_DONE
MOV MINBUF,#00H
;
;
MOV A,HOURBUF
ADD A,#01H
DA A
MOV HOURBUF,A
;
CJNE A,#24H,INT_DONE
MOV HOURBUF,#00H
INT_DONE:POP ACC
POP PSW
RETI
;
KEYTAB: DB 0C1H,0C8H,0C9H,0D0H,0D8H,0E0H,0C2H,0CAH,0D1H,0D9H
DB 0DAH,0C3H,0CBH,0D2H,0D3H,0DBH
KEYTAB1:DB 0E3H,0E2H,0E1H
SEG_TAB:DB 0CH,9FH,4AH,0BH,99H,29H,28H,8FH,08H,09H,88H,38H
DB 6CH,1AH,68H,0E8H
END
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -