单片机数字时钟控制课程设计.docx

上传人:b****3 文档编号:6238599 上传时间:2023-05-09 格式:DOCX 页数:12 大小:372.11KB
下载 相关 举报
单片机数字时钟控制课程设计.docx_第1页
第1页 / 共12页
单片机数字时钟控制课程设计.docx_第2页
第2页 / 共12页
单片机数字时钟控制课程设计.docx_第3页
第3页 / 共12页
单片机数字时钟控制课程设计.docx_第4页
第4页 / 共12页
单片机数字时钟控制课程设计.docx_第5页
第5页 / 共12页
单片机数字时钟控制课程设计.docx_第6页
第6页 / 共12页
单片机数字时钟控制课程设计.docx_第7页
第7页 / 共12页
单片机数字时钟控制课程设计.docx_第8页
第8页 / 共12页
单片机数字时钟控制课程设计.docx_第9页
第9页 / 共12页
单片机数字时钟控制课程设计.docx_第10页
第10页 / 共12页
单片机数字时钟控制课程设计.docx_第11页
第11页 / 共12页
单片机数字时钟控制课程设计.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机数字时钟控制课程设计.docx

《单片机数字时钟控制课程设计.docx》由会员分享,可在线阅读,更多相关《单片机数字时钟控制课程设计.docx(12页珍藏版)》请在冰点文库上搜索。

单片机数字时钟控制课程设计.docx

单片机数字时钟控制课程设计

单片机原理及系统课程设计

专业:

电气工程及其自动化

班级:

姓名:

学号:

指导教师:

评语:

 

平时(40)

修改(30)

报告(30)

总成绩

 

兰州交通大学自动化与电气工程学院

2012年7月1日

1引言

1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。

现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。

从而达到计时的功能,是人民日常生活补课缺少的工具。

现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

2设计方案及原理

2.1系统方案介绍

用AT89C51单片机设计一个简单的数字时钟,能进行时分秒的调整,能够较准确地显示时间。

用单片机控制6位LED数码管显示时、分、秒;并且具有二十四小时循环记时功能,走时要准。

能够用按键开关可实现时、分调整。

2.2系统原理

一个AT89C51单片机做为控制电路,用P0、P2口来控制数码管的段码和位码,利用动态扫描来实现数码管的显示。

开通定时器T0中断来对数码管的查表和1秒的准确计时,然后利用P3口的低三位作为判断程序,判断是否分时秒是否溢出,若无溢出则显示当前值,若溢出则清零实现时分秒的加一。

3硬件设计

主要用到这些元件:

AT89C51单片机与单片机的最小系统,八位显示数字管,74LS245锁存器。

用12MHZ的晶振和两个较小的22pF的电容组成振荡器电路,用一个按键,一个电解电容,一个10K电阻组成具有上电自动复位和手动复位两种操作的复位电路。

用P0口作为输出需接上拉电阻,即需RESPACK-8排阻,74LS245锁存器保存要开通的位码。

通过控制P0,P2,P3口来控制时间的计时。

P0口送入要显示的字段,P2口送入要显示的位码,P3口低三位即为查询是否需要调整时分秒数。

开通计时器中断0来查表得到要显示的数字。

图3.1硬件电路图

4软件设计

整个程序先给数码管送初值120000,然后进行初始化工作。

程序由一个主函数,一个定时器中断程序,一个延时子程序,三个判断子程序,一个显示子程序构成。

程序通过按键扫描程序来确定是否调用中断程序来对时间进行调整。

用一子程序完成时分秒的调整,通过循环扫描三个按键的电平变化来判断对应按键是否按下,并带有去抖动功能,当某个按键按下时,则对应的进行增一操作。

若分秒增一到达60次或者时增一到达24次,将对其清零,各个操作均实时的通过数码管显示。

 

图4.1显示程序流程图

图4.2主程序流程图

5设计总结

课程设计还是很有挑战性的,从开始选择课题到最后的成型阶段遇到了很多的困难。

但在其中收获的比遇到的困难要多的多,因此还是非常乐意去将课程做好。

我所选的课程设计题目是数字时钟。

刚拿到这个课题时,不只如何动手去做。

就去上网查询资料和源程序,认真研究了其他学长学姐的程序之后,才有了基本的思路,先将整个系统根据不同的功能化分成模块,再分别进行设计,逐个攻破,最后将其整合即可。

知道最重要的是1秒定时部分和如何把时分秒在数码管中显示出来,同时设计出来的产品还必须具备一些基本的人机交互功能。

在做的过程中用到proteus软件时,由于对软件的不熟悉,第一次做的时候就将八管电子显示屏选错极性,反复测试都没有出理想的效果,在逐一排除错误后,终于找到错误并改正,才有了合适的结果。

总的来说这次课程设计我收获了很多东西,使我的动手能力有了极大的提高,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。

参考文献

[1]李建忠.单片机原理及应用[M].西安:

西安电子科技大学出版社,2008.

[2]张迎新.单片机初级教程—单片机基础[M].北京:

北京航空航天大学出版社,2006.

[3]李华.王思明单片机原理及应用[M].兰州:

兰州大学出版社,2009.

附录A源程序

ORG00H

LJMPSTART

ORG0BH;定时器0中断入口地址

LJMPINT_T0

START:

MOV30H,#00H;程序初始化

MOV31H,#00H

MOV32H,#12

MOV48H,#00H

MOV49H,#00H

MOV4AH,#00H

MOVTMOD,#01H

MOVTH0,#248

MOVTL0,#248

SETBTR0;启动定时器0

SETBET0;允许T0中断

SETBEA;开中断

ADDMIAO:

JBP3.2,ADDFEN

LCALLDELY10MS;去抖动

JBP3.2,ADDFEN

INC30H

MOVA,30H

CJNEA,#60,NS60;满60清零

MOV30H,#00H

NS60:

LCALLDISP

JNBP3.2,$

ADDFEN:

JBP3.1,ADDSHI

LCALLDELY10MS

JBP3.1,ADDSHI

INC31H

MOVA,31H

CJNEA,#60,NM60

MOV31H,#00H

NM60:

LCALLDISP

JNBP3.1,$

ADDSHI:

JBP3.0,RETURN

LCALLDELY10MS

JBP3.0,RETURN

INC32H

MOVA,32H

CJNEA,#24,NH24

MOV32H,#00H

NH24:

LCALLDISP

JNBP3.0,$

RETURN:

LJMPADDMIAO

DELY10MS:

MOVR6,#10

D1:

MOVR7,#248

DJNZR7,$

DJNZR6,D1

RET

DISP:

MOVA,#40H

ADDA,#8

DECA

MOVR1,A

MOVA,32H

MOVB,#10

DIVAB

MOV@R1,A

DECR1

MOVA,B

MOV@R1,A

DECR1

MOVA,#10

MOV@R1,A

DECR1

MOVA,31H

MOVB,#10

DIVAB

MOV@R1,A

DECR1

MOVA,B

MOV@R1,A

DECR1

MOVA,#10

MOV@R1,A

DECR1

MOVA,30H

MOVB,#10

DIVAB

MOV@R1,A

DECR1

MOVA,B

MOV@R1,A

DECR1

RET

INT_T0:

MOVTH0,#248

MOVTL0,#248

MOVA,#40H

ADDA,48H

MOVR0,A

MOVA,@R0

MOVDPTR,#TABLE;送表头

MOVCA,@A+DPTR

MOVP2,#0FFH

MOVP0,A

MOVA,48H

MOVDPTR,#TAB;扫描控制位

MOVCA,@A+DPTR

MOVP2,A

INC48H

MOVA,48H

CJNEA,#08H,KNA;8个数码管送数是否结束

MOV48H,#00H

KNA:

INC49H

MOVA,49H

CJNEA,#100,DONE

MOV49H,#00H

INC4AH

MOVA,4AH

CJNEA,#05H,DONE

MOV4AH,#00H

INC30H

MOVA,30H

CJNEA,#60,NEXT

MOV30H,#00H

INC31H

MOVA,31H

CJNEA,#60,NEXT

MOV31H,#00H

INC32H

MOVA,32H

CJNEA,#24,NEXT

MOV32H,#00H

NEXT:

LCALLDISP

DONE:

RETI

TABLE:

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

TAB:

DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH

END

附录B仿真结果及说明

(1)系统初始化时,仿真如下:

附图1初始状态图

(2)时键按下,增加一小时,仿真如下:

附图2增加一小时仿真图

(3)分键按下,增加一分钟,仿真如下:

附图3增加一分钟仿真图

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

当前位置:首页 > 小学教育 > 语文

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

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