单片机多功能时钟程序毕业沈阳工程学院课程设计设计题目:多功能时钟程序设计沈阳工程学院课程设计任务书课程设计题目:多功能时钟程序设计多功能时钟程序设计成绩评定表指导教师评审意见评价内容具体要求权重评分加权分论证独立查阅文献,制定课程设计方案和日程安排。
.15 4 3 2工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作。
.25 4 3 2工作量按期圆满完成规定的设计任务,工作量饱满,.25 4 3 2说明说明书立论正确,论述充分,文字通顺,技术0 5 4 3 2的质量书写工整规范。
5指导教师评审成绩(加权分合计乘以12)分加权分合计指导教师签名:年月日评阅教师评审意见评价内容具体要求权重评分加权分查文献查阅文献有广泛性,有综合归纳资料的能力.25 4 3 2工作量工作量饱满,难度适中0.55 4 3 2说明书的质说明书立论正确,论述充分,文字通顺,技术用语准确,符号统一,书写工整规范。
.35 4 3 2系部: 班级: 学生姓名:中文摘要时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。
怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。
数字电子钟的设计方法有多种,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点,同时可以用该电子钟发出各种控制信号。
该数字钟采用液晶显示屏显示其时间与定时时间,即采用P6口输入,P7口输出,由R0输入需显示的时间,再通过延时程序将时间稳定的显示在液晶屏上。
校准时间由外部中断4及开关按键控制;定时时间由外部中断3及开关按键控制 ,KEY3、KEY4键每按一次其时分秒的数字增加一。
关键字: 单片机, 数字钟, 校时, 定时器量评阅教师评审成绩 (加权分合计乘以8) 分 加权分合计评阅教师签名:年 月 日课程设计总评成绩分目录1课程设计要求 (1)1.1设计主要内容及要求 (1)1.2对设计论文撰写内容、格式及字数的要求 (1)1.3时间进度安排 (1)2课程设计思路 (2)2.1计时 (2)2.2校时 (2)2.3闹铃 (2)3设计流程图 (3)4各模块设计 (4)4.1时钟部分 (4)时钟程序分析 (4)时钟部分程序 (4)4.2定时部分 (6)定时程序分析 (6)定时部分程序 (6)4.3校时部分 (8)校时程序分析 (8)校时部分程序 (8)4.4显示部分 (10)显示程序分析 (10)显示部分程序 (10)5工作过程分析 (16)5.1时钟程序分析 (16)5.2定时程序分析 (17)5.3校时程序分析 (19)5.4显示程序分析 (20)6主要元器件介绍 (23)6.1C8051F020单片机 (23)6.2液晶显示器 (24)总结 (26)致谢 (27)参考文献 (27)附录 (28)1.1设计主要内容及要求1)编写多功能时钟程序2)能够显示时、分、秒的时钟程序。
3)具有闹钟功能。
4)能够进行时间调整。
1.2对设计论文撰写内容、格式及字数的要求1)课程设计论文是体现和总结课程设计成果的载体,一般不应少于3000字。
2)学生应撰写时应做到文理通顺,内容正确完整,书写工整,装订整齐。
3)论文要求打印,打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求4)课程设计论文装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。
1.3时间进度安排本文主要介绍用单片机编程来实现多功能时钟的方法,本设计由单片机C8051F芯片、LED灯液晶显示屏为核心,辅以必要的程序,构成了一个单片机数字时钟。
与传统时钟相比,它具有走时精确,显示直观等特点。
它的计时周期为12小时,分上下午,显满刻度为“11时59分59秒”,然后上下午交替,另外具有校时、闹钟显示星期等功能等特点。
2.1计时当T0进入中断后,先给T0计时1s,再计时60s;当秒计数满60s后开始分的计数,同时将秒清零,否则返回程序继续执行;同理当分计数到60min,开始时的计时并共计数12次,与此同时分、秒清零。
当完成12小时的计时后,切换上下午,当从下午切换到上午时为12:00:00星期加一,加到8时再变到1,然后返回主程序继续。
2.2校时校时就是对时间进行调整,现将其赋一初值,然后将初值带入计时程序中,然后将其作为初值,计时从该值开始显示.。
其中初值的设置由外部中断KEY3和开关按键设定,K1、K2、K3、K4、K6分别控制时、分、秒、上下午、星期。
2.3闹铃定时程序实则就是让系统设定一个闹铃时间,并使LED灯在到达时间时亮。
先判断秒是否相等,不等则继续,相等则判断分,同理分相等时判断时、上下午、星期,当系统设定的秒、分、时、上下午、星期与显示的时间都相等时跳到程序TSR使LED亮。
其中初值的设置由外部中断KEY4和开关按键设定,K1、K2、K3、K4、K6分别控制时、分、秒、上下午、星期。
3设计流程图4.1➢时钟程序分析主程序主要是使各端口使能,保证各端口正常使用(主程序请参考附录)。
T0工作于定时方式1,进行16位计数。
其中秒的地址为30H,分的地址为31H,小时的地址为32H,上下午的地址是50H,星期的地址是34H。
当T0进入中断后,先给T0赋初值3CB0,定时50ms,循环20次计时1s,再跳入子程序ABC中循环60次计时60s;当秒计数满60s后开始分的计数,同时将秒清零重新计时,否则返回程序继续执行;同理当分计数到60min,程序开始时的计时并共计数12次,当计数满12次时,上下午翻转,计满13次时时针变为1,与此同时分、秒清零需重新开始计数,当从下午变成上午时,星期加1,星期计满7次变为1。
➢时钟部分程序$INCLUDE(C8051F020.INC)ORG 0000HAJMP MAINORG 000BHAJMP T0ORG 0093HLJMP KEY3ORG 009BHLJMP KEY4ORG 0100HMAIN: MOV WDTCN,#0DEH ;关看门狗MOV WDTCN,#0ADHMOV OSCICN,#05H ;内部振荡4MHzMOV P1MDOUT,#0FFH ;设置P1的输出方式MOV P74OUT, #0F0H ;端口6、端口7输出方式为推挽输出MOV CKCON,#00H ;T0定时器12分频MOV TMOD,#01H ;T0处于工作方式一,16位MOV TCON,#10H ;TR0=1,允许T0计数MOV XBR2,#40H ;交叉开关总使能MOV EIE2,#30H ;中断6、中断7使能MOV P3IF,#0CH ;中断7上升沿触发MOV 50H,#00HMOV 60H,#00HMOV TH0,#3CH ;赋初值MOV TL0,#0B0HMOV 30H,#00H ;秒存储地址MOV 31H,#00H ;分存储地址MOV 32H,#12H ;时存储地址MOV 33H,#00H ;上下午储存地址MOV 34H,#01H ; 星期储存地址MOV 40H,#00HMOV 41H,#00HMOV 42H,#12HMOV 43H,#00HMOV 44H,#01HMOV R1,#04H ;1s循环次数MOV IE,#82H ;中断使能AJMP $T0: MOV TL0,#0B0H ;定时50msMOV TH0,#3CHDJNZ R1,X ;计时1sMOV R1,#04HLCALL ABC ;跳转到计时程序LCALL DING ;跳转到定时程序LCALL TIME ;跳转到显示程序X: RETIABC: MOV A,30HADD A,#1 ;秒加1DA A ;做十进制调整MOV 30H,ACJNE A,#60H,Y ;是否等于60s?若不是,则跳至Y MOV 30H,#00H ;若是,则30H清零MOV A,31HADD A, #1 ;分加1DA A ;做十进制调整MOV 31H,ACJNE A,#60H,Y ;是否等于60s?若不是,则跳至Y MOV 31H,#00H ;若是,则31H清零MOV A,32HADD A,#1 ;时加1DA A ;做十进制调整MOV 32H,ACJNE A,#12H,LMOV A,31HCJNE A,#00H,LMOV A,30HCJNE A,#00H,LMOV A,50HCPL AMOV 50H,ACJNE A,#00H,YMOV A,34HADD A,#01HDA AMOV 34H,ACJNE A,#08H,YMOV 34H,#01HL: MOV A,32HCJNE A,#13H,YMOV 32H,#01HY:RET4.2定时部分➢定时程序分析定时程序实则就是人为设定一个闹铃时间,并使LED灯在到达时间时亮。
将秒赋予A,判断系统是否与设定的一致,不等则继续执行下一条指令,相等则跳转到lop1判断分;再将分赋予A,判断系统是否与设定的一致,不等则继续执行下一条指令,相等则跳转到lop2判断时;然后将时赋予A,判断系统是否与设定的一致,不相等则继续下一条指令,相等则跳到LOP3判断上下午;再将上下午赋予A,判断系统是否与设定的一致,不相等则继续下一条指令,相等则跳到lop4判断星期,将星期赋予A,判断系统是否与设定的相等,不相等则继续下一条指令,相等时跳转到TSR子程序。
定时时间由外部中断4控制,每按一下,其值增加一,时、分、秒、上下午星期由开关按键K1,K2,K3,K4、K6控制。
判断位00H、01H、02H、03、05是否为0,哪个不为0跳转到相应的时、分、秒、上下午、星期程序中。
在42H、41H、40H、60H、44H中存放时、分、秒、上下午、星期。
当系统设定的秒、分、时、上下午、星期与显示的时间都相等时LED灯亮,表示闹铃时间到。
将K1拨到0时,按下KEY4,可熄灭LED灯。
➢定时部分程序DING: MOV A,30H ;定时程序CJNE A,40H,NAJMP LOP1LOP1: MOV A,31HCJNE A,41H,NAJMP LOP2LOP2: MOV A,32HCJNE A,42H,NAJMP LOP3LOP3: MOV A,50HCJNE A,60H,NAJMP LOP4LOP4:MOV A,34HCJNE A,44H,NAJMP TSRN: RETTSR: MOV P1,#00HRETKEY4: LCALL T2LCALL TIMEMOV P3IF,#00HRETIT2: MOV 20H,P5 ;定时程序JNB 00H,SHI1JNB 01H,FEN1JNB 02H,MIAO1JNB 03H,XINGQI1JNB 05H,ZHOU1RETZHOU1: MOV A,44HADD A,#1DA AMOV 44H,ACJNE A,#08H,MBMOV 44H,#01HRETXINGQI1:MOV A,60HCPL AMOV 60H,ARETSHI1: MOV P1,#0FFHMOV A,42HADD A,#1DA A MOV 42H,ACJNE A,#13H ,MBMOV 42H,#1RETFEN1: MOV A,41HADD A,#1DA AMOV 41H,ACJNE A,#60H ,MBMOV 41H,#0RETMIAO1:MOV A,40HADD A,#1DA AMOV 40H,ACJNE A,#60H ,MBMOV 40H,#0MB: RET4.3校时部分➢校时程序分析校时部分就是在系统时间不准确的情况下,给系统赋定值,使系统时间可以从该值开始变化,使用外部中断KEY3,先给30H、31H、32H、50H、34H 赋所需时间,然后调用程序将其显示。