📄 ds12887.asm
字号:
;12887的数据格式
;00 秒
;02 分
;04 时
;07--09 日,月,年
main: mov r2,#78h
mov r0,#08h
m0: mov @r0,#0
inc r0
djnz r2,m0 ;给初值00000000
mov sp,#70h
mov dptr,#6003h
mov a,#81h
movx @dptr,a ;设置8255
;-----------------------------------------------------------------
mov dptr,#0c00ah ;片选接138的Y6,开始地址C000H
mov a,#20h
movx @dptr,a ;打开晶振
inc dptr
mov a,#82h
movx @dptr,a ;B寄存器控制字
inc dptr
clr a
movx @dptr,a ;C寄存器用于中断,屏蔽
mov r2,#10
mov dptr,#0c000h
m1: movx @dptr,a
inc dptr
djnz r2,m1 ;送初始时间为000000000000
mov dptr,#0c00bh
mov a,#2
movx @dptr,a ;更新转换正常进行
loop: mov dptr,#0c00ah
movx a,@dptr
jnb acc.7,lop1
ajmp loop
;--------------------------------------------------------------
lop1: mov dptr,#0c009h ;------------------------
mov r0,#22h
lop2: movx a,@dptr
mov @r0,a
dec dpl
inc r0
cjne r0,#25h,lop2 ;取年,月,日-->22H--24H
mov dptr,#0c004h ;---------------------
lop3: movx a,@dptr
mov @r0,a
dec dpl
dec dpl
inc r0
cjne r0,#28h,lop3 ;取时,分,秒-->25H--27H
mov r0,#22h ;---------------------
mov r1,#54h
lop4: mov a,@r0
swap a
anl a,#0fh
mov @r1,a
inc r1
mov a,@r0
anl a,#0fh
mov @r1,a
inc r1
inc r0
cjne r1,#60h,lop4 ;拆成非压缩BCD码
acall dsp1
sjmp loop
DSP1: MOV R0,#54h
MOV DPTR,#6000H
DSP0: MOV R3,#20H
MOV R4,#6
DSP3: MOV A,@R0
MOVX @DPTR,A
INC DPTR
MOV A,R3
MOVX @DPTR,A
CLR A
MOVX @DPTR,A
INC R0
DEC DPL
MOV A,R3
RR A
MOV R3,A
DJNZ R4,DSP3
DSP4: MOV R3,#80H
MOV R4,#4
P5: MOV A,@R0
MOVX @DPTR,A
ORL A,R3
MOVX @DPTR,A
XRL A,R3
MOVX @DPTR,A
INC R0
MOV A,R3
RR A
MOV R3,A
DJNZ R4,P5
MOV A,@R0
MOVX @DPTR,A
INC DPTR
MOV A,#80H
MOVX @DPTR,A
CLR A
MOVX @DPTR,A ;下降沿显示
DEC DPL
INC R0
MOV A,@R0
MOVX @DPTR,A
INC DPTR
MOV A,#40H
MOVX @DPTR,A
CLR A
MOVX @DPTR,A
;-------------------------------------
; 以下为增加显示
;-------------------------------------
MOV DPTR,#2026H
MOVX A,@DPTR
MOV R4,A
ANL A,#0FH
MOV DPTR,#6000H
MOVX @DPTR,A
INC DPTR
INC DPTR
MOV A,#10H
MOVX @DPTR,A
CLR A
MOVX @DPTR,A
;------------------------------
MOV A,R4
ANL A,#0F0H
SWAP A
DEC DPL
DEC DPL
MOVX @DPTR,A
MOV A,#20H
INC DPL
INC DPL
MOVX @DPTR,A
CLR A
MOVX @DPTR,A
;-------------------------------
MOV DPTR,#2027H
MOVX A,@DPTR
MOV R4,A
ANL A,#0FH
MOV DPTR,#6000H
MOVX @DPTR,A
INC DPL
INC DPL
MOV A,#40H
MOVX @DPTR,A
CLR A
MOVX @DPTR,A
;------------------------------
MOV A,R4
ANL A,#0F0H
JNZ P6
MOV A,#0F0H
P6: SWAP A
DEC DPL
DEC DPL
MOVX @DPTR,A
MOV A,#080H
INC DPL
INC DPL
MOVX @DPTR,A
CLR A
MOVX @DPTR,A
RET
T12M:MOV R7,#30H
TM: MOV R6,#0FFH
TM6:DJNZ R6,TM6
DJNZ R7,TM
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -