sp; LCALL wdatsz
MOV com,33H ;設置起始為第1行
LCALL Wcom
MOV com,34H ;設置第1行0頁
LCALL Wcom
MOV com,35H ;設置第1行0列
LCALL Wcom
MOV R1,#64 ;寫入日
LCALL wdatnyr
m0: lcall xszsfm
lcall xsznyr
lcall xszxq
lcall zh
lcall dz
SJMP m0
;***************************************************顯示星期子程序<占用區0>
xszxq: push dph ;保護現場
push dpl
push acc
push psw
clr psw.3 ;進入第0組工作寄存器
clr psw.4
CLR CS2
SETB CS1
MOV 33H,#0C0H ;設行單元初值
MOV 34H,#0BAH ;設頁單元初值
MOV 35H,#58H ;設列單元初值
MOV com,33H ;設置起始為第1行
LCALL Wcom
MOV com,34H ;設置第1行0頁
LCALL Wcom
MOV com,35H ;設置第1行0列
LCALL Wcom
MOV A,25H
CJNE A,#1,LOOP16
MOV R1,#0
LCALL Wxqsz
LJMP xxxx
LOOP16: CJNE A,#2,LOOP17
MOV R1,#24
LCALL Wxqsz
LJMP xxxx
LOOP17: CJNE A,#3,LOOP18
MOV R1,#48
LCALL Wxqsz
LJMP xxxx
LOOP18: CJNE A,#4,LOOP19
MOV R1,#72
LCALL Wxqsz
LJMP xxxx
LOOP19: CJNE A,#5,LOOP20
MOV R1,#96
LCALL Wxqsz
LJMP xxxx
LOOP20: CJNE A,#6,LOOP21
MOV R1,#120
LCALL Wxqsz
LJMP xxxx
LOOP21: MOV R1,#144
LCALL Wxqsz
xxxx: pop psw ;回複現場
pop acc
pop dph
pop dpl
RET
;***************************************************顯示月日子程序<占用區0>
xsznyr: push dph ;保護現場
push dpl
push acc
push psw
clr psw.3 ;進入第0組工作寄存器
clr psw.4
CLR CS1
SETB CS2
MOV 33H,#0C0H ;設行單元初值
MOV 34H,#0B8H ;設頁單元初值
MOV 35H,#78H ;設列單元初值
MOV com,33H ;設置起始為第1行
LCALL Wcom
MOV com,34H ;設置第1行0頁
LCALL Wcom
MOV com,35H ;設置第1行0列
LCALL Wcom
MOV A,27H
ANL A,#0F0h
CJNE A,#0,LOOP10
MOV R1,#0A0H
LCALL WDATSZ
SJMP LOOP11 ;月十位為0時消隱
LOOP10: MOV R1,A ;否則月十位輸出數字
LCALL WDATSZ
LOOP11: CLR CS2
SETB CS1
MOV 33H,#0C0H ;設行單元初值
MOV 34H,#0B8H ;設頁單元初值
MOV 35H,#40H ;設列單元初值
MOV com,33H ;設置起始為第1行
LCALL Wcom
MOV com,34H ;設置第1行0頁
LCALL Wcom
MOV com,35H ;設置第1行0列
LCALL Wcom
MOV A,27H
ANL A,#0Fh
SWAP A
MOV R1,A ;寫月個位
LCALL WDATSZ
MOV 33H,#0C0H ;設行單元初值
MOV 34H,#0B8H ;設頁單元初值
MOV 35H,#58H ;設列單元初值
MOV com,33H ;設置起始為第1行
LCALL Wcom
MOV com,34H ;設置第1行0頁
LCALL Wcom
MOV com,35H ;設置第1行0列
LCALL Wcom
MOV A,26H
ANL A,#0F0h
CJNE A,#0,LOOP12
MOV R1,#0A0H
LCALL WDATSZ
SJMP LOOP13 ;日十位為0時消隱
LOOP12: MOV R1,A ;否則日十位輸出數字
LCALL WDATSZ
LOOP13: MOV com,33H ;設置起始為第1行
LCALL Wcom
MOV com,34H ;設置第1行0頁
LCALL Wcom
MOV com,35H ;設置第1行0列
LCALL Wcom
MOV A,26H
ANL A,#0Fh
SWAP A
MOV R1,A ;寫日個位
LCALL WDATSZ
pop psw ;回複現場
pop acc
pop dph
pop dpl
RET
;***************************************************顯示時分秒子程序<占用區0>
xszsfm: push dph ;保護現場
push dpl
push acc
push psw
clr psw.3 ;進入第0組工作寄存器
clr psw.4
CLR CS1
SETB CS2
MOV 33H,#0C0H ;設行單元初值
MOV 34H,#0BCH ;設頁單元初值
MOV 35H,#60H ;設列單元初值
MOV com,33H ;設置起始為第1行
LCALL Wcom
MOV com,34H ;設置第1行0頁
LCALL Wcom
MOV com,35H ;設置第1行0列
LCALL Wcom
MOV A,2fh ;寫入時十位
swap A
MOV R1,A
LCALL WDATSZ
MOV com,33H ;重新設行單元
LCALL Wcom
MOV com,34H ;重新設頁單元
LCALL Wcom
MOV com,35H &