电子时钟实验报告
FEN:
MOV A,MINUTE; SUBB A,37H;
JZ MIAO ;判断分是否到闹铃所定时间,若到,则对秒进行判断;若不到,则对定时进行判断 AJMP DSPDKQ MIAO: MOV A,SECOND SUBB A,#0
JZ SHENGYIN1 ;判断秒是否到闹铃所定时间,若到,则时,分,秒都到达闹铃时刻,进入响铃子程序;若不到则判断定时 AJMP DSPDKQ
RERING: ;闹铃重响判断程序
JNB F0, RE ;标志位F0为0,不进行闹铃重响设定 CPL F0
MOV 3CH,#1 ;定时判断标志位赋1, 定时判断功能开启 JNB P0.7,M1 ;闹铃重响间隔时间选取 MOV R4,#0 ;闹铃重响间隔30秒 MOV R3,#30 AJMP MAIN
M1: ;闹铃重响间隔60秒 MOV R4,#1 MOV R3,#0 AJMP MAIN
DSPDKQ: ;判断是否应该进行定时判断
MOV A,3CH ;3CH是引入的判断因子,当其为0时,不对定时时间是否到0进行判断
JNZ DSPD2 ;当3CH不是0时,跳转到定时判断程序
13
电子时钟实验报告
AJMP MAIN DSPD2: MOV A,R4;
JZ S_PD ;R4所存定时分数为0,则转而判断R3所存定时秒数 AJMP MAIN; S_PD: MOV A,R3;
JNZ MAIN ;R4,R3JNB P0.6,SHENGYIN2 ;AJMP TISHI ;AJMP MAIN CESHI: ACALL RING AJMP MAIN
SHENGYIN1: ;LCALL RING AJMP MAIN
SHENGYIN2:
SETB F0 ;LCALL RING ;CLR F0 ;AJMP MAIN NLTZZ:
AJMP NLTZ1 ; DSTZ: 所存参数减为0, 定时长度已到 闹铃重响功能开启时,跳入响铃程序
不是闹铃重响定时,则定时时间到时,跳入提示程序 调用响铃子程序 闹铃重响标志位设定 响铃 标志位复位 跳入闹铃调整程序 14
电子时钟实验报告
AJMP DSTZ1 ;跳入定时调整程序 DATETZ:
AJMP DATETZ1 ;跳入日期调整程序
STOPWATCHTZ:
AJMP STOPWATCHTZ1 ;跳入秒表程序
B.2.4 显示子程序
8个数码管轮流进行显示,分别显示1ms,依赖人的视觉 暂留效应,给人以数码管持续高亮的错觉。该段程序如下:
DISP: ;时间显示子程序
JNB P3.7,OUT1 ;判断节能开关7是否按下,按下则数码管不显示,延长其寿命 MOV DPTR,#LEDTAB
MOV A,SECOND ;显示当前时间秒位 MOV B,#10
DIV AB ;A存十位,B存个位 MOVC A,@A+DPTR MOV P1,A CLR SEC_S
ACALL D_1MS ;显示当前时间秒十位 SETB SEC_S MOV A,B MOVC A,@A+DPTR MOV P1,A CLR SEC_G
ACALL D_1MS ;显示当前时间秒个位 SETB SEC_G
15
电子时钟实验报告
MOV A,MINUTE ;显示当前时间分位 MOV B,#10 DIV AB
MOVC A,@A+DPTR MOV P1,A CLR MIN_S ACALL D_1MS SETB MIN_S MOV A,B MOVC A,@A+DPTR MOV P1,A CLR MIN_G ACALL D_1MS SETB MIN_G
MOV A,HOUR ;MOV B,#10 DIV AB
MOV DPTR,#LEDTAB MOVC A,@A+DPTR MOV P1,A CLR HOU_S ACALL D_1MS SETB HOU_S MOV A,B MOVC A,@A+DPTR MOV P1,A CLR HOU_G ACALL D_1MS 显示当前时间时位 16