数字电子钟的设计课程设计论文 精品Word文档下载推荐.docx

上传人:b****6 文档编号:20646044 上传时间:2023-01-24 格式:DOCX 页数:27 大小:327.21KB
下载 相关 举报
数字电子钟的设计课程设计论文 精品Word文档下载推荐.docx_第1页
第1页 / 共27页
数字电子钟的设计课程设计论文 精品Word文档下载推荐.docx_第2页
第2页 / 共27页
数字电子钟的设计课程设计论文 精品Word文档下载推荐.docx_第3页
第3页 / 共27页
数字电子钟的设计课程设计论文 精品Word文档下载推荐.docx_第4页
第4页 / 共27页
数字电子钟的设计课程设计论文 精品Word文档下载推荐.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

数字电子钟的设计课程设计论文 精品Word文档下载推荐.docx

《数字电子钟的设计课程设计论文 精品Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字电子钟的设计课程设计论文 精品Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。

数字电子钟的设计课程设计论文 精品Word文档下载推荐.docx

2.1.2键盘模块6

2.1.3LED显示电路6

2.1.4接口电路6

2.2电路原理图、PCB图和元器件布局6

2.3元器件清单7

第三章数字电子钟的软件系统的设计7

3.1使用的单片机资源的情况7

3.2各模块功能简要介绍8

3.3程序的流程图8

3.4程序清单12

第四章设计仿真和结果分析13

4.1设计结论和功能使用说明13

4.1.1设计结论13

4.1.2功能及使用说明13

4.2仿真结果14

4.3设计系统误差分析15

第五章设计小结16

致谢16

参考文献17

附录19

第一章设计目的和方案

1.1设计任务

数字电子钟

1.1.2设计目的与任务

通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机原理及接口技术》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。

1.2功能要求说明

1、显示准确的北京时间(时、分、秒),可用24小时制式;

2、随时可以调校时间。

3、增加公历日期显示功能(年、月、日),年号只显示最后两位;

4、随时可以调校年、月、日;

5、允许通过转换功能键转换显示时间或日期。

硬件方案:

⑴显示器采用6位LED数码管(共阳),可分别显示时间或日期;

(通过KB键可切换)

⑵显示器的驱动采用动态扫描电路形式,以达到简化电路的目的。

但要注意所需的驱动电流比静态驱动时要大,因此要增加驱动电路。

可采用74LS244或者晶体管;

其中74ls244是用来驱动段选码,晶体管是驱动位选码

1.3设计总体方案及工作原理

设计中采用AT89C51芯片及LED显示器,一些独立式按键构成一个简单的数字电子钟。

设计中是采用单片机的内部定时器进行定时,程序框图如图所示。

整个电子钟的工作原理是:

在正常的供电状态下,首先利用单片机定时,到了相应的时间由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则进入相应的按键显示和调整状态,进行按键调整。

总体硬件原理图如图所示

第二章数字电子钟的硬件系统的设计

2.1硬件系统各模块功能设计

该数字电子钟由单片机最小系统、键盘模块、LED显示电路模块、接口电路模块组成。

各模块的功能如下:

2.1.1单片机最小系统

由AT89C51单片机、时钟电路和复位电路构成。

AT89C51是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

时钟电路由一个12MHZ的石英晶体振荡器和两个22pF的的电容组成振荡电路和分频电路,为单片机提供内部时钟。

复位电路采用上电复位和按键复位结合的方式对电路进行复位,主要是通过RST引脚送入单片机。

2.1.2键盘模块

采用独立式键盘接法,共有四个按键来对电路进行控制。

分别接在单片机的P1口线上。

一个键控制开和关,一个键负责调整,另外两个键辅助调整。

2.1.3LED显示电路

采用六个共阳的数码管显示器进行显示,加上一个74LS244作为驱动和8个220Ω的电阻起限流的作用。

将段控口接在P0口上,位控口接在P3口上,实现对显示的控制。

2.1.4接口电路

接上一个电容组成的滤波电路和电源显示灯组成一个电源接口,为单片机工作供电。

2.2电路原理图、PCB图和元器件布局

采用Protel软件,Protel99SE是Protel公司近10年来致力于Windows平台开发的最新结晶,能实现从电学概念设计到输出物理生产数据,能够和形象的画出我们所要设计的产品。

电路原理图和PCB图及元器件布局见附录。

各模块拼接图

2.3元器件清单

见附录。

第三章数字电子钟的软件系统的设计

3.1使用的单片机资源的情况

该数字电子钟用到了单片机的定时器的功能,此外用到了单片机的中断功能,在数据的显示时所采用的是查表的方法,因此需要将表格、数据存到单片机的程序存储器中去。

由于电子钟需要可以进行调节,因此,需要在单片机的P口上加上按键,本设计采用独立式键盘,直接接在P1口上且按键的结果存贮在单片机的内部数据存储器里面。

用到的LED显示器接到了单片机的P0口线上和P3口线上。

3.2各模块功能简要介绍

该数字电子钟所用的软件模块有定时器模块、按键模块、LED显示模块。

(1)定时器模块

选择定时器0,设置定时方式为方式1,设置定时时间为50mS。

(2)按键模块

采用独立式键盘,共用四个按键对电路进行控制和操作,分别为K0、K1、K2、K3来控制电子钟的开/关和调整。

(3)LED显示模块

该电子钟一通电即让它显示P.,按开启键即可显示时分秒,再按切换键即可显示年月日,然后结合键盘操作还可以对时间进行调整。

3.3程序的流程图

(1)整体设计流程图

(2)键盘设计流程图

图3.2键盘设计流程图

(3)显示设计流程图

图3.3显示时分秒设计流程图

图3.4显示年月日设计流程图

3.4程序清单

第四章设计仿真和结果分析

4.1设计结论和功能使用说明

4.1.1设计结论

通过对单片机进行外接键盘和LED数码管的操作以及加上硬件电路和软件的结合,实现了该数字电钟显示P.以及时分秒和年月日的显示,同时还可实现对该电子钟进行调整的功能。

通过测试和仿真以及修改,该电子钟最终能正常的工作。

4.1.2功能及使用说明

该数字电子钟采用八位数码管能实现年月日和时分秒的显示。

当电子钟一上电即可显示P.,设置数字钟的初始日期和时间为12年02月23日00时00分00秒.用四个按键实现电子钟的显示和调整的功能,分别为K0,K1,K2,K3,其中K0键为开启键,且显示的是时分秒,开启之后K2键可实现切换的功能,即可实现年月日和时分秒的切换显示;

按K3键可实现年月日和时分秒的调整,按一下可以对当前显示的进行调整,再按一下即可切换到一个界面进行调整,调整的时候数字钟停止计时,当进行时分秒的调整时,K0键可实现对秒进行增大的调整,每按一下秒的值就加一,当秒增加到59时就重新从0开始继续增大,K1键可实现对分进行增大的调整,每按一下分的值就加一,当分增加到59的时候就重新从0开始继续增大,K2键可实现对时进行增大的调整,每按一下时的值就加一,当时的值增大到23的时候就重新从0开始继续增大.当进行年月日的调整时,K0键可实现对日进行增大的调整,每按一下秒的值就加一,当日增加到28或者30或者31(看不同的年份和月份)时就重新从0开始继续增大,K1键可实现对月进行增大的调整,每按一下月的值就加一,当月增加到12的时候就重新从0开始继续增大,K2键可实现对年进行增大的调整,每按一下时的值就加一,当时的值增大到99的时候就重新从0开始继续增大.当对年月日和时分秒都调整完之后,再按一下K3键即可跳出调整的状态,数字钟继续开始计时工作,在电子钟正常计时的时候再按K0键即可对电子钟进行关闭.

4.2仿真结果

在仿真时用到了两个软件,第一个是Keil,第二个是Protues,本次仿真是将两个软件结合起来进行的。

用Protues软件进行仿真,其仿真的电路图如图4.1所示

图4.1Protues仿真电路图

数字电子钟正常工作时,仿真的LED显示器显示如图4.2所示,当按下切换键时,数字电子钟进入日期显示界面,此时LED数码管显示器的显示如图4.3和4.4所示,当按下调整键时,数字电子钟进入调整界面,此时LED数码管显示器的显示如图4.5和4.5所示。

图4.2数字电子钟正常工作时的显示图

P.

图4.3数字电子钟显示时分秒的显示图

000000.

图4.4数字电子钟显示日期的显示图

120223.

4.3设计系统误差分析

本数字电子钟在跟标准的电子钟比较时,时间稍微慢一点,产生此种情况的原因有:

其一是在执行程序指令时,由于需要耗费一定的时间,因此会比标准的电子钟要慢一点。

其二是晶振不够标准,使得定时器定时时不够精准。

第五章设计小结

从硬件电路的设计到软件电路的设计,整个过程当中我学到了很多的东西,在绘制原理图时我查找了相关软件的使用方法,并悉心向老师和同学请教,学会对PROTEL和PROTEUS的使用;

