📄 dzzhon.asm
字号:
;----------------------------------------------
SECOND EQU 3AH
MINUTE EQU 3BH
HOUR EQU 3CH
K1S BIT P3.0
K2M BIT P3.1
K3H BIT P3.2
ORG 0000H
AJMP MAIN
ORG 0003H
RETI
ORG 0013H
RETI
ORG 000BH
AJMP TIMER
ORG 001BH
RETI
ORG 0030H
MAIN: MOV SP,#5FH
MOV HOUR,#12
MOV MINUTE,#00H
MOV SECOND,#00H
MOV R2,#20
MOV P2,#00H
MOV P0,#0FFH
MOV TMOD,#01
MOV TH0,#3CH
MOV TL0,#0B0H
SETB EA
SETB ET0
SETB TR0
START: LCALL DISP
JNB K1S,KEY1
JNB K2M,KEY2
JNB K3H,KEY3
AJMP START
;----------------------------------
KEY1: LCALL DELAY
INC SECOND
MOV A,SECOND
CJNE A,#60,SS
MOV SECOND,#00
SS: LCALL DISP
JNB K1S,SS
AJMP START
KEY2: LCALL DELAY
INC MINUTE
MOV A,MINUTE
CJNE A,#60,MM
MOV MINUTE,#0
MM: LCALL DISP
JNB K2M,MM
AJMP START
KEY3: LCALL DELAY
INC HOUR
MOV A,HOUR
CJNE A,#24,HH
MOV HOUR,#0
HH: JB K3H,START
LCALL DISP
AJMP HH
;-----------------------------------------------
DISP: MOV DPTR,#TABLE
MOV A,SECOND ;S
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV P0,A
SETB P2.6 ;显示秒十位
LCALL DELAY
CLR P2.6
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
SETB P2.7 ;显示秒个位
LCALL DELAY
CLR P2.7
MOV A,MINUTE ;M
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV P0,A
SETB P2.3 ;显示分十位
LCALL DELAY
CLR P2.3
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
SETB P2.4 ;显示分个位
LCALL DELAY
CLR P2.4
MOV A,HOUR ;H
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV P0,A
SETB P2.0 ;显示时十位
LCALL DELAY
CLR P2.0
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
SETB P2.1 ;显示时个位
LCALL DELAY
CLR P2.1
MOV P0,#0BFH
SETB P2.2
LCALL DELAY
CLR P2.2
MOV P0,#0BFH
SETB P2.5
LCALL DELAY
CLR P2.5
RET
;-------------------------------------------------
TIMER: PUSH ACC
PUSH PSW
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R2,RETI0
MOV R2,#20
INC SECOND
MOV A,SECOND
CJNE A,#60,RETI0
MOV SECOND,#00
INC MINUTE
MOV A,MINUTE
CJNE A,#60,RETI0
MOV MINUTE,#00
INC HOUR
MOV A,HOUR
CJNE A,#24,RETI0
MOV HOUR,#00
RETI0: POP PSW
POP ACC
RETI
;---------------------------------------------
DELAY: MOV R7,#2
D1: MOV R6,#248
DJNZ R6,$
DJNZ R7,D1
RET
;--------------------------------------------------------
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -