闲来无事,把以前做的一块16*32的点阵屏做万年历玩玩。嘿嘿!
手头现在没有照相机,不能让大家看到实物。
本点阵显示年、月、日、星期、阴历、温度,并且时间可调!
嘿嘿,这几天比较忙,温度功能还没加进去,但细心看程序,可发现温度功能非常容易添加,程序中已经定义温度变量ram 37h 38h。
按键功能也没有添加!但比起整个工程,按键和温度的程序显得有点九牛一毛!
回头完成整个工程,拍照上传。
pcb与汇编程序ourdev_532437.rar(文件大小:34K) (原文件名:PCB与汇编程序.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
- ;-------------------------------------------------------------------------------
- ;###############################################################################
- ;###############################四种时间画面的赋值##############################
- ;###############################################################################
- ;-------------------------------------------------------------------------------
- ;-------------------------------------------------------------------------------
- ;子程序名称:PUTIN1().
- ;功能:画面一的RAM赋值
- ;输入:.
- ;输出:.
- ;影响:.
- ;-------------------------------------------------------------------------------
- PUTIN1:
- CALL EMPTY ;RAM写入两个空值
- MOV A,HOU ;取出时值
- CALL FIGURE ;数字写入RAM
- CALL POINT1
- MOV A,MIN ;取出分值
- CALL FIGURE ;数字写入RAM
- CALL EMPTY
- RET
- ;-------------------------------------------------------------------------------
- ;子程序名称:PUTIN2().
- ;功能:画面二的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
- ;-------------------------------------------------------------------------------
- ;子程序名称:PUTIN3().
- ;功能:画面三的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
- ;-------------------------------------------------------------------------------
- ;子程序名称:PUTIN4().
- ;功能:画面四的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#################################
- ;###############################################################################
- ;-------------------------------------------------------------------------------
- ;-------------------------------------------------------------------------------
- ;子程序名称:PUTIN22().
- ;功能:
- ;输入:.
- ;输出:.
- ;影响:.
- ;-------------------------------------------------------------------------------
- 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 ;回到本开始
- ;-------------------------------------------------------------------------------
- ;子程序名称:PUTIN22_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 ;
- ;-------------------------------------------------------------------------------
- ;子程序名称:PUTIN32().
- ;功能:画面三中温度的合成
- ;输入:.
- ;输出:.
- ;影响:.
- ;-------------------------------------------------------------------------------
- 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.
- ;影响:DPTR,R0,@R0.
- ;-------------------------------------------------------------------------------
- EMPTY:
- MOV @R0,#00H
- INC R0
- MOV @R0,#00H
- INC R0
- RET
- ;-------------------------------------------------------------------------------
- ;###############################################################################
- ;##################################时间计算#####################################
- ;###############################################################################
- ;-------------------------------------------------------------------------------
- ;-------------------------------------------------------------------------------
- ;子程序名称:PROCESS().
- ;功能:时间换算程序.
- ;输入:.
- ;输出:.
- ;影响:.
- ;-------------------------------------------------------------------------------
- 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
- ;-------------------------------------------------------------------------------
- ;###############################################################################
- ;#################################代表秒的点####################################
- ;###############################################################################
- ;-------------------------------------------------------------------------------
- ;-------------------------------------------------------------------------------
- ;子程序名称:POINT1().
- ;功能: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.
- ;影响:DPTR,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
- ;-------------------------------------------------------------------------------
- ;子程序名称:LONG().
- ;功能:选择移动图案的长度及显示长度
- ;输入: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
- ;-------------------------------------------------------------------------------
- ;###############################################################################
- ;###############################点阵屏显示子程序################################
- ;###############################################################################
- ;-------------------------------------------------------------------------------
- ;子程序名称:DISPLAY().
- ;功能:点阵屏显示子程序
- ;输入: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
- ;-------------------------------------------------------------------------------
- ;子程序名称:DISY().
- ;功能:纵行显示程序子程序(每次只能显示一纵行)
- ;输入: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
- ;-------------------------------------------------------------------------------
- ;子程序名称:DISX(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
- ;-------------------------------------------------------------------------------
- ;子程序名称:DISOUT().
- ;功能:把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
(原文件名:IMG_0723.jpg)
(原文件名:IMG_0724.jpg)
(原文件名:IMG_0725.jpg)
(原文件名:IMG_0726.jpg)
(原文件名:IMG_0727.jpg)
(原文件名:IMG_0729.jpg)
(原文件名:IMG_0730.jpg)
(原文件名:IMG_0732.jpg)
(原文件名:IMG_0733.jpg)
(原文件名:IMG_0734.jpg)
(原文件名:IMG_0736.jpg)
(原文件名:IMG_0737.jpg)
(原文件名:IMG_0738.jpg)
(原文件名:IMG_0739.jpg)
(原文件名:IMG_0740.jpg)
(原文件名:IMG_0741.jpg)
(原文件名:IMG_0742.jpg)
(原文件名:IMG_0743.jpg)
(原文件名:IMG_0744.jpg)
(原文件名:IMG_0745.jpg)
(原文件名:IMG_0746.jpg)
(原文件名:IMG_0747.jpg)
(原文件名:IMG_0748.jpg)
(原文件名:IMG_0749.jpg)
(原文件名:IMG_0751.jpg)
(原文件名:IMG_0752.jpg)
(原文件名:IMG_0753.jpg)
(原文件名:IMG_0754.jpg)
(原文件名:IMG_0755.jpg)
(原文件名:IMG_0756.jpg)
(原文件名:IMG_0757.jpg)
(原文件名:IMG_0758.jpg)
(原文件名:IMG_0759.jpg)
(原文件名:IMG_0760.jpg)
(原文件名:IMG_0762.jpg)
(原文件名:IMG_0763.jpg)
(原文件名:IMG_0764.jpg)
(原文件名:IMG_0765.jpg)
(原文件名:IMG_0766.jpg)