在软件系统的设计中,我遇到了很多的问题,不能把一些小模块系统联系起来,但通过不断的探索,最终把整个程序完整的编出来了,并能进行仿真使用;

本次的设计使我学到如何从理论转化为实践,怎样将我所学到的知识运用到我以后的工作中。

通过单片机硬件电路的调试,实现了预先设定的功能,设计主要用到的元件不多,最主要的是程序也比较长比较麻烦,同时也遇到了不少困难,尤其是关于校时模块的设计实现。

虽然过程中遇到了一些困难,但是在解决这些问题的过程无疑也是对自己自身专业素质的一种提高。

此次的电子时钟设计给我奠定了一个实践基础,同时在查找资料的过程中我也学到了许多新的知识,在和同学协作过程中增进同学间的友谊,使我对团队精神的积极性和重要性有了更加充分的认识和理解。

致谢

首先衷心感谢在此次课程设计中给予我帮助的老师及同学们,帮助我分析和解决问题。

在开始设计的时候,经过老师悉心的指导和讲解,让我渐渐有自己的方案和选择方向,在每一步的进展当中,我都碰到了很多的问题,画原理图的时候和分析电子钟工作的原理以及怎么确定和修改,都是经过一步步修改而成的。

设计软件的时候,因为是设计一个系统的程序,所以开始还没形成系统的思维,但在老师的讲解和同学的教导下,渐渐的将一个个子程序联系起来调试运行。

在此,谨向给予我帮助的老师和同学深表言谢。

参考文献

[1]彭勇,叶晓勇,王万刚单片机技术北京电子工业出版社2009

[2]李广弟,朱月秀,冷祖祁单片机基础[M].北京:

北京航空航天大学出版社,2007

[3]刘湘涛.江世明.单片机原理与应用[M].北京:

电子工业出版社,2006.

[4]李光飞.单片机课程设计实例指导[M].北京:

北京航空航天大学出版社,2004.9

[5]朱定华.单片机原理及接口技术实验[M].北京:

北方交通大学出版社2002.11

[6]张洪润,兰清华.单片机应用技术教程[M].北京:

清华大学出版社,1997.11

附录

*******************************************************************************

***;

按键接P1.0~P1.3分别为K0、K1、K2、K3;

**************************

数码管显示器段控口接单片机的P0口,位控口接单片机的P3口;

*****

********************************************************************

**********;

存储单元定义;

*******************************************************

YEAREQU40H

MONTHEQU41H

DAYEQU42H

HOUREQU43H

MINUTEEQU44H

SECONDEQU45H

TIMEEQU46H

ORG0000H

AJMPSTART

ORG000BH

AJMPET_0

START:

LCALLLING

MOVTIME,#00H

MOVTMOD,#01H;

设置定时器的工作方式为方式一

MOVTH0,#(65536-50000)/256;

定时50毫秒

MOVTL0,#(65536-50000)MOD256

MOVIE,#82H

LOOP:

LCALLDISPLAY0;

显示P.

JNBP1.0,MAIN1

JMPLOOP

MAIN1:

LCALLDISPLAY0

SETBTR0;

开启定时器

*****************;

主函数;

******************************************************

MAIN:

LCALLKEY

JB20H.3,SET1

JB20H.0,GUAN

JB20H.2,RIQI

LCALLDISPLAY2;

显示时分秒

AJMPMAIN

*********************;

显示日期;

************************************************

RIQI:

LCALLDISPLAY1

JB20H.2,MAIN

JMPRIQI

GUAN:

MOVP2,#0FFH;

关显示

LCALLKEY

JB20H.0,MAIN

JMPGUAN

***************;

进入时分秒的调整界面;

******************************************

SET1:

CLRTR0;

时分秒的调整

LCALLDISPLAY2

JB20H.3,SET2

JB20H.2,TS

JB20H.1,TF

JB20H.0,TM

JMPSET1

TS:

INCHOUR;

时的调整

MOVA,HOUR;

是否达到了24小时到了就清零

CJNEA,#24,SET1

AJMPLL1

LL1:

MOVHOUR,#0

TF:

INCMINUTE;

分的调整

MOVA,MINUTE;

是否达到了60分到了就清零

CJNEA,#60,SET1

AJMPLL2

LL2:

MOVMINUTE,#0

TM:

INCSECOND;

秒的调整

MOVA,SECOND;

是否达到了60秒到了就清零

CJNEA,#60,SET1

AJMPLL3

LL3:

MOVSECOND,#0

JMPSET1

SET2:

