基于单片机AT89C51操纵的电子时钟课题设计报告.docx

上传人:b****6 文档编号:5829615 上传时间:2023-01-01 格式:DOCX 页数:18 大小:188.40KB
下载 相关 举报
基于单片机AT89C51操纵的电子时钟课题设计报告.docx_第1页
第1页 / 共18页
基于单片机AT89C51操纵的电子时钟课题设计报告.docx_第2页
第2页 / 共18页
基于单片机AT89C51操纵的电子时钟课题设计报告.docx_第3页
第3页 / 共18页
基于单片机AT89C51操纵的电子时钟课题设计报告.docx_第4页
第4页 / 共18页
基于单片机AT89C51操纵的电子时钟课题设计报告.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

基于单片机AT89C51操纵的电子时钟课题设计报告.docx

《基于单片机AT89C51操纵的电子时钟课题设计报告.docx》由会员分享,可在线阅读,更多相关《基于单片机AT89C51操纵的电子时钟课题设计报告.docx(18页珍藏版)》请在冰豆网上搜索。

基于单片机AT89C51操纵的电子时钟课题设计报告.docx

基于单片机AT89C51操纵的电子时钟课题设计报告

课程设计报告

 

论文题目单片机-电子钟

专业班级

学生姓名

学号

指导教师

 

宁波技师学院电气技术系

二零一三年九月

摘要

数字钟是一种用数字电路技术实现时、分、秒计时的装置,在现实生活中,各类数字钟已取得超级普遍的利用.数字钟的设计方式有许多种,例如可用中小规模集成电路组成数字钟,也能够利用好单片机来实现数字钟等。

这些方式都各有特点,其中利用中小规模集成电路组建数字钟,原理简单,但由于集成电路集成度有限,关于需要实现较多功能的电路设计比较复杂,关于制作者焊接和布线有比较高的要求。

用单片机实现的电子钟具有结构简单,并便于功能的扩展,但需要涉及到汇编和C语言编写程序,对设计者有较高的要求。

 

1引言

数字钟是采纳数字电路实现对时、分、秒,数字显示的计时装置普遍用于个人家庭,车站,码头,办公室等公开场合,成为人民日常生活中不可少的必需品,由于数字集成电路的进展和石英振荡器的普遍应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们生活带来极大的方便,而且大大地扩展了钟表原先的报时功能。

比如按时自动报警,校时自动打铃,自动启闭路灯等,所有这些,都是以钟表数字化为基础的。

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

 

2.整体设计方案

系统设计方案

本次设计的题目是能够正常的显示时、分、秒。

本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C51为核心元件,同时采纳四位一体数码管动态显示“时”、“分”、“秒”的现代计时装置。

它具有显示直观,校时功能等特点,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优势。

本次设计可分为两部份:

硬件部份、软件部份。

硬件部份包括:

AT89C51单片机四位一体显示器。

要紧由AT89C51单片机、显示输出电路、按钮输入电路等几大部份组成。

具体说来,系统智能操纵部份由单片机及其相关的外围电路组成,外围电路包括复位电路、数字钟电路、键盘设计。

利用单片机将复位电路、显示电路等正确的连接在一路,并通过单片机的编程来实现本次设计任务中的要求。

结构框图

3硬件设计

时钟电路

89C51片内没有一个由反向放大器所组成的震荡电路,XTAL1和XTAL2别离是振荡电路的输入端和输出端。

内部方式时钟电路只要在XTAL1和XTAL2引脚上外接按时元件,内部振荡电路就能够产生自激震荡,晶体频率能够在到12MHZ之间,电容值在5PF到30PF之间,电容可起频率微调作用,在5PF到30PF之间,频率越高,电容值越小

3.2复位电路

按键电平复位是通过复位端经电阻与VCC接通而实现的,也是一个高电平有效电路,无极电容C的两头不能突变,因此Ua=Vcc,Uab=Ua-Ub,Ub=Ua-Uab

四位一体数码管显示

4软件设计

主程序流程图

初始化

 

voidcsh(void)

