闲来无事,把以前做的一块16*32的点阵屏做万年历玩玩。嘿嘿!
手头现在没有照相机,不能让大家看到实物。
本点阵显示年、月、日、星期、阴历、温度,并且时间可调!
嘿嘿,这几天比较忙,温度功能还没加进去,但细心看程序,可发现温度功能非常容易添加,程序中已经定义温度变量ram 37h 38h。
按键功能也没有添加!但比起整个工程,按键和温度的程序显得有点九牛一毛!
回头完成整个工程,拍照上传。
pcb与汇编程序ourdev_532437.rar(文件大小:34K) (原文件名CB与汇编程序.rar)
下面是2008画的pcb
2008画的pcb (原文件名:pcb.JPG)
先看程序吧!
;-------------------------------------------------------------------------------
;软件环境: VW For Windows
;硬件环境: AT89C52 MCU,MCS-51系列 MCU,etc.
;-------------------------------------------------------------------------------
;点阵屏引脚
;DAT [数据引脚]-------------------P1.4
;SH [移位时钟]-------------------P1.0
;ST [锁存时钟]-------------------P1.2
;-------------------------------------------------------------------------------
;单片机RAM定义
;00H-1FH(四组寄存器)
;20H-2FH(可位寻址区)
;30H-5FH(变量定义区)
;60H-9FH(第一显存区)
;A0H-DFH(第二显存区)
;E0H-FFH(堆栈)
;-------------------------------------------------------------------------------
;以下为产品接口引脚在演示程序中的预定义
;用户在编写应用程序时,需按自己的实际硬件连线来重新定义
DAT BIT P1.4 ;数据引脚
SH BIT P1.0 ;移位时钟
ST BIT P1.2 ;锁存时钟
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;寄存器定义
;R0显存地址
;R1缓存地址
;R2画面选择(只能为1,2,4,5)
;R3移动字幕显示类型(长还是短)
;R4比秒更小的单位
;-------------------------------------------------------------------------------
;以下变量用于指示当前操作字符的位置的预定义
;用户在编写应用程序时,需按自己的实际软件程序需要来重新定义
XPOS EQU 20H ;点阵屏横向数据
YPOS1 EQU 21H ;点纵屏横向数据
YPOS2 EQU 22H ;点纵屏横向数据
YPOS3 EQU 23H ;点纵屏横向数据
YPOS4 EQU 24H ;点纵屏横向数据
LP8 EQU 25H ;循环8次变量
MAX EQU 29H ;每月最多的天数
SEC EQU 30H ;秒寄存器
MIN EQU 31H ;分寄存器
HOU EQU 32H ;时寄存器
DATE EQU 33H ;日寄存器
WEEK EQU 34H ;星期寄存器
MON EQU 35H ;月寄存器
YEAR EQU 36H ;年寄存器
TMMP1 EQU 37H ;温度小数点前
TMMP2 EQU 38H ;温度小数点后
GAO EQU 40H ;高四位
DI EQU 41H ;第四位
TEM EQU 42H ;时间变量暂时存放地(个位和十位)
MGAO EQU 43H ;移动变量高位
MDI EQU 44H ;移动变量低位
DPH0 EQU 45H ;移动图案起始地址高8位
DPL0 EQU 46H ;移动图案起始地址低8位
DPH1 EQU 47H ;指针1高8位
DPL1 EQU 48H ;指针1低8位
DPH2 EQU 49H ;指针2高8位
DPL2 EQU 50H ;指针2低8位
COMR1 EQU 51H ;选择移动画面的类型(画面二与画面四中显示不一样)
COMR3 EQU 52H ;移动字幕的长短控制(画面二中移动字幕比较短)
;-------------------------------------------------------------------------------
ORG 00H ;整个程序开始于00H
AJMP MAIN
ORG 0BH
AJMP TIME0 ;定时器程序向量
ORG 030H
MAIN:
MOV SEC,#56H ;秒赋值
MOV MIN,#51H ;分赋值
MOV HOU,#22H ;时赋值
MOV WEEK,#01H ;星期赋值
MOV DATE,#01H ;日赋值
MOV MON,#2H ;月份赋值
MOV YEAR,#10H ;年份初始值
MOV TMMP1,#21H ;温度小数点前初始值
MOV TMMP2,#23H ;温度小数点后初始值
MOV R0,#060H ;显存初始地址
MOV R1,#0A0H ;缓存初始地址
MOV R2,#05H ;显示画面一
MOV R3,#01H ;移动变量显示控制
MOV R4,#01H ;20分之一秒
MOV SP,#0DFH ;堆栈指向0E0H
CALL CLEAR ;显存请屏
MOV TMOD,#01H ;选择定时器及定时器工作方式
MOV TH0,#03CH ;
MOV TR0,#0B0H ;设置为500MS
SETB TR0 ;开始定时器0计时
SETB EA ;中断总开关开
SETB ET0 ;定时器开
CALL LONG ;选择移动图案的长度及显示长度
CALL STARTDPTR ;移动图案首地址
MOV A,DPH ;
MOV DPH0,A ;
MOV A,DPL ;
MOV DPL0,A ;因为后面要用到DPTR所以这先把DPTR保存起来
LOOP:
MOV R2,#01H
LOOP1:
CALL PUTIN1
CALL PROCESS
CALL DISPLAY ;调用显示程序
CALL DISPLAY ;
MOV A,SEC
CJNE A,#015H,LOOP1
MOV R2,#02H
MOV R3,#01H ;变量选择从头开始
CALL LONG ;选择移动图案的长度及显示长度
CALL STARTDPTR ;移动图案首地址
MOV A,DPH ;
MOV DPH0,A ;
MOV A,DPL ;
MOV DPL0,A ;因为后面要用到DPTR所以这先把DPTR保存起来
LOOP2:
CALL PROCESS
CALL PUTIN2 ;
CALL PUTIN22_ ;
CALL ORLL
CALL DISPLAY ;调用显示程序
CALL DISPLAY ;
MOV A,SEC
CJNE A,#030H,LOOP2
MOV R2,#04H
LOOP3:
CALL PROCESS
CALL PUTIN3 ;
CALL PUTIN32 ;
CALL ORLL ;合成PUTIN3画面与PUTIN32画面
CALL DISPLAY ;调用显示程序
CALL DISPLAY
MOV A,SEC ;
CJNE A,#045H,LOOP3
MOV R2,#05H
MOV R3,#01H ;变量选择从头开始
CALL LONG ;选择移动图案的长度及显示长度
CALL STARTDPTR ;移动图案首地址
MOV A,DPH ;
MOV DPH0,A ;
MOV A,DPL ;
MOV DPL0,A ;因为后面要用到DPTR所以这先把DPTR保存起来
LOOP4:
CALL PROCESS
CALL PUTIN4 ;
CALL PUTIN22_ ;
CALL ORLL ;
CALL DISPLAY ;调用显示程序
CALL DISPLAY
MOV A,SEC ;
CJNE A,#000H,LOOP4
AJMP LOOP ;
;-------------------------------------------------------------------------------
;子程序名称:CLEAR().
;功能:显存清零
;输入:.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
CLEAR:
MOV @R0,#00H
INC R0
CJNE R0,#0A0H,CLEAR ;显存清零
MOV R0,#060H
RET
;-------------------------------------------------------------------------------
;###############################################################################
;###############################四种时间画面的赋值##############################
;###############################################################################
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;子程序名称UTIN1().
;功能:画面一的RAM赋值
;输入:.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
PUTIN1:
CALL EMPTY ;RAM写入两个空值
MOV A,HOU ;取出时值
CALL FIGURE ;数字写入RAM
CALL POINT1
MOV A,MIN ;取出分值
CALL FIGURE ;数字写入RAM
CALL EMPTY
RET
;-------------------------------------------------------------------------------
;子程序名称UTIN2().
;功能:画面二的RAM赋值
;输入:.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
PUTIN2:
CALL EMPTY
MOV A,HOU ;取出时值
CALL FIGURE ;数字写入RAM
CALL POINT2
MOV A,MIN ;取出分值
CALL FIGURE ;数字写入RAM
CALL EMPTY
CALL EMPTY
CALL EMPTY
INC R2 ;秒大显示大小有变化
MOV A,SEC ;取出秒值
CALL FIGURE ;数字写入RAM
DEC R2
RET
;-------------------------------------------------------------------------------
;子程序名称UTIN3().
;功能:画面三的RAM赋值
;输入:.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
PUTIN3:
MOV A,HOU ;取出时值
CALL FIGURE ;数字写入RAM
CALL POINT3
MOV A,MIN ;取出分值
CALL FIGURE ;数字写入RAM
CALL EMPTY
CALL EMPTY
MOV A,SEC ;取出秒值
CALL FIGURE ;数字写入RAM
RET
;-------------------------------------------------------------------------------
;子程序名称UTIN4().
;功能:画面四的RAM赋值
;输入:.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
PUTIN4:
CALL EMPTY
CALL EMPTY
CALL EMPTY
MOV A,HOU ;取出时值
CALL FIGURE ;数字写入RAM
CALL POINT4
MOV A,MIN ;取出分值
CALL FIGURE ;数字写入RAM
CALL EMPTY
CALL EMPTY
MOV A,SEC ;取出秒值
CALL FIGURE ;数字写入RAM
CALL EMPTY
CALL EMPTY
CALL EMPTY
RET
;-------------------------------------------------------------------------------
;###############################################################################
;###############################其他数据写入RAM#################################
;###############################################################################
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;子程序名称UTIN22().
;功能:
;输入:.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
PUTIN22_: ;
MOV A,DPH0 ;
MOV DPH,A ;
MOV A,DPL0 ;
MOV DPL,A ;把DPTR0中的值释放出来
PUTIN22: ;
MOV R1,#0A0H ;
MOV A,#00H ;
MOVC A,@A+DPTR ;
CJNE A,#0EEH,PUTIN22_2 ;判断移动固定图案是否取完
MOV A,R3
CJNE A,COMR3,PUTIN22_1 ;判断整个移动图案是否取完
MOV R3,#01H ;控制移动变量的取值
CALL STARTDPTR ;移动字幕的初始地址
AJMP PUTIN22 ;回到本开始
PUTIN22_1:
INC DPTR ;固定图案写完,使指针指向下一图案开始
MOV A,DPH
MOV DPH2,A
MOV A,DPL
MOV DPL2,A ;保存下一图案的指针到DPH2和DPL2
CALL PUTCHAR ;利用R3选择出要显示的变量,并提取出变量的十位和个位
MOV A,MGAO ;
CALL TAKE ;换算出对应的首地址
MOV MGAO,#0FFH ;十位显示完后做标记
AJMP PUTIN22 ;回到本开始
PUTIN22_2:
MOV A,#00H
MOVC A,@A+DPTR
CJNE A,#0BBH,PUTIN22_5 ;判断变量是否显示完毕
MOV A,MDI ;提取个位
CJNE A,#0FFH,PUTIN22_3 ;判断个位是否已经显示
AJMP PUTIN22_4 ;显示过则跳到固定图案
PUTIN22_3:
MOV A,MDI ;
MOV MDI,#0FFH ;
CALL TAKE ;
AJMP PUTIN22 ;回到本开始
PUTIN22_4:
INC R3 ;指向下一固定图案
MOV A,DPH2
MOV DPH,A
MOV A,DPL2
MOV DPL,A ;取出保存的指针
AJMP PUTIN22 ;回到本开始
;-------------------------------------------------------------------------------
;子程序名称UTIN22_5().
;功能:整屏显示
;输入:.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
PUTIN22_5:
PUSH MGAO ;
PUSH MDI ;
PUSH DPH ;
PUSH DPL ;
MOV A,R3 ;
PUSH A ;
MOV A,DPH2
MOV DPH1,A
MOV A,DPL2
MOV DPL1,A ;变量的保存
PUTIN22_6: ;
MOV A,#00H ;
MOVC A,@A+DPTR ;
CJNE A,#0EEH,PUTIN22_8 ;判断移动图案显示是否完成
MOV A,R3
CJNE A,COMR3,PUTIN22_7 ;判断整个移动图案是否显示完毕
MOV R3,#01H ;变量控制字复位
CALL STARTDPTR ;移动固定图案的首地址
AJMP PUTIN22_6 ;回到初始位置
PUTIN22_7: ;
INC DPTR ;指向下一固定图案的首地址
MOV A,DPH ;
MOV DPH1,A ;
MOV A,DPL ;
MOV DPL1,A ;保存指针
CALL PUTCHAR ;
MOV A,MGAO ;
CALL TAKE ;
MOV MGAO,#0FFH ;标记十位,表示已经显示
AJMP PUTIN22_6 ;回到初始位置
PUTIN22_8: ;
MOV A,#00H ;
MOVC A,@A+DPTR ;
CJNE A,#0BBH,PUTIN22_11 ;判断变量已经显示完毕
MOV A,MDI ;
CJNE A,#0FFH,PUTIN22_9 ;判断变量已经完全显示完毕
AJMP PUTIN22_10 ;
PUTIN22_9: ;
MOV A,MDI ;显示个位
MOV MDI,#0FFH ;
CALL TAKE ;
AJMP PUTIN22_6 ;回到初始位置
PUTIN22_10: ;
INC R3 ;指向下一固定图案
MOV A,DPH1 ;
MOV DPH,A ;
MOV A,DPL1 ;
MOV DPL,A ;取出固定图案指针
AJMP PUTIN22_6 ;回到初始位置
PUTIN22_11: ;RAM赋值
MOV A,#00H ;
MOVC A,@A+DPTR ;
MOV @R1,A ;
INC R1 ;
INC DPTR ;
MOV A,R1
CJNE A,COMR1,PUTIN22_6 ;判断整屏显示是否已完成
CALL ADDWEEK ;画面二中有静止的星期显示
POP A ;
MOV R3,A ;
POP DPL ;
POP DPH ;
INC DPTR ;
INC DPTR ;为达到移动效果
MOV A,DPH
MOV DPH0,A
MOV A,DPL
MOV DPL0,A
POP MDI ;
POP MGAO ;数据从堆栈弹出
MOV R1,#0A0H
RET ;
;-------------------------------------------------------------------------------
;子程序名称UTIN32().
;功能:画面三中温度的合成
;输入:.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
PUTIN32:
MOV R0,#0A0H ;
CALL EMPTY ;
CALL EMPTY ;
DEC R2 ;
DEC R2 ;
MOV A,TMMP1 ;
CALL FIGURE ;
CALL POINT32 ;
MOV A,TMMP2 ;
CALL FIGURE ;
CALL CHAR_C ;
MOV R0,#060H ;
INC R2 ;
INC R2 ;
RET ;
;-------------------------------------------------------------------------------
;###############################################################################
;###############################缓存与显存相或##################################
;###############################################################################
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;子程序名称:ORLL().
;功能:缓存与显存相或.
;输入:.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
ORLL:
MOV R0,#060H ;
MOV R1,#0A0H ;
ORLL1:
MOV A,@R1 ;
ORL A,@R0 ;
MOV @R0,A ;
INC R0 ;
INC R1 ;
CJNE R0,#0A0H,ORLL1 ;
MOV R0,#060H ;
MOV R1,#0A0H ;
RET ;
;-------------------------------------------------------------------------------
;###############################################################################
;##################################一列空格#####################################
;###############################################################################
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;子程序名称:EMPTY().
;功能:连续写入两个'0'到RAM.
;输入:00H.
;输出R0=0.
;影响PTR,R0,@R0.
;-------------------------------------------------------------------------------
EMPTY:
MOV @R0,#00H
INC R0
MOV @R0,#00H
INC R0
RET
;-------------------------------------------------------------------------------
;###############################################################################
;##################################时间计算#####################################
;###############################################################################
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;子程序名称ROCESS().
;功能:时间换算程序.
;输入:.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
PROCESS:
MOV A,SEC
CJNE A,#060H,PROCESSEND
MOV SEC,#00H
INC MIN
MOV A,MIN
DA A
MOV MIN,A
CJNE A,#060H,PROCESSEND
MOV MIN,#00H
INC HOU
MOV A,HOU
DA A
MOV HOU,A
CJNE A,#024H,PROCESSEND
MOV HOU,#00H
INC WEEK
MOV A,WEEK
CJNE A,#08H,PROCESS1
MOV WEEK,#01H
PROCESS1:
INC DATE
MOV A,DATE
DA A
LCALL MAXDATE
MOV A,DATE
CJNE A,MAX,PROCESSEND
MOV DATE,#01H
INC MON
MOV A,MON
DA A
MOV MON,A
CJNE A,#013H,PROCESSEND
MOV MON,#01H
INC YEAR
MOV A,YEAR
DA A
MOV YEAR,A
PROCESSEND:
RET
;-------------------------------------------------------------------------------
;子程序名称:MAXDATE().
;功能:算出每月的最多天数.
;输入:.
;输出:?
;影响:.
;-------------------------------------------------------------------------------
MAXDATE:
MOV A,MON
DEC A
MOV B,#05H ;
MUL AB ;
MOV DPTR,#MAXDATE1 ;
JMP @A+DPTR ;
MAXDATE1: ;
MOV MAX,#032H ;因为主程序是相等则循序执行所以这里用的是月最大天数加一
AJMP MAXDATEEND ;
MOV MAX,#031H ;
AJMP MAXDATEEND ;
MOV MAX,#032H
AJMP MAXDATEEND
MOV MAX,#031H
AJMP MAXDATEEND
MOV MAX,#032H
AJMP MAXDATEEND
MOV MAX,#031H
AJMP MAXDATEEND
MOV MAX,#032H
AJMP MAXDATEEND
MOV MAX,#032H
AJMP MAXDATEEND
MOV MAX,#031H
AJMP MAXDATEEND
MOV MAX,#032H
AJMP MAXDATEEND
MOV MAX,#031H
AJMP MAXDATEEND
MOV MAX,#032H
AJMP MAXDATEEND
MAXDATEEND:
RET
;-------------------------------------------------------------------------------
;###############################################################################
;#################################代表秒的点####################################
;###############################################################################
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;子程序名称OINT1().
;功能:RAM中写入代表秒的点(画面一).
;输入:.
;输出:?
;影响:.
;-------------------------------------------------------------------------------
POINT1:
CALL EMPTY
MOV A,R4
CJNE A,#0AH,POINT11
POINT11:
JC POINT12
CALL EMPTY
CALL EMPTY
AJMP POINT1END
POINT12:
MOV @R0,#6H
INC R0
MOV @R0,#030H
INC R0
MOV @R0,#06H
INC R0
MOV @R0,#030H
INC R0
POINT1END:
CALL EMPTY
RET
;-------------------------------------------------------------------------------
;子程序名称:POINT2().
;功能:RAM中写入代表秒的点(画面二).
;输入:00H.
;输出:无.
;影响:R0,@R0.
;-------------------------------------------------------------------------------
POINT2:
CALL EMPTY
MOV A,R4
CJNE A,#0AH,POINT21
POINT21:
JC POINT22
CALL EMPTY
AJMP POINT2END
POINT22:
MOV @R0,#00H
INC R0
MOV @R0,#036H
INC R0
POINT2END:
CALL EMPTY
RET
;-------------------------------------------------------------------------------
;子程序名称:POINT3().
;功能:RAM中写入代表秒的点(画面三).
;输入:00H.
;输出:无.
;影响:R0,@R0.
;-------------------------------------------------------------------------------
POINT3:
CALL EMPTY
MOV A,R4
CJNE A,#0AH,POINT31
POINT31:
JC POINT322
CALL EMPTY
AJMP POINT3END
POINT322:
MOV @R0,#36H
INC R0
MOV @R0,#00H
INC R0
POINT3END:
CALL EMPTY
RET
;-------------------------------------------------------------------------------
;子程序名称:POINT4().
;功能:RAM中写入代表秒的点(画面四).
;输入:.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
POINT4:
CALL EMPTY
MOV A,R4
CJNE A,#0AH,POINT41
POINT41:
JC POINT42
CALL EMPTY
AJMP POINT4END
POINT42:
MOV @R0,#050H
INC R0
MOV @R0,#00H
INC R0
POINT4END:
CALL EMPTY
RET
;-------------------------------------------------------------------------------
;###############################################################################
;###################################其它图样####################################
;###############################################################################
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;子程序名称:POINT32().
;功能:RAM中写入温度小数点(画面三).
;输入:.
;输出:无.
;影响:.
;修改日期:2010.01.27
;-------------------------------------------------------------------------------
POINT32:
CALL EMPTY
MOV @R0,#00H
INC R0
MOV @R0,#03H
INC R0
CALL EMPTY
RET
;-------------------------------------------------------------------------------
;子程序名称:CHAR_C().
;功能:RAM中写入温度符号(画面三).
;输入:.
;输出:无.
;影响:.
;修改日期:2010.01.27
;-------------------------------------------------------------------------------
CHAR_C:
MOV DPTR,#TAB32_C
CHAR_C1:
MOV A,#00H
MOVC A,@A+DPTR
MOV @R0,A
INC R0
INC DPTR
MOV A,#00H
MOVC A,@A+DPTR
CJNE A,#0BBH,CHAR_C1
RET
;-------------------------------------------------------------------------------
;###############################################################################
;################################查表并写入RAM##################################
;###############################################################################
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;子程序名称:FIGURE().
;功能:数字写入RAM
;输入:A.
;输出:A.
;影响R0.
;-------------------------------------------------------------------------------
FIGURE:
CALL BRING ;分离小时的十位和个位
MOV A,GAO ;
CALL FIND ;DPTR值寻址
CALL RAM ;寻址到的数据写入RAM
CALL EMPTY ;RAM写入两个空值
MOV A,DI
CALL FIND
CALL RAM
RET
;-------------------------------------------------------------------------------
;子程序名称:BRING().
;功能:提取十位和个位
;输入:A.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
BRING:
MOV TEM,A
ANL A,#0FH
MOV DI,A
MOV A,TEM
SWAP A
ANL A,#0FH
MOV GAO,A
RET
;-------------------------------------------------------------------------------
;子程序名称:RAM().
;功能:把查表的数据写入RAM
;输入DPTR.
;输出R0.
;影响PTR,R0 .
;-------------------------------------------------------------------------------
RAM:
MOV A,#00H ;偏移量清零
MOVC A,@A+DPTR ;查表
MOV @R0,A ;显存赋值
INC DPTR ;表格地址加一
INC R0 ;显存地址加一
MOV A,#00H ;
MOVC A,@A+DPTR ;
CJNE A,#0BBH,RAM ;数字赋值完成
RAMEND:
RET
;-------------------------------------------------------------------------------
;子程序名称:FIND().
;功能:分别提取十位和个位数字在表格中的首地址
;输入:43H(TEM0).
;输出:40H(GAO),41H(DI).
;影响:42H(TEM).
;-------------------------------------------------------------------------------
FIND: ;
CALL PICTURE ;选择将要送入首地址的值
MOV B,#05H ;
MUL AB ;
JMP @A+DPTR ;
TDPTR1: ;画面一数字查表
MOV DPTR,#TAB11_0 ;
AJMP FINDEND ;
MOV DPTR,#TAB11_1 ;
AJMP FINDEND ;
MOV DPTR,#TAB11_2 ;
AJMP FINDEND ;
MOV DPTR,#TAB11_3 ;
AJMP FINDEND ;
MOV DPTR,#TAB11_4 ;
AJMP FINDEND ;
MOV DPTR,#TAB11_5 ;
AJMP FINDEND ;
MOV DPTR,#TAB11_6 ;
AJMP FINDEND ;
MOV DPTR,#TAB11_7 ;
AJMP FINDEND ;
MOV DPTR,#TAB11_8 ;
AJMP FINDEND ;
MOV DPTR,#TAB11_9 ;
AJMP FINDEND ;
TDPTR2: ;画面二数字查表
MOV DPTR,#TAB21_0 ;
AJMP FINDEND ;
MOV DPTR,#TAB21_1 ;
AJMP FINDEND ;
MOV DPTR,#TAB21_2 ;
AJMP FINDEND ;
MOV DPTR,#TAB21_3 ;
AJMP FINDEND ;
MOV DPTR,#TAB21_4 ;
AJMP FINDEND ;
MOV DPTR,#TAB21_5 ;
AJMP FINDEND ;
MOV DPTR,#TAB21_6 ;
AJMP FINDEND ;
MOV DPTR,#TAB21_7 ;
AJMP FINDEND ;
MOV DPTR,#TAB21_8 ;
AJMP FINDEND ;
MOV DPTR,#TAB21_9 ;
AJMP FINDEND ;
TDPTR22: ;画面二数字查表
MOV DPTR,#TAB21_0_ ;
AJMP FINDEND ;
MOV DPTR,#TAB21_1_ ;
AJMP FINDEND ;
MOV DPTR,#TAB21_2_ ;
AJMP FINDEND ;
MOV DPTR,#TAB21_3_ ;
AJMP FINDEND ;
MOV DPTR,#TAB21_4_ ;
AJMP FINDEND ;
MOV DPTR,#TAB21_5_ ;
AJMP FINDEND ;
MOV DPTR,#TAB21_6_ ;
AJMP FINDEND ;
MOV DPTR,#TAB21_7_ ;
AJMP FINDEND ;
MOV DPTR,#TAB21_8_ ;
AJMP FINDEND ;
MOV DPTR,#TAB21_9_ ;
AJMP FINDEND ;
TDPTR3: ;画面三数据查表
MOV DPTR,#TAB31_0 ;
AJMP FINDEND ;
MOV DPTR,#TAB31_1 ;
AJMP FINDEND ;
MOV DPTR,#TAB31_2 ;
AJMP FINDEND ;
MOV DPTR,#TAB31_3 ;
AJMP FINDEND ;
MOV DPTR,#TAB31_4 ;
AJMP FINDEND ;
MOV DPTR,#TAB31_5 ;
AJMP FINDEND ;
MOV DPTR,#TAB31_6 ;
AJMP FINDEND ;
MOV DPTR,#TAB31_7 ;
AJMP FINDEND ;
MOV DPTR,#TAB31_8 ;
AJMP FINDEND ;
MOV DPTR,#TAB31_9 ;
AJMP FINDEND ;
TDPTR4: ;画面三数据查表
MOV DPTR,#TAB41_0 ;
AJMP FINDEND ;
MOV DPTR,#TAB41_1 ;
AJMP FINDEND ;
MOV DPTR,#TAB41_2 ;
AJMP FINDEND ;
MOV DPTR,#TAB41_3 ;
AJMP FINDEND ;
MOV DPTR,#TAB41_4 ;
AJMP FINDEND ;
MOV DPTR,#TAB41_5 ;
AJMP FINDEND ;
MOV DPTR,#TAB41_6 ;
AJMP FINDEND ;
MOV DPTR,#TAB41_7 ;
AJMP FINDEND ;
MOV DPTR,#TAB41_8 ;
AJMP FINDEND ;
MOV DPTR,#TAB41_9 ;
AJMP FINDEND ;
FINDEND: ;
RET
;-------------------------------------------------------------------------------
;子程序名称:PICTURE().
;功能:选择将要送入首地址的值.
;输入:R2.
;输出:无.
;影响:无.
;-------------------------------------------------------------------------------
PICTURE:
CJNE R2,#1H,PICTURE1
MOV DPTR,#TDPTR1 ;
AJMP PICEND
PICTURE1:
CJNE R2,#2H,PICTURE22
MOV DPTR,#TDPTR2 ;画面二的时间和画面三中的温度均要使用此查表指令
AJMP PICEND
PICTURE22:
CJNE R2,#3H,PICTURE3
MOV DPTR,#TDPTR22 ;画面二中数字大小不一样
AJMP PICEND
PICTURE3:
CJNE R2,#4H,PICTURE4
MOV DPTR,#TDPTR3 ;
AJMP PICEND
PICTURE4:
MOV DPTR,#TDPTR4
PICEND:
RET
;-------------------------------------------------------------------------------
;子程序名称:PUTCHAR().
;功能:利用R3选择出要显示的变量
;输入:R3.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
PUTCHAR:
CJNE R3,#1,CHAR1
MOV A,YEAR
CALL BRING_
AJMP CHAREND ;取出变量各位和十位对应的首地址
CHAR1:
CJNE R3,#2,CHAR2
MOV A,MON
CALL BRING_
AJMP CHAREND
CHAR2:
CJNE R3,#3,CHAR3
MOV A,DATE
CALL BRING_
AJMP CHAREND
CHAR3:
CJNE R3,#4,CHAR4
MOV A,WEEK
CALL BRING_
AJMP CHAREND
CHAR4:
CJNE R3,#5,CHAR5
MOV A,TMMP1
CALL BRING_
AJMP CHAREND
CHAR5:
CJNE R3,#6,CHAREND
MOV A,TMMP2
CALL BRING_
AJMP CHAREND
CHAREND:
RET
;-------------------------------------------------------------------------------
;子程序名称:BRING_().
;功能:提取十位和个位
;输入:A.
;输出:40H(MGAO),41H(DI).
;影响:42H(TEM).
;-------------------------------------------------------------------------------
BRING_:
MOV TEM,A
ANL A,#0FH
MOV MDI,A
MOV A,TEM
SWAP A
ANL A,#0FH
MOV MGAO,A
RET
;-------------------------------------------------------------------------------
;子程序名称:STARTDPTR().
;功能:选择移动图案首地址的位置
;输入:R2.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
STARTDPTR:
CJNE R2,#2H,STARTDPTR1
MOV DPTR,#TAB22_
AJMP STARTDPTREND
STARTDPTR1:
CJNE R2,#5H,STARTDPTREND
MOV DPTR,#TAB42_
STARTDPTREND:
RET
;-------------------------------------------------------------------------------
;子程序名称ONG().
;功能:选择移动图案的长度及显示长度
;输入:R2.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
LONG: ;
CJNE R2,#2H,LONG1
MOV COMR3,#04H
MOV COMR1,#0D0H
AJMP LONGEND
LONG1:
CJNE R2,#5H,LONGEND
MOV COMR3,#06H
MOV COMR1,#0E0H
LONGEND:
RET
;-------------------------------------------------------------------------------
;子程序名称:ADDWEEK().
;功能:画面二中有静止的星期显示
;输入:.
;输出:.
;影响:.
;-------------------------------------------------------------------------------
ADDWEEK:
CJNE R1,#0E0H,ADDWEEK1
AJMP ADDWEEKEND
ADDWEEK1:
MOV A,WEEK
DEC A
MOV DPTR,#ADDWEEK2
MOV B,#05H
MUL AB ;
JMP @A+DPTR ;
ADDWEEK2:
MOV DPTR,#TAB22_W1 ;
AJMP ADDWEEK3 ;
MOV DPTR,#TAB22_W2 ;
AJMP ADDWEEK3 ;
MOV DPTR,#TAB22_W3 ;
AJMP ADDWEEK3 ;
MOV DPTR,#TAB22_W4 ;
AJMP ADDWEEK3 ;
MOV DPTR,#TAB22_W5 ;
AJMP ADDWEEK3 ;
MOV DPTR,#TAB22_W6 ;
AJMP ADDWEEK3 ;
MOV DPTR,#TAB22_W7 ;
AJMP ADDWEEK3 ;
ADDWEEK3:
MOV A,#00H
MOVC A,@A+DPTR
CJNE A,#0BBH,ADDWEEK4
AJMP ADDWEEKEND
ADDWEEK4:
MOV @R1,A
INC R1
INC DPTR
AJMP ADDWEEK3
ADDWEEKEND:
RET
;-------------------------------------------------------------------------------
;子程序名称:TAKE().
;功能:移动图案变量首地址赋值
;输入:R2,R3.
;输出:.
;影响:
;-------------------------------------------------------------------------------
TAKE:
CJNE R3,#4H,TAKE1
MOV DPTR,#TDPTR42
AJMP TAKE3
TAKE1:
CJNE R2,#2,TAKE2
MOV DPTR,#TDPTR22_
AJMP TAKE3
TAKE2:
CJNE R2,#5,TAKE2
MOV DPTR,#TDPTR32
AJMP TAKE3
TAKE3:
MOV B,#05H ;
MUL AB ;
JMP @A+DPTR ;
TDPTR22_: ;画面二数字查表
MOV DPTR,#TAB22_0 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB22_1 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB22_2 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB22_3 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB22_4 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB22_5 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB22_6 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB22_7 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB22_8 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB22_9 ;
AJMP TAKEDEND ;
TDPTR32: ;画面四数字查表
MOV DPTR,#TAB42_0 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_1 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_2 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_3 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_4 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_5 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_6 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_7 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_8 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_9 ;
AJMP TAKEDEND ;
TDPTR42:
;画面四星期查表
MOV DPTR,#TAB42_W0 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_W1 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_W2 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_W3 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_W4 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_W5 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_W6 ;
AJMP TAKEDEND ;
MOV DPTR,#TAB42_W7 ;
AJMP TAKEDEND ;
TAKEDEND:
RET
;-------------------------------------------------------------------------------
;###############################################################################
;###############################点阵屏显示子程序################################
;###############################################################################
;-------------------------------------------------------------------------------
;子程序名称ISPLAY().
;功能:点阵屏显示子程序
;输入:RAM(060H-09FH).
;输出:无.
;影响:20H,21H,22H,23H,24H,25H,A.
;-------------------------------------------------------------------------------
DISPLAY:
CLR SH ;移位时钟清零
CLR ST ;锁存始终清零
MOV YPOS1,#080H ;纵行移动赋值'10000000b'
MOV YPOS2,#00H ;
MOV YPOS3,#00H ;
MOV YPOS4,#00H ;
MOV R0,#060H ;显存起始地址
DISAGAIN: ;
CALL DISY ;纵行显示程序调用
MOV A,@R0 ;RAM中的值A
CALL DISX ;横行显示调整程序调用
CALL DISOUT ;把A中的值送到数据线DAT上
INC R0 ;RAM地址加1
MOV A,@R0 ;
CALL DISX ;
CALL DISOUT ;
INC R0 ;
MOV A,YPOS1 ;
CALL DISOUT ;
MOV A,YPOS2 ;
CALL DISOUT ;
MOV A,YPOS3 ;
CALL DISOUT ;
MOV A,YPOS4 ;
CALL DISOUT ;
SETB ST ;
CLR ST ;
JB YPOS1.7,DISEND ;判断整个显存内容是否已经显示完成
AJMP DISAGAIN ;
DISEND:
MOV A,#00H ;再次给送显示数据,消除屏幕最后一列过于亮的BUG
CALL DISOUT
MOV A,#00H
CALL DISOUT
MOV A,#80H
CALL DISOUT
MOV A,#00H
CALL DISOUT
MOV A,#00H
CALL DISOUT
MOV A,#000H
CALL DISOUT
SETB ST ;
CLR ST ;
MOV R0,#060H
RET
;-------------------------------------------------------------------------------
;子程序名称ISY().
;功能:纵行显示程序子程序(每次只能显示一纵行)
;输入:21H,22H,23H,24H.
;输出:21H,22H,23H,24H.
;影响:21H,22H,23H,24H,,A.
;-------------------------------------------------------------------------------
DISY:
MOV A,YPOS1 ;
RLC A ;把21H大高位'1'给'C'
MOV A,YPOS4 ;
RLC A ;把上面从21H中取出的高位(C)给24H的首位
MOV YPOS4,A ;
MOV A,YPOS3 ;
RLC A ;
MOV YPOS3,A ;
MOV A,YPOS2 ;
RLC A ;
MOV YPOS2,A ;
MOV A,YPOS1 ;
RLC A ;
MOV YPOS1,A ;首次运行本子程序后个寄存器的值为:21H(00000000B),22H(00000000B),23H(00000000B),24H(00000001B)
RET
;-------------------------------------------------------------------------------
;子程序名称ISX(A).
;功能:横行显示调整程序(电路设计时为了方便,用程序调整锁存器引脚对应的横行)
;输入:A.
;输出:A.
;影响:20H(可位寻址去第一个寄存器),A.
;-------------------------------------------------------------------------------
DISX:
RLC A
MOV 04H,C
RLC A
MOV 05H,C
RLC A
MOV 03H,C
RLC A
MOV 00H,C
RLC A
MOV 02H,C
RLC A
MOV 01H,C
RLC A
MOV 06H,C
RLC A
MOV 07H,C
MOV A,XPOS
RET
;-------------------------------------------------------------------------------
;子程序名称ISOUT().
;功能:把A中的值送到数据线DAT上
;输入:A.
;输出:无.
;影响:A,25H.
;-------------------------------------------------------------------------------
DISOUT:
CLR SH
MOV LP8,#08H
DISOUT1:
RLC A
MOV DAT,C
SETB SH
CLR SH
DJNZ LP8,DISOUT1
RET
;-------------------------------------------------------------------------------
;子程序名称:TIME0().
;功能:定时器0中断程序
;输入:.
;输出:无.
;影响:.
;-------------------------------------------------------------------------------
TIME0:
PUSH PSW
PUSH A
MOV TH0,#03CH
MOV TL0,#0B0H
INC R4
CJNE R4,#14H,TIME01
MOV R4,#00H
INC SEC
MOV A,SEC
DA A
MOV SEC,A
TIME01:
POP A
POP PSW
RETI
;-------------------------------------------------------------------------------
;###############################################################################
;##################################数据表格#####################################
;###############################################################################
;-------------------------------------------------------------------------------
;画面一
;-------------------------------------------------------------------------------
;画面一中的时间变量
TAB11_0:
DB 03FH,0FCH,03FH,0FCH,030H,00CH,030H,00CH,03FH,0FCH,03FH,0FCH,0BBH;0
TAB11_1:
DB 000H,000H,000H,000H,000H,000H,000H,000H,03FH,0FCH,03FH,0FCH,0BBH;1
TAB11_2:
DB 031H,0FCH,031H,0FCH,031H,08CH,031H,08CH,03FH,08CH,03FH,08CH,0BBH;2
TAB11_3:
DB 031H,08CH,031H,08CH,031H,08CH,031H,08CH,03FH,0FCH,03FH,0FCH,0BBH;3
TAB11_4:
DB 03FH,080H,03FH,080H,001H,080H,001H,080H,03FH,0FCH,03FH,0FCH,0BBH;4
TAB11_5:
DB 03FH,08CH,03FH,08CH,031H,08CH,031H,08CH,031H,0FCH,031H,0FCH,0BBH;5
TAB11_6:
DB 03FH,0FCH,03FH,0FCH,031H,08CH,031H,08CH,031H,0FCH,031H,0FCH,0BBH;6
TAB11_7:
DB 030H,000H,030H,000H,030H,000H,030H,000H,03FH,0FCH,03FH,0FCH,0BBH;7
TAB11_8:
DB 03FH,0FCH,03FH,0FCH,031H,08CH,031H,08CH,03FH,0FCH,03FH,0FCH,0BBH;8
TAB11_9:
DB 03FH,08CH,03FH,08CH,031H,08CH,031H,08CH,03FH,0FCH,03FH,0FCH,0BBH;9
;-------------------------------------------------------------------------------
;画面二
;-------------------------------------------------------------------------------
;画面二中的时间变量1及画面三中的温度变量数字
TAB21_0:
DB 000H,07FH,000H,041H,000H,041H,000H,07FH,0BBH;0
TAB21_1:
DB 000H,000H,000H,000H,000H,000H,000H,07FH,0BBH;1
TAB21_2:
DB 000H,04FH,000H,049H,000H,049H,000H,079H,0BBH;2
TAB21_3:
DB 000H,049H,000H,049H,000H,049H,000H,07FH,0BBH;3
TAB21_4:
DB 000H,078H,000H,008H,000H,008H,000H,07FH,0BBH;4
TAB21_5:
DB 000H,079H,000H,049H,000H,049H,000H,04FH,0BBH;5
TAB21_6:
DB 000H,07FH,000H,049H,000H,049H,000H,04FH,0BBH;6
TAB21_7:
DB 000H,040H,000H,040H,000H,040H,000H,07FH,0BBH;7
TAB21_8:
DB 000H,07FH,000H,049H,000H,049H,000H,07FH,0BBH;8
TAB21_9:
DB 000H,079H,000H,049H,000H,049H,000H,07FH,0BBH;9
;-------------------------------------------------------------------------------
;画面二中的时间变量2
TAB21_0_:
DB 000H,01FH,000H,011H,000H,01FH,0BBH;0
TAB21_1_:
DB 000H,000H,000H,000H,000H,01FH,0BBH;1
TAB21_2_:
DB 000H,017H,000H,015H,000H,01DH,0BBH;2
TAB21_3_:
DB 000H,015H,000H,015H,000H,01FH,0BBH;3
TAB21_4_:
DB 000H,01CH,000H,004H,000H,01FH,0BBH;4
TAB21_5_:
DB 000H,01DH,000H,015H,000H,017H,0BBH;5
TAB21_6_:
DB 000H,01FH,000H,015H,000H,017H,0BBH;6
TAB21_7_:
DB 000H,010H,000H,010H,000H,01FH,0BBH;7
TAB21_8_:
DB 000H,01FH,000H,015H,000H,01FH,0BBH;8
TAB21_9_:
DB 000H,01DH,000H,015H,000H,01FH,0BBH;9
;-------------------------------------------------------------------------------
;画面二中移动字幕
TAB22_:
DB 063H,000H,085H,000H,089H,000H,091H,000H,061H,000H,000H,000H
DB 07EH,000H,081H,000H,081H,000H,081H,000H,07EH,000H,000H,000H;20
DB 0EEH
DB 000H,000H,010H,000H,010H,000H,010H,000H,010H,000H,010H
DB 000H,000H,000H ;-
DB 0EEH
DB 000H,000H,010H,000H,010H,000H,010H,000H,010H,000H,010H
DB 000H,000H,000H ;-
DB 0EEH
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0EEH;______
;-------------------------------------------------------------------------------
;画面二中的移动数字变量
TAB22_0:
DB 07EH,000H,081H,000H,081H,000H,081H,000H,07EH,000H,000H,000H,0BBH;0
TAB22_1:
DB 000H,000H,041H,000H,0FFH,000H,001H,000H,000H,000H,000H,000H,0BBH;1
TAB22_2:
DB 063H,000H,085H,000H,089H,000H,091H,000H,061H,000H,000H,000H,0BBH;2
TAB22_3:
DB 042H,000H,081H,000H,091H,000H,091H,000H,06EH,000H,000H,000H,0BBH;3
TAB22_4:
DB 000H,000H,034H,000H,044H,000H,0FFH,000H,004H,000H,000H,000H,0BBH;4
TAB22_5:
DB 0F2H,000H,091H,000H,091H,000H,091H,000H,08EH,000H,000H,000H,0BBH;5
TAB22_6:
DB 07EH,000H,091H,000H,091H,000H,0D1H,000H,00EH,000H,000H,000H,0BBH;6
TAB22_7:
DB 080H,000H,080H,000H,08FH,000H,0B0H,000H,0C0H,000H,000H,000H,0BBH;7
TAB22_8:
DB 076H,000H,089H,000H,089H,000H,089H,000H,076H,000H,000H,000H,0BBH;8
TAB22_9:
DB 070H,000H,08BH,000H,089H,000H,089H,000H,07EH,000H,000H,000H,0BBH;9
;-------------------------------------------------------------------------------
;画面二中的星期变量
TAB22_W1:
DB 000H,000H,000H,000H,000H,000H,020H,080H,07FH,080H,000H,080H,000H,000H,000H,000H,0BBH;1
TAB22_W2:
DB 000H,000H,000H,000H,021H,080H,042H,080H,044H,080H,048H,080H,030H,080H,000H,000H,0BBH;2
TAB22_W3:
DB 000H,000H,000H,000H,040H,080H,048H,080H,048H,080H,048H,080H,037H,000H,000H,000H,0BBH;3
TAB22_W4:
DB 000H,000H,000H,000H,006H,000H,01AH,000H,022H,000H,07FH,080H,002H,000H,000H,000H,0BBH;4
TAB22_W5:
DB 000H,000H,000H,000H,078H,080H,048H,080H,048H,080H,048H,080H,04FH,080H,000H,000H,0BBH;5
TAB22_W6:
DB 000H,000H,000H,000H,07FH,080H,048H,080H,048H,080H,048H,080H,06FH,080H,000H,000H,0BBH;6
TAB22_W7:
DB 000H,000H,000H,000H,07FH,080H,048H,080H,048H,080H,048H,080H,07FH,080H,000H,000H,0BBH;日
;-------------------------------------------------------------------------------
;画面三
;-------------------------------------------------------------------------------
;画面三中的时间变量
TAB31_0:
DB 07FH,000H,041H,000H,041H,000H,07FH,000H,0BBH;0
TAB31_1:
DB 000H,000H,000H,000H,000H,000H,07FH,000H 0BBH;1
TAB31_2:
DB 04FH,000H,049H,000H,049H,000H,079H,000H,0BBH;2
TAB31_3:
DB 049H,000H,049H,000H,049H,000H,07FH,000H 0BBH;3
TAB31_4:
DB 078H,000H,008H,000H,008H,000H,07FH,000H,0BBH;4
TAB31_5:
DB 079H,000H,049H,000H,049H,000H,04FH,000H 0BBH;5
TAB31_6:
DB 07FH,000H,049H,000H,049H,000H,04FH,000H,0BBH;6
TAB31_7:
DB 040H,000H,040H,000H,040H,000H,07FH,000H 0BBH;7
TAB31_8:
DB 07FH,000H,049H,000H,049H,000H,07FH,000H,0BBH;8
TAB31_9:
DB 079H,000H,049H,000H,049H,000H,07FH,000H,0BBH;9
;-------------------------------------------------------------------------------
;画面三中的温度符号
TAB32_C:
DB 000H,000H,000H,060H,000H,01CH,000H,022H,000H
DB 041H,000H,041H,000H,022H,000H,000H,000H,000H;C
DB 0BBH
;-------------------------------------------------------------------------------
;画面四
;-------------------------------------------------------------------------------
;画面四中的时间
TAB41_0:
DB 0F8H,000H,088H,000H,0F8H,000H,0BBH;0
TAB41_1:
DB 000H,000H,000H,000H,0F8H,000H,0BBH;1
TAB41_2:
DB 0B8H,000H,0A8H,000H,0E8H,000H,0BBH;2
TAB41_3:
DB 0A8H,000H,0A8H,000H,0F8H,000H,0BBH;3
TAB41_4:
DB 0E0H,000H,020H,000H,0F8H,000H,0BBH;4
TAB41_5:
DB 0E8H,000H,0A8H,000H,0B8H,000H,0BBH;5
TAB41_6:
DB 0F8H,000H,0A8H,000H,0B8H,000H,0BBH;6
TAB41_7:
DB 080H,000H,080H,000H,0F8H,000H,0BBH;7
TAB41_8:
DB 0F8H,000H,0A8H,000H,0F8H,000H,0BBH;8
TAB41_9:
DB 0E8H,000H,0A8H,000H,0F8H,000H,0BBH;9
;-------------------------------------------------------------------------------
;画面四中的移动字幕
TAB42_:
DB 000H,040H,000H,040H,000H,090H,001H,010H,002H,090H,004H,071H,002H,016H,001H,018H
DB 000H,080H,000H,040H,000H,040H,000H,000H,000H,041H,004H,041H,004H,042H,004H,044H
DB 004H,058H,007H,0E0H,004H,058H,004H,044H,004H,042H,004H,041H,000H,041H,000H,000H
DB 000H,011H,000H,012H,000H,01CH,007H,0D4H,005H,052H,005H,05FH,005H,055H,005H,055H
DB 007H,0D5H,000H,015H,000H,011H,000H,000H,000H,0C6H,001H,00AH,001H,012H,001H,022H
DB 000H,0C2H,000H,000H,000H,0FCH,001H,002H,001H,002H,001H,002H,000H,0FCH,000H,000H;今天是20
DB 0EEH
DB 000H,088H,001H,008H,006H,078H,002H,048H,002H,048H,003H,0FFH,002H,048H,002H,048H
DB 002H,048H,002H,008H,000H,000H,000H,000H ;年
DB 0EEH
DB 000H,000H,000H,001H,000H,002H,007H,0FCH,004H,090H,004H,090H,004H,091H,004H,091H
DB 007H,0FFH,000H,000H,000H,000H,000H,000H ;月
DB 0EEH
DB 000H,000H,000H,000H,007H,0FFH,004H,042H,004H,042H,004H,042H,004H,042H,004H,042H
DB 004H,042H,007H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,005H,000H,009H,007H,0F5H,005H,055H,005H,055H,005H,07FH,005H,055H,005H,055H
DB 005H,055H,007H,0D5H,000H,001H,000H,000H,002H,009H,007H,0FAH,002H,0ACH,002H,0A8H
DB 007H,0FCH,002H,00AH,000H,001H,007H,0FEH,004H,090H,004H,091H,007H,0FFH,000H,000H
DB 000H,000H ;日 星期
DB 0EEH
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,004H,08FH,002H,070H,000H,001H,000H,01FH
DB 007H,0D1H,005H,05FH,005H,051H,005H,05FH,005H,051H,007H,0DFH,000H,001H,000H,000H
DB 000H,003H,003H,0FCH,002H,081H,002H,089H,003H,0E9H,002H,0AEH,006H,0AAH,002H,0AEH
DB 003H,0E9H,002H,089H,002H,081H,000H,000H ; 温度
DB 0EEH
DB 000H,000H,007H,000H,005H,000H,007H,000H,000H,000H,001H,0FCH,002H,002H,002H,002H
DB 002H,002H,002H,002H,001H,084H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H;C
DB 0EEH
;-------------------------------------------------------------------------------
;画面四中的移动数字变量
TAB42_0:
DB 000H,0FCH,001H,002H,001H,002H,001H,002H,000H,0FCH,000H,000H,0BBH;0
TAB42_1:
DB 000H,000H,000H,082H,001H,0FEH,000H,002H,000H,000H,000H,000H,0BBH;1
TAB42_2:
DB 000H,0C6H,001H,00AH,001H,012H,001H,022H,000H,0C2H,000H,000H,0BBH;2
TAB42_3:
DB 000H,084H,001H,002H,001H,022H,001H,022H,000H,0DCH,000H,000H,0BBH;3
TAB42_4:
DB 000H,010H,000H,068H,000H,088H,001H,0FEH,000H,00AH,000H,000H,0BBH;4
TAB42_5:
DB 001H,0E4H,001H,022H,001H,022H,001H,022H,001H,01CH,000H,000H,0BBH;5
TAB42_6:
DB 000H,0FCH,001H,022H,001H,022H,001H,0A2H,000H,01CH,000H,000H,0BBH;6
TAB42_7:
DB 001H,080H,001H,000H,001H,03EH,001H,0C0H,001H,000H,000H,000H,0BBH;7
TAB42_8:
DB 000H,0DCH,001H,022H,001H,022H,001H,022H,000H,0DCH,000H,000H,0BBH;8
TAB42_9:
DB 000H,0E0H,001H,016H,001H,012H,001H,012H,000H,0FCH,000H,000H,0BBH;9
;-------------------------------------------------------------------------------
;画面四中的星期变量
TAB42_W0:
DB 0BBH
TAB42_W1:
DB 000H,020H,000H,020H,000H,020H,000H,020H,000H,020H,000H,020H,000H,020H,000H,020H
DB 000H,020H,000H,060H,000H,020H,000H,000H ;一
DB 0BBH
TAB42_W2:
DB 000H,002H,001H,002H,001H,002H,001H,002H,001H,002H,001H,002H,001H,002H,001H,002H
DB 003H,002H,001H,002H,000H,002H,000H,000H ;二
DB 0BBH
TAB42_W3:
DB 000H,001H,002H,001H,002H,001H,002H,021H,002H,021H,002H,021H,002H,021H,002H,021H
DB 006H,021H,002H,003H,000H,001H,000H,000H ;三
DB 0BBH
TAB42_W4:
DB 000H,000H,007H,0FFH,004H,00AH,004H,012H,007H,0E2H,004H,002H,004H,002H,007H,0FAH
DB 004H,00AH,004H,00AH,007H,0FFH,000H,000H ;四
DB 0BBH
TAB42_W5:
DB 000H,001H,004H,041H,004H,041H,004H,04FH,007H,0F1H,004H,041H,004H,041H,004H,041H
DB 004H,07FH,004H,001H,000H,001H,000H,000H ;五
DB 0BBH
TAB42_W6:
DB 000H,081H,000H,082H,000H,08CH,000H,0B0H,004H,080H,003H,080H,000H,0A0H,000H,090H
DB 000H,08CH,000H,083H,000H,080H,000H,000H ;六
DB 0BBH
TAB42_W7:
DB 000H,000H,000H,000H,007H,0FFH,004H,042H,004H,042H,004H,042H,004H,042H,004H,042H
DB 004H,042H,007H,0FFH,000H,000H,000H,000H ;日
DB 0BBH
END转载
|