沈理单片机课设电子钟Word格式文档下载.docx

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

沈理单片机课设电子钟Word格式文档下载.docx

《沈理单片机课设电子钟Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《沈理单片机课设电子钟Word格式文档下载.docx(21页珍藏版)》请在冰点文库上搜索。

沈理单片机课设电子钟Word格式文档下载.docx

1引言

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

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

数字式电子钟用集成电路计时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,设定闹钟和整点报时。

电子钟在工业控制和日常生活中是很重要的,它不仅可以用于计时、提醒又可用于对机器的控制,在自动化的过程中必然有电子钟的参与,因此,电子钟的应用会越来越广泛。

而且随着电子技术的不断提高,电子钟也将向着更加精确、更低的功耗、多功能的方向发展。

这是由于电子钟有如此多的功能及广泛的应用范围,因此,电子钟的研究及扩大其在各个领域的应用,有着非常现实和价值的意义。

 

2总体设计

2.1时钟的基本原理分析

利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。

为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。

由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。

2.2时钟设计分析

针对要实现的功能,采用AT89S52单片机进行设计,AT89S52单片机是一款低功耗,高性能的单片机,器件采用高密度、非易失性存储技术制造,兼容标准MCS-52指令系统及80C52引脚结构。

这样,既能做到经济合理又能实现预期的功能。

在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。

程序可分为闹钟的时间显示程序、时间调整程序、闹钟调整程序、定时调整程序,延时程序等。

运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。

准备实现的目标:

(1)可以像正常的时钟一样准确显示时间。

(2)整点报时功能,能够在整点时刻进行短暂的报警。

(3)闹钟功能,能够在预先设定的时刻进行近乎10秒的报警,以实现闹钟。

(4)电子钟可自由设定时间。

2.3系统的结构框图

图1电路的总体设计框架

图2电路的分部设计框架

3详细设计

3.1硬件设计

3.1.151单片机的简单介绍

单片机是一种采用超大规模集成电路技术,它把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器、计数器等集成到一块硅片上,构成了一个小而完善的小计算机系统的集成电路芯片。

51单片机是对目前所有兼容Intel8031指令系统的单片机的统称,该系列单片机的始祖是Intel的8031单片机,后来随着Flanshrom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一。

51单片机是基础入门的一个单片机,还是应用最广泛的一种。

3.1.2时间设置

如图3开关从上到下分别是秒钟加1、分钟加1、分钟减1、时钟加1、时钟减1和设定闹铃。

图3时间设置模块

3.1.3闹钟设置

如图4开关从上到下分别是秒钟加1、秒钟减1、分钟加1、分钟减1、时钟加1、时钟减1。

图4闹钟设置模块

3.1.4显示部分

设定电子钟的初始值为12:

00:

00,显示部分如图5所示。

图5显示模块

3.1.5硬件原理图

各模块拼接组合,电路总体设计图如图5。

数码管位选的8个端口接在单片机的P2口,段选端则接在单片机的P0口,由于P0口;

内部没有接电阻,因此需在P0口外部接一个10k的排阻,并将其上拉。

按键分别接在单片机的P1和P3口,用来调整时间。

图6硬件原理图

3.2软件设计

3.2.1整体程序

#include<

reg51.h>

absacc.h>

#defineucharunsignedchar

#defineuintunsignedint

ucharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,//段定义

0xbf,0x86,0xcb,0xcf,0xef,0xed,0xfd,0x87,0xff,0xdf,};

ucharsecond=0;

ucharminute=0;

ucharhour=12;

//正常显示时间的定义

//闹钟时的定义

ucharshi=0;

//闹钟时的定义

ucharfen=0;

//闹钟分的定义

ucharmiao=0;

//闹钟秒的定义

ucharbjcs;

//报警次数

ucharmstcnt=0;

sbitP10=P1^0;

//秒键加

sbitP11=P1^1;

//分键加

sbitP12=P1^2;

//分键减

sbitP13=P1^3;

//时键加

sbitP14=P1^4;

//时键减

sbitP15=P1^5;

//整点报时

sbitP16=P1^6;

//闹钟

sbitP17=P1^7;

//关闭闹铃

sbitP30=P3^0;

//闹钟秒的调整加

sbitP31=P3^1;

//闹钟秒的调整减

sbitP32=P3^2;

//闹钟分的调整加

sbitP33=P3^3;

//闹钟分的调整减

sbitP34=P3^4;

//闹钟时的调整加

sbitP35=P3^5;

//闹钟时的调整减

/*函数声明*/

voiddelay(uintk);

voidtime_pro();

voiddisplay();

voidkeyscan();

voidzhengdian();

voidnaozhong();

//延时子程序,采用for循环的方法实现

voiddelay(uintk)