{

TMOD=0X11;

TH0=0XF8;

TL0=0X30;

smg=0xff;

EA=1;

ET0=1;

minute=0;

minute1=0;

TH1=0xd8;

TL1=0xf0;

TR1=1;

ET1=1;

lsd_4=1;

 

数码管显示

voidsmgxs(void)

{

if(xtw==1)

{

xt_en4=1;

smg=smgxsm[qw];

xt_en1=0;

}

if(xtw==2)

{

xt_en1=1;

smg1=smgxsm[bw];

if(dp_en==1)

{

smg=smg1&0x7f;

}

else

{

smg=smg1;

}

xt_en2=0;

}

if(xtw==3)

{

xt_en2=1;

smg=smgxsm[sw];

xt_en3=0;

}

if(xtw==4)

{

xt_en3=1;

smg=smgxsm[gw];

xt_en4=0;

}

}

 

数码管关闭

voidsmggb(void)

{

smg=0xff;

}

 

按键处置

voidkey_cl(void)

{

if(zqz==0)

{

if(ziqz==1&&dqz==1)

{

smg_en=!

smg_en;

TR0=1;

}

if(ziqz==2&&dqz==2)

{

smg_tz=!

smg_tz;

}

if(ziqz==3&&dqz==3)

{

sj_xz=!

sj_xz;

}

if(ziqz==4&&dqz==4)

{

sjsz++;

if(sjsz==5)

{

sjsz=0;

}

}

if(ziqz==7&&dqz==7)

{

clock_en=1;

}

if(sjsz==1)

{

lsd_1=0;

if(ziqz==5&&dqz==5)

{

minute1++;

if(minute1>=10)

{

minute1=0;

minute++;

}

if(minute>=6)

{

minute=0;

minute1=0;

}

}

if(ziqz==6&&dqz==6)

{

minute1--;

if(minute1==-1)

{

minute1=9;

minute--;

}

if(minute==-1)

{

minute1=9;

minute=5;

}

}

}

if(sjsz==2)

{

lsd_1=1;

lsd_2=0;

if(ziqz==5&&dqz==5)

{

hour1++;

if(hour1>=10)

{

hour1=0;

hour++;

}

if(hour>=2&&hour1>=4)

{

hour=0;

hour1=0;

}

}

if(ziqz==6&&dqz==6)

{

hour1--;

if(hour1==-1)

{

hour1=9;

hour--;

}

if(hour==-1)

{

hour=2;

hour1=3;

}

}

}

if(sjsz==3)

{

lsd_3=0;

lsd_2=0;

if(ziqz==5&&dqz==5)

{

c_hour1++;

if(c_hour1>=10)

{

c_hour1=0;

c_hour++;

}

if(c_hour>=2&&c_hour1>=4)

{

c_hour=0;

c_hour1=0;

}

}

if(ziqz==6&&dqz==6)

{

c_hour1--;

if(c_hour1==-1)

{

c_hour1=9;

c_hour--;

}

if(c_hour==-1)

{

c_hour=2;

c_hour1=3;

}

}

}

if(sjsz==4)

{

lsd_3=0;

lsd_1=0;

lsd_2=1;

if(ziqz==5&&dqz==5)

{

c_minute1++;

if(c_minute1>=10)

{

c_minute1=0;

c_minute++;

}

if(c_minute>=6)

{

c_minute=0;

c_minute1=0;

}

}

if(ziqz==6&&dqz==6)

{

c_minute1--;

if(c_minute1==-1)

{

c_minute1=9;

c_minute--;

}

if(c_minute==-1)

{

c_minute1=9;

c_minute=5;

}

}

}

}

}

 

5制作与调试

在决定做数字钟的时候,先在PROTUES上画好图,进行仿真,刚开始的时候显现了几个错误,用错了了几个元器件,通过几回修改以后,终于在PROTUES上做好了,接着到Protel99S进行画图,因为已经在PROTUES上画好图了,因此只要对着PROTUES画图就能够够了,大体上没什么困难,但有些图在图库上没有,要自己手动去画,花了比较上的时刻,还有一个四位一体数码管的管脚,只要一画错,大体上就很麻烦了,因此画封装的时候,必然要弄懂四位一体数码管管脚是怎么接的,另外有几个元器件封装也要自己画。

在Protel99S上画完图以后打印给教师看,教师看了以后给我指出了几个小错误,而且跟我一样的有很多,以前全然没注意到过,老是以为自己看的懂就好了,此刻明白不仅要自己看的懂,他人也一样要看得懂,不然画图就没意义了,改好以后又给教师看了一遍,教师感觉没问题就给我签字了,去把器件领好。

领好以后在Protel99S上画原理图,画完以后发觉因为封装缘故有好几个地址需要修改,浪费了比较长的时刻,画好以后去打印出来给教师去看,教师说三极管的封装不对,过小了,会出问题,看了一下,发觉真的有点小,改好以后检查一下,看看还有无不够大的,发觉按键貌似也有点小,很难放进去,于是把按钮的封装也改了一下,通过元器件一个一个放置以后,又给教师看了看,教师说没问题就去做电路板吧,于是当天晚上就开始加夜班,争取把电路板早点完成,还好晚上人也不是很多,也就十多个,也就在侵蚀电路板的时候等了一些时刻,其余的时候没人跟你抢,板完成以后就开始焊元器件了,只是因为之前侵蚀和打孔的时候有几个孔比较难焊,因此那几个焊的比较难看,之前数字钟的程序写过,已经烧进单片机里面了,因此直接插进去就好了,结果是失望的,但庆幸的是,最最少电路没接错,只是反映跟预期的不一样罢了,反了一下,教师说有人看表是如此看的,还不累死,只能程序改一下,把位选通改了一下,又把程序烧到单片机内,还好,成功了,不然估量要崩溃了,确信没问题以后给教师看过,就把电路板上交了。

6结论

通过这次实习,我发觉了自己的很多的坏适应,有一些是常常犯的,已经不是一次两次了,明明明白是你对的,但有时候确实是操纵不住去犯了,比如粗心大意,常常出一些小问题,可是出的问题不是很难的那种,只要注意点全然就能够够幸免。

还发觉自己的很多不足,有时候有点懒惰,专业明白学的也不够扎实,希望通过以后的时刻能够更正这些坏适应。

附录1系统实物图

附录2仿真图

附录三原理图

附录四PCB图

 

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

当前位置:首页 > 工作范文 > 其它

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

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