毕业设计论文数字钟设计.docx

上传人:b****0 文档编号:17502381 上传时间:2023-07-26 格式:DOCX 页数:19 大小:550.75KB
下载 相关 举报
毕业设计论文数字钟设计.docx_第1页
第1页 / 共19页
毕业设计论文数字钟设计.docx_第2页
第2页 / 共19页
毕业设计论文数字钟设计.docx_第3页
第3页 / 共19页
毕业设计论文数字钟设计.docx_第4页
第4页 / 共19页
毕业设计论文数字钟设计.docx_第5页
第5页 / 共19页
毕业设计论文数字钟设计.docx_第6页
第6页 / 共19页
毕业设计论文数字钟设计.docx_第7页
第7页 / 共19页
毕业设计论文数字钟设计.docx_第8页
第8页 / 共19页
毕业设计论文数字钟设计.docx_第9页
第9页 / 共19页
毕业设计论文数字钟设计.docx_第10页
第10页 / 共19页
毕业设计论文数字钟设计.docx_第11页
第11页 / 共19页
毕业设计论文数字钟设计.docx_第12页
第12页 / 共19页
毕业设计论文数字钟设计.docx_第13页
第13页 / 共19页
毕业设计论文数字钟设计.docx_第14页
第14页 / 共19页
毕业设计论文数字钟设计.docx_第15页
第15页 / 共19页
毕业设计论文数字钟设计.docx_第16页
第16页 / 共19页
毕业设计论文数字钟设计.docx_第17页
第17页 / 共19页
毕业设计论文数字钟设计.docx_第18页
第18页 / 共19页
毕业设计论文数字钟设计.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

毕业设计论文数字钟设计.docx

《毕业设计论文数字钟设计.docx》由会员分享,可在线阅读,更多相关《毕业设计论文数字钟设计.docx(19页珍藏版)》请在冰点文库上搜索。

毕业设计论文数字钟设计.docx

毕业设计论文数字钟设计

学号:

1211431034

课程设计报告

数字钟设计

院系电子信息工程学院

专业电子信息工程

班级1

姓名马梦珂

 

摘要

数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,已得到广泛的使用。

数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

数字钟就是由电子电路构成的计时器,是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。

它的计时周期为24小时,显示满刻度为23时59分59秒,另外应该该有校时功能和报时,整体清零等附加功能。

主电路系统由秒信号发生器,时、分、秒计时器,译码器及显示器,校时电路,整体清零电路,整点报时电路组成。

秒信号发生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。

秒信号产生器将标准信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。

“分计数器”也采用60进制计数器,发出一个“时脉冲”信号,该信号将被送到“时计数器”,“时计数器”采用24进制计时器,可实现一天24小时的累计,

本课题利用了单片机的数码管和定时器相关知识,采用AT89C51单片机子控制核心,结合LED数码管实现时分秒的显示。

硬件电路设计主要包括中央处理单元电路,键盘扫描电路。

软件程序则采用VC语言实现。

本设计实现了显示时间、调整时间等功能,达到了设计的目的和要求。

并在Proteus软件上进行了仿真和调试。

关键词:

计时器,计数,译码,校时,数字时钟,单片机,仿真调试

 

1引言

1.1研究背景及意义

 随着科技文明的发展,人们对时钟这种生活必需品的要求在不断提高。

它不仅仅被看成是一种用来显示时间的工具,高精度、体积小、多功能、低功耗是时钟发展的必然趋势。

所以,时钟的数字化、多功能化已经成为现代时钟生产研究的主导方向。

数字钟是一种数字电路技术来实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。

广泛用于个人家庭、码头、车站、办公室等公共场所,成为人们日常生活中不可缺少的必需品,由于数字集成电路的发展和石英晶体震荡器的广泛使用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

所有这些,都是以钟表数字化为基础的。

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

1.2国内外研究现状

数字电子技术的迅速发展,使各种类型集成电路在数字系统、控制系统、信号处理等方面得到了广泛的应用。

为了适应现代电子技术迅速发展的需要,能够较好地面向数字化和专用集成电路的新时代。

目前,数字钟以其体积小、重量轻、抗干扰能力强、对环境要求高、高精确性、容易开发等特性,在工业控制系统、智能化器仪表、办公自动化等诸多领域取得了极为广泛的应用,并已经走入了寻常百姓家。

因此,数字钟技术开发和应用跟我们生活密切相关。

2硬件设计

2.1元件组成

在本设计中,组成电路原理图的元件有:

芯片AT89C51一个;共阴极8位数码管一个;按键3个;普通电容2个;电解电容一个;晶振(CRYSTAL)一个;电阻若干。

2.2设计要求

能够显示23时59分59秒,归零后重新开始,具有校时、校分、校秒功能,具有整点报时功能。

