单片机多功能时钟.docx

上传人:b****7 文档编号:15760736 上传时间:2023-07-07 格式:DOCX 页数:56 大小:218.08KB
下载 相关 举报
单片机多功能时钟.docx_第1页
第1页 / 共56页
单片机多功能时钟.docx_第2页
第2页 / 共56页
单片机多功能时钟.docx_第3页
第3页 / 共56页
单片机多功能时钟.docx_第4页
第4页 / 共56页
单片机多功能时钟.docx_第5页
第5页 / 共56页
单片机多功能时钟.docx_第6页
第6页 / 共56页
单片机多功能时钟.docx_第7页
第7页 / 共56页
单片机多功能时钟.docx_第8页
第8页 / 共56页
单片机多功能时钟.docx_第9页
第9页 / 共56页
单片机多功能时钟.docx_第10页
第10页 / 共56页
单片机多功能时钟.docx_第11页
第11页 / 共56页
单片机多功能时钟.docx_第12页
第12页 / 共56页
单片机多功能时钟.docx_第13页
第13页 / 共56页
单片机多功能时钟.docx_第14页
第14页 / 共56页
单片机多功能时钟.docx_第15页
第15页 / 共56页
单片机多功能时钟.docx_第16页
第16页 / 共56页
单片机多功能时钟.docx_第17页
第17页 / 共56页
单片机多功能时钟.docx_第18页
第18页 / 共56页
单片机多功能时钟.docx_第19页
第19页 / 共56页
单片机多功能时钟.docx_第20页
第20页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机多功能时钟.docx

《单片机多功能时钟.docx》由会员分享,可在线阅读,更多相关《单片机多功能时钟.docx(56页珍藏版)》请在冰点文库上搜索。

单片机多功能时钟.docx

单片机多功能时钟

 

沈阳工程学院

 

课程设计

 

设计题目:

多功能时钟程序设计

 

系别:

班级:

测控本101

学生姓名:

学号:

2010312116

指导老师:

职称:

教授

起止日期:

2013年1月7日至2013年1月18日

 

沈阳工程学院

 

课程设计任务书

 

课程设计题目:

多功能时钟程序设计

 

系别班级测控本101

学生姓名学号2010312116

指导教师职称教授

课程设计进行地点:

实训F422

任务下达时间:

13年1月7日

起止日期:

13年1月7日起——至13年1月18日止

教研室主任年月日批准

 

多功能时钟程序设计成绩评定表

指导教师评审意见

评价内容

具体要求

权重

评分

加权分

论证

独立查阅文献,制定课程设计方案和日程安排。

0.1

5

4

3

2

工作能力态度

工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作。

0.2

5

4

3

2

工作量

按期圆满完成规定的设计任务,工作量饱满,

0.2

5

4

3

2

说明书的质量

说明书立论正确,论述充分,文字通顺,技术用语准确,符号统一,书写工整规范。

0.5

5

4

3

2

指导教师评审成绩

(加权分合计乘以12)

加权分合计

指导教师签名:

年月日

评阅教师评审意见

评价内容

具体要求

权重

评分

加权分

查文献

查阅文献有广泛性,有综合归纳资料的能力

0.2

5

4

3

2

工作量

工作量饱满,难度适中

0.5

5

4

3

2

说明书的质量

说明书立论正确,论述充分,文字通顺,技术用语准确,符号统一,书写工整规范。

0.3

5

4

3

2

评阅教师评审成绩

(加权分合计乘以8)

加权分合计

评阅教师签名:

年月日

课程设计总评成绩

系部:

班级:

学生姓名:

中文摘要

 

时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。

怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?

这就要求人们不断设计出新型时钟。

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

该数字钟采用液晶显示屏显示其时间与定时时间,即采用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时间进度安排

顺序

阶段日期

计划完成内容

地址

1

1月7日

教师讲解题目,学生查阅相关资料

实训F422

2

1月8日

查阅相关资料、进行方案论证

实训F422

3

1月9日

确定闹钟设置时间调整方法

实训F422

4

1月10、11、14日

编写程序

实训F422

5

1月15、16日

调试程序

实训F422

6

1月17日

撰写论文

实训F422

7

1月18日

论文答辩

实训F422

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各模块设计

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)

ORG0000H

AJMPMAIN

ORG000BH

AJMPT0

ORG0093H

LJMPKEY3

ORG009BH

LJMPKEY4

ORG0100H

MAIN:

MOVWDTCN,#0DEH;关看门狗

MOVWDTCN,#0ADH

MOVOSCICN,#05H;内部振荡4MHz

MOVP1MDOUT,#0FFH;设置P1的输出方式

MOVP74OUT,#0F0H;端口6、端口7输出方式为推挽输出

MOVCKCON,#00H;T0定时器12分频

MOVTMOD,#01H;T0处于工作方式一,16位

MOVTCON,#10H;TR0=1,允许T0计数

MOVXBR2,#40H;交叉开关总使能

MOVEIE2,#30H;中断6、中断7使能