{

ucharj;

while((k--)!

=0)

{

for(j=0;

j<

250;

j++)

{;

}

}

//时间处理子程序

voidtime_pro(void)

if(second==60)

second=0;

minute++;

if(minute==60)

minute=0;

hour++;

if(hour==24)

{hour=0;

}

//显示子程序

voiddisplay(void)

{

if(P16==1)

P2=0xfe;

//共阴极数码管低电平0有效

P0=dispcode[hour/10];

delay

(1);

P2=0xfd;

P0=(dispcode[hour%10]);

P2=0xfb;

P0=0x40;

P2=0xf7;

P0=(dispcode[minute/10]);

P2=0xef;

P0=(dispcode[minute%10]);

P2=0xdf;

P2=0xbf;

P0=dispcode[second/10];

P2=0x7f;

P0=dispcode[second%10];

//键盘扫描子程序

voidkeyscan(void)

if(P10==0)

delay(50);

second++;

{second=0;

if(P11==0)

{minute=0;

if(P12==0)

minute--;

if(minute==-1)

{minute=59;

if(P13==0)

if(P13==0)

hour++;

if(P14==0)

hour--;

if(hour==-1)

{hour=23;

/***************************整点报警子程序***************************/

voidzhengdian(void)

if((second==0)&

(minute==0))//整点报时

P15=0;

delay(50);

P15=1;

/******************************闹钟*******************************/

voidnaozhong(void)

if(P16==0)//按住P16显示闹钟界面

P0=dispcode[shi/10];

P0=(dispcode[shi%10]);

P0=(dispcode[fen/10]);

P0=(dispcode[fen%10]);

P0=dispcode[miao/10];

P0=dispcode[miao%10];

if(P30==0)//设定秒

delay(30);

if(P30==0)

miao++;

if(miao==60)

miao=0;

if(P31==0)

miao--;

if(miao==-1)

{miao=59;

if(P32==0)

delay(30);

fen++;

if(fen==60)

{fen=0;

if(P33==0)

fen--;

if(fen==-1)

{fen=59;

if(P34==0)

if(P34==0)

shi++;

if(shi==24)

{shi=0;

if(P35==0)

if(P35==0)

shi--;

if(shi==-1)

{shi=23;

if((hour==shi)&

(minute==fen)&

(second==miao))//闹钟时间到,开始报警

for(bjcs=0;

bjcs<

5;

bjcs++)

P17=0;

delay(200);

P17=1;

//中断系统子程序

voidtimer0(void)interrupt1using0//50ms中断一次

TH0=0x3c;

TMOD=0x01;

mstcnt++;

if(mstcnt==19)

second++;

mstcnt=0;

//主函数

voidmain(void)

voidzhengdian(void);

P1=0xff;

//初始化

TMOD=0x01;

TH0=(65536-50000)/256;

//预置计数初值,50ms

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

while

(1)

keyscan();

time_pro();

zhengdian();

naozhong();

display();

3.2.2程序流程图

4实验结果及分析

4.1硬件实物图

焊接好的电路如图8所示:

图8实物图

(1)

接通电源后如图9所示:

图9实物图

(2)

预设定时间,当到达时间后显示如图10

图10实物图(3)

4.2实验结果分析

电子钟通电之后,默认初始值为12:

00,左侧的按键可以校正时间,右侧按键设置闹钟。

到规定的闹钟时间响的时候,蜂鸣器会发生警报,并伴随着小灯的闪烁。

每到整点时,电子钟会自动报时。

5心得体会

本次课程设计很好的锻炼了我们的动手能力以及团队合作能力,使我加深了对单片机的认识,并且熟悉了单片机系统的设计流程,收获丰硕。

让我们开阔了视野,同时也增长了见识,在课余时间发挥想象和积极思考,锻炼了自己的思维能力。

在元件的选择和电路的设计上我们大胆创新,敢于尝试,并且积极搜查资料,认真分析,选择出最优的电路组合,使整个系统能够按照设计要求稳定运行。

功能上基本达标:

时钟的显示,调时功能,闹钟及整点报时功能。

精确度完全可以满足日常生活显示时间的需要,调时功能,方便快捷。

硬件设施合乎要求,软件设计可以配合硬件实现其功能。

从这次的课程设计中,我真正的体会到,知识的重要性,特别是理论联系实际,把我们所学的理论知识运用到实际生活当中。

参考文献

[1]刘盛雄,周奇,韦1.H.G.GragonTheElementsofSingle-ChipMicrocomputer

ArchitectureComputer,1980(13)27~41

[2]何立民我国单片机应用技术发展趋势及展望自动化与仪表,1992

(1)1~5

[3]张静基于单片机数字钟的设计办公自动化杂志,2006(89)4~5

[4]攀金荣,谢智文数字倒计时秒表的设计与实现中南敏粗大学计算机科学学院

院报,2005

(1)62~63

[5]周兴华一款电路极简单的单片机电子钟设计详解电子制作,2003(10)31

[6]郭长立DDJ-II型多功能单片机计时器的改进设计仪表技术2004(4):

29~30

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

当前位置:首页 > 工程科技 > 能源化工

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

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