新闻中心

EEPW首页>嵌入式系统>设计应用> 利用AT89C2051制作的6位电子钟

利用AT89C2051制作的6位电子钟

作者: 时间:2011-12-06 来源:网络 收藏

;按下时间大于0.5秒转调小时状态

MOV R0,#77H ;按下时间小于0.5秒加1分钟操作

LCALL ADD1 ;调用加1子程序

MOV A,R3 ;取调整单元数据

CLR C ;清进位标志

CJNE A,#60H,HHH ;调整单元数据与60比较

HHH: JC SET4 ;调整单元数据小于60转SET4循环

LCALL CLR0 ;调整单元数据大于或等于60时清0

CLR C ;清进位标志

AJMP SET4 ;跳转到SET4循环

CLOSEDIS:

SETB ET0 ;省电(LED不显示)状态。开T0中断

SETB TR0 ;开启T0定时器(开时钟)

CLOSE: JB P3.7,CLOSE ;无按键按下,等待。

LCALL DISPLAY ;有键按下,调显示子程序延时削抖

JB P3.7,CLOSE ;是干扰返回CLOSE等待

WAITH: JNB P3.7,WAITH;等待键释放

LJMP START1 ;返回主程序(LED数据显示亮)

SETHH: CLR 00H ;分闪烁标志清除(进入调小时状态)

SETHH1: JNB P3.7,SET5 ;等待键释放

SETB 01H ;小时调整标志置1

SET6: JB P3.7,SET7 ;等待按键按下

LCALL DL05S ;有键按下延时0.5秒

JNB P3.7,SETOUT ;按下时间大于0.5秒退出时间调整

MOV R0,#79H ;按下时间小于0.5秒加1小时操作

LCALL ADD1 ;调加1子程序

MOV A,R3

CLR C

CJNE A,#24H,HOUU ;计时单元数据与24比较

HOUU: JC SET6 ;小于24转SET6循环

LCALL CLR0 ;大于或等于24时清0操作

AJMP SET6 ;跳转到SET6循环

SETOUT: JNB P3.7,SETOUT1 ;调时退出程序。等待键释放

LCALL DISPLAY ;延时削抖

JNB P3.7,SETOUT ;是抖动,返回SETOUT再等待

CLR 01H ;清调小时标志

CLR 00H ;清调分标志



评论


相关推荐

技术专区

关闭