单片机多功能时钟程序设计_毕业设计(编辑修改稿)内容摘要:
A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,32H LCALL LINE1 LCALL DELAY 多功能时钟程序设计 11 MOV R0,10 LCALL LINE1 LCALL DELAY MOV A,31H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,31H LCALL LINE1 LCALL DELAY MOV R0,10 LCALL LINE1 LCALL DELAY MOV A,30H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,30H LCALL LINE1 LCALL DELAY MOV A,50H CJNE A,0FFH,LOPA MOV R0,12 LCALL LINE1 LCALL DELAY MOV R0,13 LCALL LINE1 多功能时钟程序设计 12 LCALL DELAY AJMP LOPP LOPA: MOV R0,11 LCALL LINE1 LCALL DELAY MOV R0,13 LCALL LINE1 LCALL DELAY LOPP: MOV R0,14 LCALL LINE1 LCALL DELAY MOV R0,15 LCALL LINE1 LCALL DELAY MOV R0,34H LCALL LINE1 LCALL DELAY MOV DPTR,NED MOV P7,0C0H MOV P6,1H MOV P6,0H MOV R0,11 LCALL LINE1 LCALL DELAY MOV A,42H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY 多功能时钟程序设计 13 MOV R0,42H LCALL LINE1 LCALL DELAY MOV R0,10 LCALL LINE1 LCALL DELAY MOV A,41H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,41H LCALL LINE1 LCALL DELAY MOV R0,10 LCALL LINE1 LCALL DELAY MOV A,40H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,40H LCALL LINE1 LCALL DELAY MOV A,60H CJNE A,0FFH,LOPA1 MOV R0,12 LCALL LINE1 多功能时钟程序设计 14 LCALL DELAY MOV R0,13 LCALL LINE1 LCALL DELAY LJMP LOP44 LOPA1:MOV R0,11 LCALL LINE1 LCALL DELAY MOV R0,13 LCALL LINE1 LCALL DELAY LOP44:MOV R0,14 LCALL LINE1 LCALL DELAY MOV R0,15 LCALL LINE1 LCALL DELAY MOV R0,44H LCALL LINE1 LCALL DELAY1 RET LINE1: MOV A,R0 ANL A,0FH MOVC A,@A+DPTR MOV P7,A MOV P6,05H MOV P6,04H RET 多功能时钟程序设计 15 LCD: LCALL DELAY MOV P7, 38H MOV P6, 01H MOV P6, 00H LCALL DELAY MOV P7, 0EH MOV P6, 01H MOV P6, 00H LCALL DELAY MOV P7, 06H MOV P6, 01H MOV P6, 00H LCALL DELAY MOV P7, 01H MOV P6, 01H MOV P6, 00H LCALL DELAY RET DELAY: MOV R6,50 DELAY0: MOV R5,50 DJNZ R5,$ DJNZ R6,DELAY0 RET DELAY1: MOV R4,35。 DD DELAY2: MOV R3,150 DELAY3: MOV R2,250 DJNZ R2,$ DJNZ R3,DELAY3 DJNZ R4,DELAY2 多功能时钟程序设计 16 RET NCD:DB39。 039。 ,39。 139。 ,39。 239。 ,39。 339。 ,39。 439。 ,39。 539。 ,39。 639。 ,39。 739。 ,39。 839。 ,39。 939。 ,39。 :39。 ,39。 A39。 ,39。 P39。 ,39。 M39。 ,39。 X39。 ,39。 Q39。 ,39。 39。 常数表 NED:DB39。 039。 ,39。 139。 ,39。 239。 ,39。 339。 ,39。 439。 ,39。 539。 ,39。 639。 ,39。 739。 ,39。 839。 ,39。 939。 ,39。 :39。 ,39。 A39。 ,39。 P39。 ,39。 M39。 ,39。 X39。 ,39。 Q39。 ,39。 39。 常数表 END 5 工作过程分析 时钟程序分析 在设计时分秒的程序时,首先定时 1s,然后循环 60 次,则计时 60秒,再判断是否循环 60次,没有则继续执行以完成秒的计时,若完成 60 次循环则分加一,同理当分计数满 60时,时加一,在判断是否计数满 12 次, 若完成 12次则上下午翻转,在判断是否由下午变成上午,若是则星期加 1, 以此完成时 时分秒 上下午星期 的计时 并据 此 编写程序。 (主程序未给出) T0: MOV TL0,0B0H。 定时 50ms MOV TH0,3CH DJNZ R1,X。 计时 1s MOV R1,04H LCALL ABC。 跳转到计时程序 LCALL DING。 跳转到定时程序 LCALL TIME。 跳转到显示程序 X: RETI ABC: MOV A,30H ADD A,1。 秒加 1 DA A。 做十进制调整 MOV 30H,A CJNE A,60H,Y。 是否等于 60s。 若不是,则跳至 Y MOV 30H,00H。 若是,则 30H 清零 MOV A,31H ADD A, 1。 分加 1 DA A。 做十进制调整 MOV 31H,A CJNE A,60H,Y。 是否等于 60s。 若不是,则跳至 Y MOV 31H,00H。 若是,则 31H 清零 MOV A,32H ADD A,1。 时加 1 DA A。 做十进制调整 MOV 32H,A 多功能时钟程序设计 17 CJNE A,12H,L MOV A,31H CJNE A,00H,L MOV A,30H CJNE A,00H,L。 是否为 12:00:00。 若不是,跳 L MOV A,50H CPL A MOV 50H,A。 上下午翻转 CJNE A,00H,Y MOV A,34H。 判断是否是下午变成上午,若不是,跳 Y ADD A,01H。 星期加 1 DA A MOV 34H,A CJNE A,08H,Y MOV 34H,01H L: MOV A,32H。 时钟是否为 13,若不是,跳 Y CJNE A,13H,Y MOV 32H,01H。 若是,时钟变成 1 Y:RET T0进入中断,开始时分秒 上下午星期 的计时。 最大显示为“ 11: 59: 59PMXQ7”。 定时程序分析 定时程序实则就是让时钟设定一个闹铃时间,当 系统时间与设定的时间一致时显示时间并使 LED 灯 亮。 先判断秒是否相等,不等则继续,相等则跳转到lop1 判断分,同理相等时跳转到 lop lop lop4 判断时 上下午、星期 ,当系统设定的与显示的时间都相等时跳到程序 TSR使 LED亮。 闹钟时间由 K4调整。 DING: MOV A,30H CJNE A,40H,N。 判断秒是否相等 AJMP LOP1 LOP1: MOV A,31H CJNE A,41H,N。 判断分是否相等 AJMP LOP2 LOP2: MOV A,32H CJNE A,42H,N。 判断时是否相等 AJMP LOP3 LOP3: MOV A,50H CJNE A,60H,N。 判断上下午是否相等 AJMP LOP4 LOP4: MOV A,34H CJNE A,44H,N。 判断星期是否相等 AJMP TSR 多功能时钟程序设计 18 N: RET TSR: MOV P1,00H RET KEY4: LCALL T2 LCALL TIME MOV P3IF,00H RETI T2: MOV 20H,P5。 定时程序 JNB 00H,SHI1 JNB 01。阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。