📄 电子钟.asm
字号:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP SECTION
ORG 000BH
LJMP TIME
;************ MAIN PROGRAM ***************
ORG 0100H
MAIN: MOV SP,#50H
MOV TCON,#01H ;定义中断方式
MOV 20H,#00H ;BIN SECOND
MOV 21H,#00H ;BIN MINUTE
MOV 22H,#00H ;BIN HOUR
MOV 23H,#00H
MOV 30H,#00H ;BCD SECOND
MOV 31H,#00H ;
MOV 32H,#00H ;BCD MINUTE
MOV 33H,#00H ;
MOV 34H,#00H ;BCD HOUR
MOV 35H,#00H
MOV TMOD,#01H ;16位计数器
MOV TH0,#03CH
MOV TL0,#0B0H
MOV IE,#10000011B
SETB TR0 ;T0启动计数
MOV R2,#14H
MOV P2,#0FFH
ML1: ACALL DISP
JB P1.0,ML1
MOV C,P1.0 ;按键消振
JC ML1
LCALL DELAY
MOV C,P1.0
JC ML1
STOP1: MOV C,P1.0
JNC STOP1
LCALL DELAY
MOV C,P1.0
JNC STOP1
JB 23H.0,HOUR
MIN: INC 21H
MOV A,21H
CJNE A,#3CH,GO11
MOV 21H,#0
MOV 32H,#0
MOV 33H,#0
SJMP ML1
GO11: MOV B,#0AH
DIV AB
MOV 32H,B
MOV 33H,A
AJMP ML1
HOUR: INC 22H
MOV A,22H
CJNE A,#18H,GO22
MOV 22H,#0
MOV 34H,#0
MOV 35H,#0
SJMP ML1
GO22: MOV B,#0AH
DIV AB
MOV 34H,B
MOV 35H,A
AJMP ML1
DELAY:MOV R4,#14H
DL00: MOV R5,#0FFH
DL11: DJNZ R5,DL11
DJNZ R4,DL00
RET
;*********** TIME PROCESS **************
TIME: PUSH ACC
PUSH PSW
MOV TH0,#03CH
MOV TL0,#0B0H
DJNZ R2,RET0
MOV R2,#14H
MOV A,20H
CLR C
INC A
CJNE A,#3CH,GO1
MOV 20H,#0
MOV 30H,#0
MOV 31H,#0
MOV A,21H
INC A
CJNE A,#3CH,GO2
MOV 21H,#0H
MOV 32H,#0
MOV 33H,#0
MOV A,22H
INC A
CJNE A,#18H,GO3
MOV 22H,#00H
MOV 34H,#0
MOV 35H,#0
AJMP RET0
GO1: MOV 20H,A
MOV B,#0AH
DIV AB
MOV 31H,A
MOV 30H,B
AJMP RET0
GO2: MOV 21H,A
MOV B,#0AH
DIV AB
MOV 33H,A
MOV 32H,B
AJMP RET0
GO3: MOV 22H,A
MOV B,#0AH
DIV AB
MOV 35H,A
MOV 34H,B
AJMP RET0
RET0: POP PSW
POP ACC
RETI
;;;////*******--DISPLAY PART---+++++
DISP: MOV R0,#30H
MOV R3,#0FEH
MOV A,R3
PLAY: MOV P2,A
MOV A,@R0
MOV DPTR,#DSEG1
MOVC A,@A+DPTR
MOV P0,A
LCALL DL1
MOV P2,#0FFH
MOV A,R3
RL A
JNB ACC.6,LD1
INC R0
MOV R3,A
LJMP PLAY
LD1: RET
;;;;;;;;;;;;;;;DELAY
DL1: MOV R7,#05H
DL: MOV R6,#0FFH
DL6: DJNZ R6,$
DJNZ R7,DL
RET
DSEG1:DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
;///////***//////*******/////////////
SECTION:PUSH ACC
PUSH PSW
MOV C,P3.2 ;按键消振
JC PPP
ACALL DELAY
MOV C,P3.2
JC PPP
STOP0: MOV C,P3.2
JNC STOP0
ACALL DELAY
MOV C,P3.2
JNC STOP0
CPL 23H.0
PPP: POP PSW
POP ACC
RETI
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -