当前位置:文档之家› 最新单片机多功能时钟程序毕业

最新单片机多功能时钟程序毕业

单片机多功能时钟程序毕业沈阳工程学院课程设计设计题目:多功能时钟程序设计沈阳工程学院课程设计任务书课程设计题目:多功能时钟程序设计多功能时钟程序设计成绩评定表系部:班级:学生姓名:中文摘要时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。

怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。

数字电子钟的设计方法有多种,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点,同时可以用该电子钟发出各种控制信号。

该数字钟采用液晶显示屏显示其时间与定时时间,即采用P6口输入,P7口输出,由R0输入需显示的时间,再通过延时程序将时间稳定的显示在液晶屏上。

校准时间由外部中断4及开关按键控制;定时时间由外部中断3及开关按键控制,KEY3、KEY4键每按一次其时分秒的数字增加一。

关键字: 单片机,数字钟,校时,定时器目录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设计主要内容及要求1)编写多功能时钟程序2)能够显示时、分、秒的时钟程序。

3)具有闹钟功能。

4)能够进行时间调整。

1.2对设计论文撰写内容、格式及字数的要求1)课程设计论文是体现和总结课程设计成果的载体,一般不应少于3000字。

2)学生应撰写时应做到文理通顺,内容正确完整,书写工整,装订整齐。

3)论文要求打印,打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求4)课程设计论文装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。

1.3时间进度安排2课程设计思路本文主要介绍用单片机编程来实现多功能时钟的方法,本设计由单片机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计满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?若不是,则跳至YMOV 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赋所需时间,然后调用程序将其显示。

相关主题