下时进入此程序ET0TR0DL1SR206H
调用1秒延时程序进入调时状态,赋闪烁定时初值允许T1中断开启定时器T1
P37CLOSEDIS键按下时间小于1秒,关闭显示
SETBET1SETBTR1SET21SET4JBLCALLJNBMOVLCALLMOVJNBSETB00H
P37SET1P37口为0(键未释放),等待键释放,分调整闪烁标志置等待键按下有键按下,延时05秒按下时间小于05秒加1分钟操作调用加1子程序取调整单元数据
16
P37SET3DL05SR077HADD1AR3
P37SETHH按下时间大于05秒转调小时状态
fEDA设计实验
CLRHHHJCCLRAJMPCLOSEDISCLOSESETBSETBJBJBWAITHSETHHSETHH1SET6JNBLJMPCLRJNBSETBJBLCALLJNBMOVLCALLMOVCLRHOUUJCLCALLAJMPSETOUTJNBLCALLJNBET0TR0SET4C
C
清进位标志调整单元数据与60比较调整单元数据小于60转SET4循环清进位标志
CJNEA60HHHHLCALL
CLR0调整单元数据大于或等于60时清0SET4跳转到SET4循环省电状态。开T0中断开启T0定时器(开时钟)无按键按下,等待。有键按下,延时削抖是干扰返回CLOSE等待等待键释放返回主程序(LED显示亮)分闪烁标志清除等待键释放小时调整标志置1等待按键按下有键按下延时05秒按下时间小于05秒加1小时操作调加1子程序计时单元数据与24比较小于24转SET6循环大于或等于24时清0操作跳转到SET6循环延时削抖01HP37SET7DL05SR079HADD1AR3CSET6CLR0SET6DISPLAY
P37CLOSEP37CLOSEP37WAITHSTART100HP37SET5
LCALLDISPLAY
P37SETOUT按下时间大于05秒退出时间调整
CJNEA24HHOUU
P37SETOUT1调时退出程序。等待键释放P37SETOUT是抖动,返回SETOUT再等待
17
fEDA设计实验
CLRCLRCLRCLRCLRSETBSETBSET1SET3SET5SET7SETOUT1LCALLAJMPLCALLAJMPLCALLAJMPLCALLAJMPLCALLAJMP显示程序DISPLAYMOVMOVPLAYMOVMOVMOVMOVMOVCMOVLCALLINC
01H00H02HTR1ET1TR0ET0
清调小时标志清调分标志清闪烁标志关闭定时器T1关定时器T1中断开启定时器T0开定时器T0中断(计时开始)跳回主程序防止键按下时无时钟显示
LJMPSTART1SET2SET4
DISPLAY键释放等待时调用显示程序(调分)DISPLAY等待调分按键时时钟显示用DISPLAY等待时调用显示程序(调小时)SETHH1DISPLAYSET6DISPLAYSETOUT退出时钟调整时键释放等待防止键按下时无时钟显示R170HR50FEHAR5P3AAR1DPTRTABAADPTRP1ADL1MSR1
18
防止键按下时无时钟显示等待调小时按键时时钟显示用
扫描控制,每个LED数码管亮1MS时间再逐位循环。指向显示数据首址扫描控制字初值扫描字放入A从P3口输出取显示数据到A取段码表地址查显示数据对应段码r