2.3电路组成

在本设计系统中,数字钟的设计原理图包括晶振电路、键盘控制电路、复位电路、数码管显示电路、分频电路、时分秒计数电路、校时电路、译码显示电路和功能扩展电路。

晶振电路:

全称为晶体震荡器,主要作用是产生单片机所需的时钟频率。

单片机执行程序所需的时间完全取决于晶振所提供的时钟频率。

晶振电路如图1所示。

图1

复位电路:

复位是单片机的初始化操作。

单片机启动运行时都需要先复位,其作用是使CPU及系统中其他部件处于一个确定的初始状态,并且从这个状态开始工作。

其电路图如图2所示。

图2

键盘控制电路:

数字钟最基本的功能除了能正常显示时间外,还需要对时间进行设置和调整,所以要配以相应的键盘控制电路。

该设计的键盘控制电路主要包括3个按键:

P0.0控制“秒”的调整,每按一次加1s;P0.1控制“分”的调整,每按一次加1min;P2.0控制“时”的调整,每按一次加1h。

键盘控制电路图如图3所示。

图3

数码管显示电路:

本次设计选择共阴极数码管,其中有6位显示“时”,“分”,“秒”,剩下两位显示“—”。

数码管A至DP接单片机P1端口,1至9接单片机P3端口。

其电路图如图4所示。

图4

分频电路:

分频器能将高频脉冲变换为低频脉冲,它可由触发器以及计数器来完成。

由于一个触发器就是一个二分频,N个触发器就是2n个分频器,如果用计数器做分频器,就要按进制数进行分频。

分频器的功能主要有两个:

一个是产生标准秒脉冲信号,二是提供功能扩展电路所需要的信号,如图5所示:

图5

时分秒计数器:

计数电路就要用到计数器,而计数器又有同步和异步之分。

这里时计数电路要用到24进制计数器;分、秒计数器则需要用到60进制计数器。

74160计数器不仅具有二进制加法计数功能,还具有预置数、保持、和异步置零等附加功能。

如图6所示:

图6

校时电路:

当数字钟的显示时间于实际时间不同时,必须予以校准,校准电路如图7所示:

图7

译码显示电路如图8所示:

图8

3软件设计

在本设计系统中,要求达到的目的是设计一个电子时钟,显示格式为“XX:

XX:

XX”,由左向右分别是时、分、秒。

开机时,显示00:

00:

00的时间开始计时;当时间不准时,可校时,P0.0控制“秒”的调整,每按一次加1s;P0.1控制“分”的调整,每按一次加1min;P2.0控制“时”的调整,每按一次加1h。

计时满23:

59:

59时,返回00:

00:

00重新计时。

3.1电路原理图设计

根据设计要求,有上述各电路课组成数字钟系统结构图。

其结构图如图9所示。

图9

由结构图可以在proteus仿真软件中画出原理图。

其原理图如图10所示。

图10

3.2源程序

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

#definePPP1

