基于51单片机的数字钟设计_毕业设计论文(编辑修改稿)内容摘要:

CJNE R1,4,EXIT MOV R1,0 MOV 24H,00H。 调时闪烁基准清零 RET /*****增加键处理子程序 *****/ ADD_KEY: CJNE R5,02H,EXIT。 增加键键值 CJNE R1,01H,NEXT1。 选择键功能标志为 1,调时,否则跳出 MOV A,23H ADD A,01H DA A MOV 23H,A CJNE A,24H,EXIT MOV 23H,00H 电子 系统综合设计课程论文 15 NEXT1: CJNE R1,02H,NEXT2。 选择键功能标志为 2,调分,否则跳出 MOV A,22H ADD A,01H DA A MOV 22H,A CJNE A,60H,EXIT MOV 22H,00H NEXT2: CJNE R1,03H,EXIT。 选择键功能标志为 3,调秒,否则跳出 MOV 21H,00H。 如增加键按下直接清零秒 RET /*****减少键处理子程序 *****/ DEC_KEY: CJNE R5,04H,EXIT。 减少键键值 CJNE R1,01H,NEXT3。 选择键功能标志为 1,调时,否则跳出 MOV A,23H ADD A,99H DA A MOV 23H,A CJNE A,99H,EXIT MOV 23H,23H NEXT3: CJNE R1,02H,NEXT4。 选择键功能标志为 2,调分,否则跳出 MOV A,22H ADD A,99H DA A MOV 22H,A CJNE A,99H,EXIT MOV 22H,59H NEXT4: CJNE R1,03H,EXIT。 选择键功能标志为 3,调秒,否则跳出 MOV 21H,00H。 如较少键按下直接清零秒 RET 电子 系统综合设计课程论文 16 /*****万用返回子程序 *****/ EXIT: RET /*****数码管字形编码表 *****/ TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH。 字形 显示编码 TABLE1: DB 0FFH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH。 小时位的十位数编码,该位如果为 0 则不显示 //闹钟检测 MOV A,0AH JZ NAO2。 检测闹钟开关 若关检测下一个闹钟,否则检测时间是否为闹钟设定时间 MOV A,30H CJNE A,50H,NAO2 MOV A,31H CJNE A,51H,NAO2 MOV A,32H CJNE A,52H,NAO2 AJMP XIANG。 时间为闹钟 设定时间吻合 进入闹铃程序 下同 NAO2: MOV A,0BH JZ NAO3 MOV A,30H CJNE A,53H,NAO3 MOV A,31H CJNE A,54H,NAO3 MOV A,32H CJNE A,55H,NAO3 AJMP XIANG NAO3: MOV A,0CH JZ NAO4 MOV A,30H 电子 系统综合设计课程论文 17 CJNE A,56H,NAO4 MOV A,31H CJNE A,57H,NAO4 MOV A,32H CJNE A,58H,NAO4 AJMP XIANG NAO4: MOV A,0DH JZ NAO5 MOV A,30H CJNE A,59H,NAO5 MOV A,31H CJNE A,5AH,NAO5 MOV A,32H CJNE A,5BH,NAO5 AJMP XIANG NAO5: MOV A,0EH JZ BU MOV A,30H CJNE A,5CH,BU MOV A,31H CJNE A,5DH,BU MOV A,32H CJNE A,5EH,BU AJMP XIANG //检测独立按键 BU: JB T0,ZHU1。 检测 s19 是否按下 按下进入万年历 界面,否则检测矩阵键盘 MOV A,3AH。 界面转换标志取反即可使得时间和万年历界面相互转换 CPL A MOV 3AH,A //检测矩阵键盘 //检测到按键 1,2,3,4,5 时进入对应的闹钟设置界面 检测到 0BH(对应 s11)进入时间设置界面 检测到 0CH(对应 s12)进入万年历设置界面 //若未检测到按键 则跳回主程序继续下一个检测周期 电子 系统综合设计课程论文 18 ZHU1: MOV R7,0FH ACALL JIANCEANJIAN。 矩阵键盘检测子程序 将检测到的键值存入 r7 CJNE R7,0FH,ZHU2 AJMP ZHUXUNHUAN ZHU2: CJNE R7,0BH,ZHU3 AJMP SHIJIANSHEZHI ZHU3: CJNE R7,0CH,ZHU4 AJMP WANNIANLISHEZHI ZHU4: CJNE R7,01H,ZHU5 AJMP NAOZHONGSHEZHI ZHU5: CJNE R7,02H,ZHU6 AJMP NAOZHONGSHEZHI ZHU6: CJNE R7,03H,ZHU7 AJMP NAOZHONGSHEZHI ZHU7: CJNE R7,04H,ZHU8 AJMP NAOZHONGSHEZHI ZHU8: CJNE R7,05H,ZHUXUNHUAN0 AJMP NAOZHONGSHEZHI ZHUXUNHUAN0: AJMP ZHUXUNHUAN //年月日校正子程序 用于万年历进位和万年历设置 防止出现不存在的时间 NYR: MOV A,33H CJNE A,32,MONTH。 日为 32 时,月进位日置 1 MOV 33H,01H AJMP MONTH0 MONTH: 电子 系统综合设计课程论文 19 CJNE A,31,MONTH1。 日为 31 时 分辨大小月及 2 月 MOV A,34H CJNE A,4,MONTH2 MOV 33H,01H AJMP MONTH0 MONTH2: CJNE A,2,MONTH6 MOV 33H,01H AJMP MONTH0 MONTH6: CJNE A,6,MONTH9 MOV 33H,01H AJMP MONTH0 MONTH9: CJNE A,9,MONTH11 MOV 33H,01H AJMP MONTH0 MONTH11: CJNE A,11,RETURN0 MOV 33H,01H AJMP MONTH0 MONTH1: CJNE A,30,MONTH29。 日为 30 时分辨 2 月 MOV A,34H CJNE A,02H,RETURN0 MOV 33H,01H AJMP MONTH0 MONTH29: CJNE A,29,RETURN0。 日为 29 时分辨闰平年 2 月 MOV A,34H CJNE A,02H,RETURN0 MOV A,35H MOV B,04H DIV AB MOV A,B 电子 系统综合设计课程论文 20 JNZ MONO AJMP RETURN0 MONO: MOV 33H,01H MONTH0: MOV A,01H。 月进位 ADD A,34H MOV 34H,A CJNE A,0DH,RETURN0 MOV 34H,01H MOV A,01H ADD A,35H MOV 35H,A CJNE A,100,RETURN0。 年最多只能 99 MOV 35H,00 RETURN0: RET /******************************************************************/ //屏幕刷新中断 XIANSHI: PUSH B PUSH DPH PUSH DPL PUSH PSW PUSH ACC MOV TH1,0DFH MOV TL1,0E0H MOV A,3AH JNB ,WANNIANLI。 界面显示判断 //时间界面 MOV A,21H MOV B,0AH DIV AB MOV 10H,B MOV 11H,A 电子 系统综合设计课程论文 21 MOV A,22H MOV B,0AH DIV AB MOV 12H,B MOV 13H,A MOV A,23H MOV B,0AH DIV AB MOV 14H,B MOV 15H,A MOV 16H,0AH MOV 17H,0AH AJMP LIANG //万年历界面 WANNIANLI: JNB ,SHEZHI MOV A,33H MOV B,0。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。