数字钟设计报告.docx

上传人:b****5 文档编号:27894158 上传时间:2023-07-06 格式:DOCX 页数:9 大小:201.92KB
下载 相关 举报
数字钟设计报告.docx_第1页
第1页 / 共9页
数字钟设计报告.docx_第2页
第2页 / 共9页
数字钟设计报告.docx_第3页
第3页 / 共9页
数字钟设计报告.docx_第4页
第4页 / 共9页
数字钟设计报告.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

数字钟设计报告.docx

《数字钟设计报告.docx》由会员分享,可在线阅读,更多相关《数字钟设计报告.docx(9页珍藏版)》请在冰豆网上搜索。

数字钟设计报告.docx

数字钟设计报告

物理与电气工程学院课程实践报告

 

数字钟

 

姓名:

学号:

111102051

专业:

电信

指导老师:

成绩:

日期:

 

基于51单片机的数字钟

一、前言

数字钟是采用数字电路实现对时、分、秒,数字显示的计时装置。

早已成为人们日常生活中不可少的必需品,给人们的生活、学习、工作、娱乐带来极大的方便。

由于数字集成电路技术的发展,数字钟的设计已经是个课程的基础。

由电子电路实现一个自动数字钟,完成秒分时自动调节及其相关功能,加强学生手动实践能力成为合适首选的方案之一。

数字钟是现代计时器,也可用作时间控制的时钟源。

数字钟由于其具有走时准,显示直观,款式新颖,附加功能多等优点而受到人们的欢迎。

设计一个具有整点报时,可对时的数字钟。

由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

如闹铃、按时自动打铃、等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟及扩大其应用,有着非常现实的意义。

以数字电子为基础,分别对1S时钟信号输出、秒计时显示、分计时显示、小时计时显示,然后将它们组合,来完成功能。

并通过本次设计加深对单片机知识的理解。

2、电路原理图

用51单片机通过74LS138译码器实现对六位共阴七段数码管的控制,如下图:

三、源程序

程序中用到了T0,INT0,INT1三个中断,其中T0用来记秒,INT0用来调分个位,INT1用来调时个位。

而显示用的是六位数码管动态显示,初始数据存在30H--35H单元,缓冲区为40H--46H单元,具体程序如下:

ORG0000H

LJMPSTART

ORG0003H

LJMPTIME1

ORG0013H

LJMPTIME2

ORG000BH

LJMPTO

ORG0030H

START:

MOVTMOD,#01H

MOVTH0,#3CH

MOVTL0,#0B0H

SETBET0

SETBEA

SETBTR0

SETBEX0

SETBEX1

SETBIT0

SETBIT1

MOV30H,#4

MOV31H,#5

MOV32H,#9

MOV33H,#5

MOV34H,#3

MOV35H,#2

MOVR0,#30H

MOVR1,#40H

MOVR7,#6

MOVR5,#20

CLRF0

LOOP:

ACALLLOAD

ACALLDSPY

JNBF0,LOOP

CLRF0

INC30H

MOVR2,30H

CJNER2,#10,LOOP;秒个位是否到10

MOV30H,#0

INC31H

MOVR2,31H

CJNER2,#6,LOOP;秒十位是否到6

MOV31H,#0

INC32H

MOVR2,32H

CJNER2,#10,LOOP;分个位是否到10

MOV32H,#0

INC33H

MOVR2,33H

CJNER2,#6,LOOP;分十位是否到6

MOV33H,#0

 

INC34H;因小时到24要清零,没有办法用上述方法实现,在此拆分,小时的数据全存在R4

ACALLDAA

MOVB,35H

MOVA,#10

MULAB

ADDA,34H

MOVR4,A

CJNER4,#24,LOOP

MOV34H,#0

MOV35H,#0

LJMPLOOP

 

LOAD:

MOVA,@R0;装载待显数据

MOVDPTR,#ABC

MOVCA,@A+DPTR

MOV@R1,A

INCR0

INCR1

DJNZR7,LOAD

MOVR0,#30H

MOVR1,#40H

MOVR7,#6

RET

 

DSPY:

MOVR7,#6;显示子程序

MOVR6,#0F8H

LOOP1:

MOVP2,R6

MOVP0,@R1

INCR6

INCR1

DJNZR7,LOOP1

MOVR7,#6

MOVR1,#40H

RET

DAA:

MOVA,34H;十进制调整子程序

CJNEA,#10,DD2

MOV34H,#0

INC35H

DD2:

RET

 

TO:

DJNZR5,SS;T0中断程序

MOVR5,#20

SETBF0

SS:

MOVTH0,#3CH

MOVTL0,#0B0H

RETI

TIME1:

INC32H;INT0中断程序

MOVR2,32H

CJNER2,#10,DD0

MOV32H,#0

INC33H

MOVR2,33H

CJNER2,#6,DD0

MOV33H,#0

INC34H

ACALLDAA

MOVB,35H

MOVA,#10

MULAB

ADDA,34H

MOVR4,A

CJNER4,#24,DD0

MOV34H,#0

MOV35H,#0

DD0:

RETI

TIME2:

INC34H;INT1中断程序

ACALLDAA

MOVB,35H

MOVA,#10

MULAB

ADDA,34H

MOVR4,A

CJNER4,#24,DD1

MOV34H,#0

MOV35H,#0

DD1:

RETI

ABC:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

END

4、调试

调试花了几个小时,因为自己对DAA指令的理解不够深而出现了错误,最后用个DAA子程序代替了用指令转换BCD码:

 

5、运行结果

如下图,是刚开始程序运行的结果:

六、总结

本次实践中让我更加理解了中断以及循环指令的运用,可又发现了自己对外扩芯片掌握的不够,开始做的是外扩5255,可没有成功。

最后选择了用动态显示做数字钟,本以为很容易,可还是做了很长时间的程序。

单片机是一个我很感兴趣的课,在以后我还要更加深刻的学习,锻炼自己的动手能力,相信凭着自己的执着,一定能学好单片机。

 

参考资料:

《单片机原理与接口技术》高等教育出版社李全利编

 

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1