ucharcodeSEG7[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

//显示缓冲

ucharnum[]={1,2,3,4,5,6,7,8};

uchardian=0xbf;

//定义数码管显示位码的端口P20--P25

sbitq1=P3^7;

sbitq2=P3^6;

sbitq3=P3^5;

sbitq4=P3^4;

sbitq5=P3^3;

sbitq6=P3^2;

sbitq7=P3^1;

sbitq8=P3^0;

//按键123456

sbitk3=P0^0;

sbitk2=P0^1;

sbitk1=P2^0;

//显示时间

uinth=0;

uintmin=0;

uintmiao=0;

//计数器计时变量

uintjishu1=0;

//时分秒变量

uinth1=18;//

uintm1=0;//

uints1=20;//

//延时函数ms

void_delay_ms(uintt)

{

uinti,j;

for(i=0;i

for(j=0;j<250;j++);

}

//延时函数us

void_delay_us(uchart)

{

while(t>0)t--;

}

//显示子函数

voiddispaly()

{

//------------------------------------------

//显示时间

//------------------------------------------

//载入第12345678个数码管显示缓冲-

num[0]=SEG7[h%100/10];

num[1]=SEG7[h%10];

num[2]=dian;

num[3]=SEG7[min%100/10];

num[4]=SEG7[min%10];

num[5]=dian;

num[6]=SEG7[miao%100/10];

num[7]=SEG7[miao%10];

PP=~num[0];

//送位码

q1=0;

//延时后关闭位码

_delay_ms

(1);

q1=1;

//送段码---------------

PP=~num[1];

//送位码

q2=0;

//延时后关闭位码

_delay_ms

(1);

q2=1;

//送段码---------------

PP=~num[2];

//送位码

q3=0;

//延时后关闭位码

_delay_ms

(1);

q3=1;

//送段码---------------

PP=~num[3];

//送位码

q4=0;

//延时后关闭位码

_delay_ms

(1);

q4=1;

//送段码---------------

PP=~num[4];

//送位码

q5=0;

//延时后关闭位码

_delay_ms

(1);

q5=1;

//送段码---------------

PP=~num[5];

//送位码

q6=0;

//延时后关闭位码

_delay_ms

(1);

q6=1;

PP=~num[6];

//送位码

q7=0;

//延时后关闭位码

_delay_ms

(1);

q7=1;

//送段码---------------

PP=~num[7];

//送位码

q8=0;

//延时后关闭位码

_delay_ms

(1);

q8=1;

}

//按键处理函数

voidkey()

{

//按键端口拉高

k1=1;k2=1;k3=1;

//判断按键

if(k1==0){_delay_ms(50);if(k1==0)h=(h+1)%24;}

if(k2==0){_delay_ms(50);if(k2==0)min=(min+1)%60;}

if(k3==0){_delay_ms(50);if(k3==0)miao=(miao+1)%60;}

}

//主函数-

voidmain(void)

{

_delay_us

(1);

//-------定时器0配置

TMOD=0x01;

//使能定时器0

ET0=1;

//定时器的初值

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

//停止开启定时器0

TR0=1;

//使能中断

EA=1;

while

(1)

{

dispaly();//-----------显示子函数

key();//-----------按键处理

}

}

//----T0计数

voidTime0()interrupt1

{

//重装初值50ms;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

//时间缓冲+1;

jishu1=jishu1+1;

if(jishu1>=20)

{

jishu1=0;

miao++;

if(miao>59)

{

min++;

miao=0;

if(min>59){h=h+1;min=0;}

if(h==24)h=0;

}

}

}

4系统调试与实验

Keil软件是德国Keil公司推出的单片机软件编译器,其中uV3集成化开发环境工具和C51编译器主要用于典型的8051单片机系统开发。

KeiluV3可以编辑、编译汇编语言、C51语言,连接定位目标文件和库文件,创建“.hex”文件,调试目标程序等。

所以我们可以用该软件来开发工程,调试程序,最终生成的“.hex”文件是可以执行的代码文件,用于Proteus中单片机系统的程序开发与仿真。

打开KeilVision3,新建KEIL项目,选择AT89C51单片机作为CPU,新建汇编源文件,编写程序,并将其导入到“SourceGroup1”中。

在"OptionforTarget"对话框中,选中”Output“选项卡中的”CreateHEXFile"。

最终会生成“.hex”代码文件。

在ProeusISIS中,画出上述原理图,鼠标双击89C51芯片,在ProgramFile栏中添加生成的“.hex”文件。

完成后即可开始调试。

下图是分别为开机状态和启动状态下的数字钟调试结果。

开机状态启动状态

本次设计完成了一个数字钟的设计,其显示格式为“XX:

XX:

XX”,由左向右分别是时、分、秒。

开机时,显示00:

00:

00的时间开始计时;当时间不准时,可校时,P0.0控制“秒”的调整,每按一次加1s;P0.1控制“分”的调整,每按一次加1min;P2.0控制“时”的调整,每按一次加1h。

计时满23:

59:

59时,返回00:

00:

00重新计时,达到了课程设计的目的和要求。

5总结

在本次设计中,从开始的收集资料到修改程序、设计电路、画原理图、到完成调试这一过程中,使我更加熟悉了单片机的相关知识以及仿真软件的应用,同时也提高了自己的动手实践能力,更为重要的是培养了自身科学严谨的学习态度,一点小错误都有可能导致结果的偏差。

同时为我以后做毕业设计积累了一定的经验。

可以说本次课程设计让我收获颇丰。

通过本次实验,是我对已学过的电路、数电、模电等电子的知识更深一步的了解。

刚开始做这个设计的时候感到不知从何下手,脑子里比较凌乱,通过从温已学过的知识和参考一些文献,和老师的指导,使我对所设计的课题有所了解。

最后,感谢一下老师给我一次实践的机会。

使我增加了知识面。

参考文献

阎石。

数字电子技术基础.5版.北京:

高等教育出版社,2006

张毅刚。

单片机原理及接口技术[M].人民邮电出版社,2011

康华光。

电子技术基础:

数字部分.4版.北京:

高等教育出版社.2000

张毅刚。

基于Proteus的单片机课程的基础实验与课程设计[M].人民邮电出版社,2012

朱清慧。

Proteus教程,清华大学出版社,2008

彭伟,等。

单片机C语言程序设计实训100例[M].北京:

电子工业出版社,2010

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

当前位置:首页 > 农林牧渔 > 林学

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

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