文档详情

毕业设计(论文)单片机电子时钟程序.doc

发布:2017-09-16约1.13万字共13页下载文档
文本预览下载声明
单片机电子时钟参考程序 ;60H--67H:显示缓冲区 ;T0用于产生秒信号,定时器溢出20次为1秒,溢出次数存放单元:53H ;5DH单元存放功能键按键次数,(0--2)(K1键) ;5CH单元存放时间或日期修改位置的按键次数(K2键) ;40H--45H单元存放秒、分、时、日、月、年 ;5EH单元存放按键键码 ORG 0000h LJMP START ORG 000BH LJMP ITT0 ORG 0013H LJMP KEY ORG 001BH LJMP T1TIM ORG 0030H START: MOV SP,#30H ;设置堆栈首地址 MOV DPTR,#0E001H ;8279命令口地址 MOV A,#0DCH ;清显示RAM MOVX @DPTR,A LCALL DELAY100MS MOV A,#34H ;设置8279分频系数 MOVX @DPTR,A MOV A,#10H ;设置按键及显示方式 MOVX @DPTR,A MOV A,#90H ;允许写显示RAM MOVX @DPTR,A MOV A,#40H MOVX @DPTR,A LCALL CHECK1 ;调自检程序 LCALL ORANGE ;调初始化程序,有时间的初值、按键计数器的初值 ;年月日的初值,显示时间的初值 LCALL DISP ;调显示子程序 MOV TMOD,#11H ;设置T0定时器工作方式及初值 MOV TH0,#3CH MOV TL0,#0B0H SETB ET0 ;开T0、T1、8279按键中断,启动定时器T0 SETB TR0 SETB EX1 SETB T1 SETB ET1 SETB EA LOOP: LCALL ABC SJMP LOOP ; ABC: MOV A,5DH CJNE A,#0,ABC1 ;如果K1键标志为非0,则可以修改日期和时间 SETB TR0 ;如果K1键标志为0,则不能修改日期和时间 SETB ET0 ;开启定时器T0 LCALL FLASH ;正常显示时间 LJMP ABC4 ABC1: CJNE A,#1,ABC2 ;若K1键标志为1,允许修改时间 MOV A,5CH CJNE A,#0,ABC11 ;若K2键标志为0,则小时位闪动,且允许修改 MOV 60H,#0FFH ;修改“小时”位并闪动 MOV 61H,#0FFH LCALL DISP LCALL M1S MOV A,42H LCALL BCD8 MOV 60H,3DH MOV 61H,3EH LCALL DISP LJMP ABC3 ABC11: CJNE A,#1,ABC12 ;若K2键标志为1,则月闪动,且允许修改 MOV 63H,#0FFH ;修改“分”位并闪动 MOV 64H,#0FFH LCALL DISP LCALL M1S MOV A,41H LCALL BCD8 MOV 63H,3DH MOV 64H,3EH LCALL DISP LJMP ABC3 ABC12: MOV 66H,#0FFH ;若K2键标志为2,则秒闪动,且允许修改 MOV 67H,#
显示全部
相似文档