MOVP3IF,#0CH;中断7上升沿触发

MOV50H,#00H

MOV60H,#00H

MOVTH0,#3CH;赋初值

MOVTL0,#0B0H

MOV30H,#00H;秒存储地址

MOV31H,#00H;分存储地址

MOV32H,#12H;时存储地址

MOV33H,#00H;上下午储存地址

MOV34H,#01H;星期储存地址

MOV40H,#00H

MOV41H,#00H

MOV42H,#12H

MOV43H,#00H

MOV44H,#01H

MOVR1,#04H;1s循环次数

MOVIE,#82H;中断使能

AJMP$

T0:

MOVTL0,#0B0H;定时50ms

MOVTH0,#3CH

DJNZR1,X;计时1s

MOVR1,#04H

LCALLABC;跳转到计时程序

LCALLDING;跳转到定时程序

LCALLTIME;跳转到显示程序

X:

RETI

ABC:

MOVA,30H

ADDA,#1;秒加1

DAA;做十进制调整

MOV30H,A

CJNEA,#60H,Y;是否等于60s?

若不是,则跳至Y

MOV30H,#00H;若是,则30H清零

MOVA,31H

ADDA,#1;分加1

DAA;做十进制调整

MOV31H,A

CJNEA,#60H,Y;是否等于60s?

若不是,则跳至Y

MOV31H,#00H;若是,则31H清零

MOVA,32H

ADDA,#1;时加1

DAA;做十进制调整

MOV32H,A

CJNEA,#12H,L

MOVA,31H

CJNEA,#00H,L

MOVA,30H

CJNEA,#00H,L

MOVA,50H

CPLA

MOV50H,A

CJNEA,#00H,Y

MOVA,34H

ADDA,#01H

DAA

MOV34H,A

CJNEA,#08H,Y

MOV34H,#01H

L:

MOVA,32H

CJNEA,#13H,Y

MOV32H,#01H

Y:

RET

4.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:

MOVA,30H;定时程序

CJNEA,40H,N

AJMPLOP1

LOP1:

MOVA,31H

CJNEA,41H,N

AJMPLOP2

LOP2:

MOVA,32H

CJNEA,42H,N

AJMPLOP3

LOP3:

MOVA,50H

CJNEA,60H,N

AJMPLOP4

LOP4:

MOVA,34H

CJNEA,44H,N

AJMPTSR

N:

RET

TSR:

MOVP1,#00H

RET

KEY4:

LCALLT2

LCALLTIME

MOVP3IF,#00H

RETI

T2:

MOV20H,P5;定时程序

JNB00H,SHI1

JNB01H,FEN1

JNB02H,MIAO1

JNB03H,XINGQI1

JNB05H,ZHOU1

RET

ZHOU1:

MOVA,44H

ADDA,#1

DAA

MOV44H,A

CJNEA,#08H,MB

MOV44H,#01H

RET

XINGQI1:

MOVA,60H

CPLA

MOV60H,A

RET

SHI1:

MOVP1,#0FFH

MOVA,42H

ADDA,#1

DAA

MOV42H,A

CJNEA,#13H,MB

MOV42H,#1

RET

FEN1:

MOVA,41H

ADDA,#1

DAA

MOV41H,A

CJNEA,#60H,MB

MOV41H,#0

RET

MIAO1:

MOVA,40H

ADDA,#1

DAA

MOV40H,A

CJNEA,#60H,MB

MOV40H,#0

MB:

RET

4.3校时部分

Ø校时程序分析

校时部分就是在系统时间不准确的情况下,给系统赋定值,使系统时间可以从该值开始变化,使用外部中断KEY3,先给30H、31H、32H、50H、34H赋所需时间,然后调用程序将其显示。

其中进入中断后调用子程序T1可以由KEY3键设置所定时间每按一次KEY3键值增加一,是调整时还是分或秒,可由开关量输入键K1、K2、K3、K4、K5分别控制。

其主程序中加入了外不中断的有关指令.但需注意的是,在调解时除打开时、分、秒上下午、星期控制键外还需打开K11键。

(主程序只给出所加指令)

Ø校时部分程序

KEY3:

LCALLT1

LCALLTIME

MOVP3IF,#00H

RETI

T1:

MOV20H,P5;校准程序

JNB00H,SHI

JNB01H,FEN

JNB02H,MIAO

JNB03H,XINGQI

JNB05H,ZHOU

RET

ZHOU:

MOVA,34H

ADDA,#1

DAA

MOV34H,A

CJNEA,#08H,MN

MOV34H,#01H

RET

XINGQI:

MOVA,50H

CPLA

MOV50H,A

RET

SHI:

MOVA,32H

ADDA,#1

DAA

MOV32H,A

CJNEA,#13H,MN

MOV32H,#01H

RET

FEN:

MOVA,31H

ADDA,#1

DAA

MOV31H,A

CJNEA,#60H,MN

MOV31H,#0

RET

MIAO:

MOVA,30H

ADDA,#1

DAA

MOV30H,A

CJNEA,#60H,MN

MOV30H,#0

MN:

RET

4.4显示部分

Ø显示程序分析

显示程序就是将程序中的时分秒显示在液晶显示屏上使其看起来更直观、方便。

其中第一行显示系统运行时间,第二行显示定时时间。

该程序主要根据老师所给程序改编,利用子程序LINE设定显示屏的主要参数.让时间显示在上一行且只显示一个时分秒,如“12:

12:

12PMXQ1”,不造成显示多个的后果。

NCD为常函数表,将0-9、A、P、M、X、Q数字和字母依次存放到以左边标号为起始地址的存储单元中。

TIME中就是将时分秒的十位、各位分别赋予R0,还有判断50H中是00H还是0FFH,如果是00H就显示上午AM,然后星期加一,如果是0FFH就显示下午PM,然背后调用查表程序将其显示在液晶屏上。

值得注意的是:

时与分、分与秒之间需将冒号也显示出来。

同理,定时时间的显示在第二行,由TIME1控制。

Ø显示部分程序

TIME:

CLRA

MOVXBR0,A

LCALLLCD

MOVDPTR,#NCD

MOVA,32H

SWAPA

MOVR0,A

LCALLLINE1

LCALLDELAY

MOVR0,32H

LCALLLINE1

LCALLDELAY

MOVR0,#10

LCALLLINE1

LCALLDELAY

MOVA,31H

SWAPA

MOVR0,A

LCALLLINE1

LCALLDELAY

MOVR0,31H

LCALLLINE1

LCALLDELAY

MOVR0,#10

LCALLLINE1

LCALLDELAY

MOVA,30H

SWAPA

MOVR0,A

LCALLLINE1

LCALLDELAY

MOVR0,30H

LCALLLINE1

LCALLDELAY

MOVA,50H

CJNEA,#0FFH,LOPA

MOVR0,#12

LCALLLINE1

LCALLDELAY

MOVR0,#13

LCALLLINE1

LCALLDELAY

AJMPLOPP

LOPA:

MOVR0,#11

LCALLLINE1

LCALLDELAY

MOVR0,#13

LCALLLINE1

LCALLDELAY

LOPP:

MOVR0,#14

LCALLLINE1

LCALLDELAY

MOVR0,#15

LCALLLINE1

LCALLDELAY

MOVR0,34H

LCALLLINE1

LCALLDELAY

MOVDPTR,#NED

MOVP7,#0C0H

MOVP6,#1H

MOVP6,#0H

MOVR0,#11

LCALLLINE1

LCALLDELAY

MOVA,42H

SWAPA

MOVR0,A

LCALLLINE1

LCALLDELAY

MOVR0,42H

LCALLLINE1

LCALLDELAY

MOVR0,#10

LCALLLINE1

LCALLDELAY

MOVA,41H

SWAPA

MOVR0,A

LCALLLINE1

LCALLDELAY

MOVR0,41H

LCALLLINE1

LCALLDELAY

MOVR0,#10

LCALLLINE1

LCALLDELAY

MOVA,40H

SWAPA

MOVR0,A

LCALLLINE1

LCALLDELAY

MOVR0,40H

LCALLLINE1

LCALLDELAY

MOVA,60H

CJNEA,#0FFH,LOPA1

MOVR0,#12

LCALLLINE1

LCALLDELAY

MOVR0,#13

LCALLLINE1

LCALLDELAY

LJMPLOP44

LOPA1:

MOVR0,#11

LCALLLINE1

LCALLDELAY

MOVR0,#13

LCALLLINE1

LCALLDELAY

LOP44:

MOVR0,#14

LCALLLINE1

LCALLDELAY

MOVR0,#15

LCALLLINE1

LCALLDELAY

MOVR0,44H

LCALLLINE1

LCALLDELAY1

RET

LINE1:

MOVA,R0

ANLA,#0FH

MOVCA,@A+DPTR

MOVP7,A

MOVP6,#05H

MOVP6,#04H

RET

LCD:

LCALLDELAY

MOVP7,#38H

MOVP6,#01H

MOVP6,#00H

LCALLDELAY

MOVP7,#0EH

MOVP6,#01H

MOVP6,#00H

LCALLDELAY

MOVP7,#06H

MOVP6,#01H

MOVP6,#00H

LCALLDELAY

MOVP7,#01H

MOVP6,#01H

MOVP6,#00H

LCALLDELAY

RET

DELAY:

MOVR6,#50

DELAY0:

MOVR5,#50

DJNZR5,$

DJNZR6,DELAY0

RET

DELAY1:

MOVR4,#35;DD

DELAY2:

MOVR3,#150

DELAY3:

MOVR2,#250

DJNZR2,$

DJNZR3,DELAY3

DJNZR4,DELAY2

RET

NCD:

DB'0','1','2','3','4','5','6','7','8','9',':

','A','P','M','X','Q','';常数表

NED:

DB'0','1','2','3','4','5','6','7','8','9',':

','A','P','M','X','Q'

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2