📄 shizhong.asm
字号:
MIAO_GE EQU 40H
MIAO_SHI EQU 41H
MIN_GE EQU 42H
MIN_SHI EQU 43H
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP INT_T0
MAIN: MOV TMOD,#01H
MOV TH0,#0B1H
MOV TL0,#0E0H
MOV R0,#50
SETB EA
SETB ET0
SETB TR0
MOV MIAO_GE,#0
MOV MIAO_SHI,#0
MOV MIN_GE,#0
MOV MIN_SHI,#0
LOOP:
LCALL DEALDATA
LCALL DISPLAY
LJMP LOOP
DISPLAY: ;显示
MOV DPTR,#TAB
MOV A,MIAO_GE
MOVC A,@A+DPTR
MOV P0,A
CLR P2.7
LCALL DELAY
SETB P2.7
MOV A,MIAO_SHI
MOVC A,@A+DPTR
MOV P0,A
CLR P2.6
LCALL DELAY
SETB P2.6
MOV A,MIN_GE
MOVC A,@A+DPTR
MOV P0,A
CLR P2.5
LCALL DELAY
SETB P2.5
MOV A,MIN_SHI
MOVC A,@A+DPTR
MOV P0,A
CLR P2.4
LCALL DELAY
SETB P2.4
RET
DEALDATA: ; 数据处理
MOV A,#10
CJNE A,MIAO_GE,RETURN
INC MIAO_SHI
MOV MIAO_GE,#0
MOV A,#6
CJNE A,MIAO_SHI,RETURN
INC MIN_GE
MOV MIAO_SHI,#0
MOV A,#10
CJNE A,MIN_GE,RETURN
INC MIN_SHI
MOV MIN_GE,#0
MOV A,#6
CJNE A,MIN_SHI,RETURN
MOV MIN_SHI,#0
MOV MIN_GE ,#0
RETURN:
RET
;延时
DELAY:
MOV R1,#20
DELAY1:
MOV R2,#20
DJNZ R2,$
DJNZ R1,DELAY1
RET
INT_T0: ; 中断
CLR TR0
MOV TH0,#0B1H
MOV TL0,#0E0H
DJNZ R0,EXIT
MOV R0,#50
INC MIAO_GE
EXIT:
SETB TR0
RETI
;段码表
TAB:
DB 00101000B ;0
DB 11101011B ;1
DB 00110010B ;2
DB 10100010B ;3
DB 11100001B ;4
DB 10100100B ;5
DB 00100100B ;6
DB 11101010B ;7
DB 00100000B ;8
DB 10100000B ;9
DB 01100000B ;A
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -