;**********************提示语**********************
DISPLAY_18B20_HELLO:
MOV P1,#10000000B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#TAB_HELLO
MOV R1,#0 ;码表初值
MOV R0,#16;字数
LCALL DISPLAy
RET
/*
DISPLAY_18B20_TESTING:
MOV P1,#10000000B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#TAB_TESTING
MOV R1,#0 ;码表初值
MOV R0,#16;字数
LCALL DISPLAy
RET
*/
DISPLAY_18B20_ERROR:
MOV P1,#00000001B ;清屏并光标复位
LCALL ENABLE
MOV DPTR,#TAB1
MOV R1,#0 ;码表初值
MOV R0,#16;字数
LCALL DISPLAy
RET
DISPLAY_WATING:
MOV P1,#00000001B ;清屏并光标复位
LCALL ENABLE;调用写入命令子程序
MOV P1,#10000000B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#TAB2
MOV R1,#0 ;码表初值
MOV R0,#13;字数
LCALL DISPLAy
RET
DISPLAYINT_MUSIC:
MOV P1,#00000001B ;清屏并光标复位
LCALL ENABLE;调用写入命令子程序
MOV P1,#10000000B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#MUSICSTRING
MOV R1,#0 ;码表初值
MOV R0,#16;字数
LCALL DISPLAy
DISPLAY_NAME:
MOV P1,#11000000B; 显示位置
LCALL ENABLE ;执行指令
MOV R1,#0 ;码表初值
MOV R0,#15;字数
LCALL DISPLAy
RET
STOPWATCH
B STOPWATCH
STOPWATCH_INIT
B --00:00:00:00---
DISPLAYINT_STOPWATCH_000000:
MOV P1,#00000001B ;清屏并光标复位
LCALL ENABLE;调用写入命令子程序
MOV P1,#10000000B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#STOPWATCH
MOV R1,#0 ;码表初值
MOV R0,#16;字数
LCALL DISPLAy
MOV P1,#11000000B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#STOPWATCH_INIT
MOV R1,#0 ;码表初值
MOV R0,#16;字数
LCALL DISPLAy
RET
MUSICSTRING
B PLAYING... MUSIC
MUSIC_NAME_15: DB <JUST LOVE YOU>
MUSIC_NAME_8: DB ZHOU_ZAI_XIANG_X
MUSIC_NAME_9: DB SHUI_SHANG_PU_DE
MUSIC_NAME_10: DB SHANG-HAI-TAN
MUSIC_NAME_11: DB GU-DAN-BEI-P-QIU
MUSIC_NAME_12: DB TAO-HUA-DUO.-KAI
MUSIC_NAME_13: DB DA-CHENG-XIAO_AI
MUSIC_NAME_14: DB -----QIU_FU-----
DISPLAY_SAVE:
MOV P1,#00000001B ;清屏并光标复位
LCALL ENABLE;调用写入命令子程序
MOV P1,#10000000B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#TAB_SAVE
MOV R1,#0 ;码表初值
MOV R0,#10;字数
LCALL DISPLAy
RET
DISPLAY_SETING_TEMP_H:
MOV P1,#00000001B ;清屏并光标复位#00000001H是命令哦
LCALL ENABLE;调用写入命令子程序
MOV P1,#10000000B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#TAB_SETING_TEMP_H
MOV R1,#0 ;码表初值
MOV R0,#13;字数
LCALL DISPLAy
RET
DISPLAY_SETING_TEMP_L:
MOV P1,#00000001B ;清屏并光标复位
LCALL ENABLE;调用写入命令子程序
MOV P1,#10000000B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#TAB_SETING_TEMP_L
MOV R1,#0 ;码表初值
MOV R0,#13;字数
LCALL DISPLAy
RET
DISPLAY_ALARM_CLOCK_1:
MOV P1,#00000001B ;清屏并光标复位
LCALL ENABLE;调用写入命令子程序
MOV P1,#10000000B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#ALARM_CLOCK_1
MOV R1,#0 ;码表初值
MOV R0,#10;字数
LCALL DISPLAy
RET
DISPLAY_ALARM_CLOCK_2:
MOV P1,#00000001B ;清屏并光标复位
LCALL ENABLE;调用写入命令子程序
MOV P1,#10000000B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#ALARM_CLOCK_2
MOV R1,#0 ;码表初值
MOV R0,#10;字数
LCALL DISPLAy
RET
DISPLAY_ALARM_CLOCK_3:
MOV P1,#00000001B ;清屏并光标复位
LCALL ENABLE;调用写入命令子程序
MOV P1,#10000000B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#ALARM_CLOCK_3
MOV R1,#0 ;码表初值
MOV R0,#10;字数
LCALL DISPLAy
RET
ALARM_CLOCK_1:DB AL.CLOCK_1
ALARM_CLOCK_2:DB AL.CLOCK_2
ALARM_CLOCK_3:DB AL.CLOCK_3
ALARM_ON:DB ON
ALARM_OFF:DB OFF
DISPLAY_ALARM_ON:
MOV P1,#10001100B
LCALL ENABLE
MOV DPTR,#ALARM_ON
MOV R1,#0 ;码表初值
MOV R0,#3;字数
LCALL DISPLAy
RET
DISPLAY_ALARM_OFF:
MOV P1,#10001100B
LCALL ENABLE
MOV DPTR,#ALARM_OFF
MOV R1,#0 ;码表初值
MOV R0,#3;字数
LCALL DISPLAy
RET
DISPLAY_ON:
MOV P1,#11001101B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#TAB_ON
MOV R1,#0 ;码表初值
MOV R0,#3;字数
LCALL DISPLAy
RET
DISPLAY_OFF:
MOV P1,#11001101B; 显示位置
LCALL ENABLE ;执行指令
MOV DPTR,#TAB_OFF
MOV R1,#0 ;码表初值
MOV R0,#3;字母数
LCALL DISPLAy
RET
/*
ADJ_FLASH:
JB FLASH_FLAG,
MOV P1,#1 ;在显示数字的位置用三个空格..
LCALL ENABLE;
*/
;*****************提示语**********************
TM0
USH 28H
PUSH ACC
PUSH PSW
MOV TL0,#0B0H
MOV TH0,#3CH
INC DI_DA
MOV A,DI_DA
CJNE A,#14H,DDONE
MOV DI_DA,#00H
MOV A,SEC
ADD A,#01H
DA A
MOV SEC,A
CJNE A,#60H,DDONE
MOV SEC,#00H
MOV A,MIN
ADD A,#01H
DA A
MOV MIN,A
CJNE A,#60H,DDONE
MOV MIN,#00H
MOV A,HOUR
ADD A,#01H
DA A
MOV HOUR,A
CJNE A,#24H,DDONE
MOV HOUR,#00H
DDONE
OP PSW
POP ACC
POP 28H
RETI
INTT0
USH 28H
PUSH ACC
MOV TH1,R1
MOV TL1,R0
CPL P0.2
POP ACC
POP 28H
RETI
TIME_T2:PUSH 28H
PUSH PSW
PUSH ACC
CLR TF2 ;TF2需要软件清0,与T1 T0的不一样
MOV A,WATCH_MS
ADD A,#1
MOV WATCH_MS,A
CJNE A,#100,T2_NEXT ;最大值才255的一字节是不能存#100H的,所以
MOV A,#0
MOV WATCH_MS,A
MOV A,WATCH_S
ADD A,#1 ;注意不要用INC
DA A
MOV WATCH_S,A
CJNE A,#60H,T2_NEXT
MOV A,#0
MOV WATCH_S,A
MOV A,WATCH_M
ADD A,#1
DA A
MOV WATCH_M,A
CJNE A,#60H,T2_NEXT
MOV A,#0
MOV WATCH_M,A
MOV A,WATCH_H
ADD A,#1
DA A
MOV WATCH_H,A
CJNE A,#24H,T2_NEXT
MOV A,#0
MOV WATCH_H,A
MOV WATCH_M,A
MOV WATCH_S,A
MOV WATCH_MS,A ;
T2_NEXT: ;是秒表数据转换程序,把各单元值的十个位分别存到两个单元中 但MS单元是三位的,,所以不可能DA
MOV A,WATCH_H
SWAP A ;先存的是十位
ANL A,#0FH
MOV WATCH_H_H,A
MOV A,WATCH_H
ANL A,#0FH
MOV WATCH_H_L,A
MOV A,WATCH_M
SWAP A
ANL A,#0FH
MOV WATCH_M_H,A
MOV A,WATCH_M
ANL A,#0FH
MOV WATCH_M_L,A
MOV A,WATCH_S
SWAP A
ANL A,#0FH
MOV WATCH_S_H,A
MOV A,WATCH_S
ANL A,#0FH
MOV WATCH_S_L,A
MOV A,WATCH_MS
MOV B,#10
DIV AB
MOV WATCH_MS_H,A
MOV WATCH_MS_L,B
;下面所需要的字串
STRII_1:DB ----;执行到了这个地方