LCALLKEY;

进入年月日的调整界面

LCALLDISPLAY1;

显示年月日

JB20H.3,EXIT

JB20H.2,TN

JB20H.1,TY

JB20H.0,TR

JMPSET2

EXIT:

SETBTR0;

关定时器

JMPMAIN

TN:

INCYEAR;

年的调整

MOVA,YEAR;

是否达到了99年到了就清零

CJNEA,#99,SET2

AJMPLL4

LL4:

MOVYEAR,#0

TY:

INCMONTH;

月的调整

MOVA,MONTH;

是否达到了12月到了就清零

CJNEA,#13,SET2

AJMPLL5

LL5:

MOVMONTH,#0

TR:

INCDAY;

日的调整

MOVA,YEAR;

看是闰年还是非闰年

MOVB,#4

DIVAB

MOVA,B

JZWW1;

闰年则转WW1

JMPWW2;

非闰年则转WW2

WW1:

看是闰年的哪一月份

CJNEA,#2,LL6;

是闰年中的2月则为29天MOVA,DAY到29就清零

CJNEA,#29,SET2

MOVDAY,#0

AJMPSET2

LL6:

CJNEA,#4,LL7;

闰年中的4、6、9、11为30天

MOVA,DAY到30就清零

CJNEA,#30,SET2

AJMPSET2

LL7:

MOVA,MONTH

CJNEA,#6,LL8

MOVA,DAY

LL8:

CJNEA,#9,LL9

LL9:

CJNEA,#11,LLA

CJNEA,#30,ZHUAN

LLA:

AJMPWW6

WW6:

MOVA,DAY;

闰年中的1、3、5、7、8、10、12月

CJNEA,#31,ZHUAN

ZHUAN:

AJMPSET2

WW2:

MOVA,MONTH;

看是闰年中的哪一月

非闰年中的2月为28天,到28则清零

非润年中的4、6、9、11月为30天其他

CJNEA,#28,ZHUAN31天

中断子程序和时间的增一;

**********************************

ET_0:

MOVTH0,#(65536-50000)/256

MOVTL0,#(65536-50000)MOD256

INCTIME

MOVA,TIME

CJNEA,#20,DIAN

AJMPZM

ZM:

INCSECOND

MOVTIME,#0;

TIME为20时SECOND加一同时对TIME

MOVA,SECOND清零

CJNEA,#60,DIAN

ZF:

INCMINUTE

MOVSECOND,#0;

SECOND为60时MINUTE加一同时SECOND

MOVA,MINUTE清零

ZS:

INCHOUR;

MINUTE为60时HOUR加一同时MINUTE

MOVMINUTE,#0清零

MOVA,HOUR

CJNEA,#24,DIAN

AJMPZR;

HOUR为23时DAY加一同时HOUR清零

ZR:

INCDAY

MOVHOUR,#0

MOVA,YEAR

MOVB,#4

JZRUN;

闰年则转RUN

AJMPNRUN;

非闰年则转NRUN

DIAN:

RETI;

是否为闰年中的2月,是则到了29就

RUN:

MOVA,MONTHMONTH加一同时DAY清零

CJNEA,#3,NEXT1;

是否为闰年中的4、6、9、11月,是则到

了30MONTH就加一同时DAY清零

AJMPBB1;

闰年中的1、3、5、7、8、10、12月为31

天到了31则MONTH加一DAY清零

NEXT1:

MOVA,MONTH

CJNEA,#5,NEXT2

AJMPBB2

NEXT2:

CJNEA,#7,NEXT3

NEXT3:

CJNEA,#10,NEXT4

NEXT4:

CJNEA,#12,NEXT5

NEXT5:

AJMPBB3

BB1:

CJNEA,#30,DIAN

AJMPZY

BB2:

CJNEA,#31,DIAN

BB3:

CJNEA,#32,DIAN

BB4:

CJNEA,#29,DIAN

AJMPZY

NRUN:

CJNEA,#3,NEXT6;

非闰年中的2月到了28就MONTH

加一同时DAY清零

AJMPBB4;

非闰年中的4、6、9、11月到了30天

NEXT6:

MOVA,MONTH则MONTH加一同时DAY清零CJNEA,#5,NEXT7;

非闰年中的1、3、5、7、8、10、12

AJMPBB2月为31天到了则MONTH加一同时DAY清零

NEXT7:

MOVA,MONTH

CJNEA,#7,NEXT8

NEXT8:

CJNEA,#

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

当前位置:首页 > 工程科技 > 冶金矿山地质

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

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