LED数码管设计的可调式电子钟说明说.docx
- 文档编号:30017126
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:22
- 大小:519.92KB
LED数码管设计的可调式电子钟说明说.docx
《LED数码管设计的可调式电子钟说明说.docx》由会员分享,可在线阅读,更多相关《LED数码管设计的可调式电子钟说明说.docx(22页珍藏版)》请在冰豆网上搜索。
LED数码管设计的可调式电子钟说明说
课程设计说明书
用LED数码管设计的可调式电子钟
专业
学生姓名
班级
学号
指导教师
完成日期
2013年6月28日
用LED数码管设计的可调式电子钟
摘要:
数字电子时钟电路设计系统,以AT89C51单片机为控制核心,由键盘显示、定时闹铃、LED共阴极数码管和LED灯显示等功能模块组成。
基于题目基本要求,本系统对时间
显示和定时报警进行了重点设计。
本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。
本系统不仅成功的实现了要求的基本功能,而且有一定的创新功能。
关键字:
单片机;AT89C51;数字钟
Abstract:
Thisdigialelectronicclockcircuitdesignsystem,basedonchipmicrocomputerAT89C51,iscomposedbythefollowingfunctionalmodules:
keyboarddisplaying,timingalarmg.commoncathodeLEDdigitaltube,LEDlightsdisplay,andsoon.Accordingtothebasicrequirementsofthesubject,thesystemstressesontherealizationofTimedisplayandregularlyreporttothepolice.Thedesignachievedtherequiredbasictechnicalindexes.Furthermore,adoptingtheiedaofhardware-to-software,mostofthosefunctionsarerealizedbysoftwares,whichmakestheelectrocircuitmoreconciseandthesystemmorestable.
Keywords:
chipmicrocomputer;AT89C51:
digitalelectronicclock
1概述
1.1课题研究的目的和意义
此次设计是单片机内部的定时/计数器来实现电子时钟的方法以及借助键盘直接控制整时的调整,本设计根据AT89C52单片机系统扩展的基本原理和方法,由单片机AT89S52芯片,LED数码管和键盘为核心,辅以必要的电路,构成了一个单片机电子时钟。
一块单片机芯片就是一台计算机,由于单片机以其集成度高、体积小、可靠性高、控制功能强、低电压、低功耗等特点使它应用于智能仪器仪表、机电一体化、实时程控、人类生活中。
除此之外还广泛应用办公自动化领域、商业营销领域、汽车及通信系统、计算机外部设备等各领域中,并且单片机已成为计算机发展和应用的一个重要方面。
由此可见掌握单片机的使用方法和利用单片机解决实际问题具有重要的意义。
而此次的设计刚好用到单片机相关的知识可以说这是这次设计的重要意义和目的所在。
再者,此设计的LED电子时钟主要是显时间的,是时钟用途。
在此设计的基础上人们还可根据不同的需求和不同的设计水平做出不同的设计项目。
也可以加上日期,温度的显示和闹钟的功能。
如果设计水平还更高的话还可以设计LED电子显示屏。
因此说,LED电子时钟设计是最简单和基础的。
而且电子时钟很实用,准确性也很好,也容易调节,若有毁坏更换元器件也简单,制作原理和过程也很易懂易做,成本也不高。
在此设计间也包含了很多的知识,跟我所学专业又对口,所以,做这个LED电子时钟是个很用很好很值得做的设计。
2课题方案论证
2.1系统总体设计要求
本次设计中的LED数码管电子时钟电路采用24小时制记时方式。
本次设计采用AT89C52单片机的扩展芯片和2个74LS04做驱动,由八块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。
设计采用AT89C52单片机,配备11.0592MHz晶振,复位电路为上电复位。
采用软件译码动态显示,考虑直接用单片机I/O口作为位选时可能驱动功率不够,可采用三极管作驱动共阳极数码管显示。
8位8段LED数码管作正常、调时显示,时间按时分秒排列,时钟误差:
24小时误差3~5秒,并且在按键的作用下可以进行调时,调分,复位功能。
本电路采用直流5V电源供电。
同时为了限流保护电路也用了若干个阻值不等的电阻。
在本文一开始做了一些概述主要说明此设计的目的和意义,并会对这类设计项目发展情况做个简介。
这是对这次设计很重要的一个认识是前提和设计者必须明确和了解的。
然后本文对此设计做了一些简要分析,这对理清设计思想很重要。
然后还对设计中用到的元器件进行比较全面的介绍。
只有真正了解了元器件的特性和功能才能让这些元器件在设计中起到作用。
电子整个设计第一步是电路原理图,它直接关系着后续的工作。
接着当原理图完成好后就要为后面的刻板做准备了,这就是PCB印制电路板的制作。
它影响了整个设计的布局是能不能成功的条件。
紧接着就是程序了,如果只有硬件电路而没有程序,那么这个设计将一文不值,也就是说是一堆破铜烂铁。
所以这部分也是非常重要的。
最后结合整个设计总结了一些心得体会为这次的设计画上完满的句号。
也为以后更好的设计提供经验。
2.2系统模块结构论证
按照系统设计功能的要求,确定系统由4个模块组成:
主控制器、扫描驱动、调节电路和显示电路。
数码管电子钟电路结构框图如图2-2所示。
图2-2电路结构图
3系统硬件设计
3.1总体设计
电子钟的原理框图如图3-1所示。
它由以下几个部件组成:
单片机AT89C52、电源、时分秒显示部件。
时分秒显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。
时分显示模块以及显示驱动都通过AT89C52的I/O口控制。
电源部分:
整流稳压来得到+5V电压,维持系统的正常工作。
电子钟系统原理框图如图3-1所示:
图3-1电子钟系统原理框图
3.2最小单片机系统
51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。
51单片机最小系统晶振Y1也可以采用6MHZ或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
51单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好4.P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。
设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。
计数值N乘以机器周期Tcy就是定时时间t。
设置为计数器模式时,外部事件计数脉冲由T0或T1引脚入到计数器。
在每个机器周期的S5P2期间采样T0、T1引脚电平。
当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。
由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2ms
最小系统如图3-2所示:
图3-2最小系统
3.3按键电路
按键电路使用的是AT89C52单片机的P1和P3管脚,可调试电子中的按键总共为四个,够哦那个能分别为确定,设置,加,减。
通过按键电路,我们可以随意调整电子钟的时间,使单片机发挥它的作用。
按键电路图如图3-3所示:
图3-3:
按键电路图
3.4显示电路
可调试电子钟的显示电路采用8位数码管,显示出时间的时,分,秒。
使用的是AT89C52单片机的P0和P2管脚,显示电路中还将用到一块74LS245。
显示电路图如图3-4所示:
图3-4显示电路
4软件设计
4.1主程序
主程序执行流程如图4-1所示,主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。
图4-1主程序流程图
4.2显示子程序
本系统共用8个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。
采用软件译码动态显示。
由于采用8段共阳LED数码管动态扫描实现数据显示,所以显示用十进制BCD码数据的对应段码存放在ROM中。
显示时,先取内存地址中的数据,然后查得对应的显示用段码从P0口输出,P1口将对应的数码管选中供电,就能显示该地址单元的数据值。
4.3定时器/计数器T0中断服务程序
定时器/计数器T0用于时间计时。
选择方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。
在对各单元计数的同时,把它们的值放到存储单元的指定位置。
定时器/计数器T0中断服务程序流程图如图4-3所示。
图4-3中断服务程序
5软硬件联调及调试结果
5.1调试步骤
(1)在KEIL软件中编写程序,完成后,单击“项目”下的“编译”,产生“.hex”文件。
(2)打开proteus软件,画上硬件电路图,保存。
(3)双击AT89C52芯片,在programfile中加入“.hex”文件,按确定。
(4)调试运行。
5.2实际出现的问题及解决方法
在proteus仿真软件调试成功后,实际却出现了一些问题,市场上没有买到排阻,所以用8个10K的电阻代替。
由于数码管无法直接点亮,需要驱动,所以用了非门74LS04作为驱动,可是代码不能再用共阳极的了,所以把代码改成共阴的,实际电路板上就能成功运行了。
仿真图如图5-2所示
图5-2proteus仿真图
5.3实物图正面,实物图背面和实物运行图
图5-3-1实物图正面
图5-3-2实物图反面
图5-3-3实物运行图
结束语
由于电路设计合理,功能电路基本能实现设计要求。
从硬件焊接反方面来说,觉得比较棘手的就是在焊数码管时,和整体器件的布局。
布局不好会影响后面工序的焊接,在这点上我自己觉得做的很不错,布线焊接模块功能区分明确。
在编程中遇到的最大困难就是延时的计算和数码管的显示程序段,在整体程序来看,我采用程序的结构化,使程序明朗,各功能程序段都以子程序的方式调用,所以在主程序中是相当的简单明朗的。
在硬件和软件的结合过程中也遇到比较大的问题,就是一开始数码管不是显示8,就是乱码之类的,进过调试,现在没有出现这样的现象了。
这也是我的一大攻关吧。
但是,对于程序我还是很不好以后在这方面要多多加强。
在整个设计过程中我学会了很多,不仅巩固了我的专业知识,提升了我的学习能力和知识能力,也使我学习到很多书上没有的,更加强了我的动手能力。
从这次的设计中我确实受益匪浅,我想也不枉陆老师对我的一路辅导与帮助。
我相信,以后有机会一定会做更多这样的设计。
大学三年,一晃就过去了,我很想靠自己的专业做个东西给自己留念。
再也就想考验一下自己三年的学习成果,不负老师三年来的教诲和付出的心血。
在做设计的同时使自己再学习、再提高。
是展示自己学习成果的时机,是对自己的一种肯定。
参考文献
[1] 实验指导书(陆广平编)实验12
[2] 李光飞,楼然苗.单片机课程设计指导书[R].北京:
北京航空航天大学出版社,2007
[3] 李广弟.单片机基础[M].北京:
北京航空航天大学出版社,1994
附录
附录1原理图
附录-1原理图
附录2PCB图
附录3proteus仿真图
附录-3proteus仿真图
附录4C语言程序清单
#include
#defineucharunsignedchar
#defineuintunsignedint
uchartemp1,temp2,temp3,aa,miaoshi,miaoge,fenshi,fenge,shishi,shige;
ucharcodetable[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xfd};
voiddisplay(ucharshishi,ucharshige,ucharfenshi,ucharfenge,ucharmiaoshi,ucharmiaoge);
sbitS1=P1^0;
sbitS2=P1^1;
sbitS3=P1^2;
voiddelay(uintz);
voidinit();
voidmain()
{
init();
while
(1)
{
if(S1==0)
{
temp3++;
while(S1==0);
}
if(S2==0)
{
temp2++;
while(S2==0);
}
if(S3==0)
{
temp1++;
while(S3==0);
}
if(aa==20)
{
aa=0;
temp1++;
if(temp1==60)
{
temp1=0;
temp2++;
}
if(temp2==60)
{
temp2=0;
temp3++;
}
if(temp3==24)
{
temp3=0;
}
miaoshi=temp1/10;
miaoge=temp1%10;
fenshi=temp2/10;
fenge=temp2%10;
shishi=temp3/10;
shige=temp3%10;
}
display(shishi,shige,fenshi,fenge,miaoshi,miaoge);
}
}
voiddelay(uintz)
{
ucharx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voiddisplay(ucharshishi,ucharshige,ucharfenshi,ucharfenge,ucharmiaoshi,ucharmiaoge)
{
P2=0xbf;
P0=table[miaoshi];
delay(5);
P2=0x7f;
P0=table[miaoge];
delay(5);
P2=0xf7;
P0=table[fenshi];
delay(5);
P2=0xef;
P0=table[fenge];
delay(5);
P2=0xfe;
P0=table[shishi];
delay(5);
P2=0xfd;
P0=table[shige];
delay(5);
P2=0xdf;
P0=0xfd;
delay(5);
P2=0xfb;
P0=0xfd;
delay(5);
}
voidinit()
{
temp1=21;
temp2=24;
temp3=21;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
voidtimer0()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
}
附录5元器件清单
元件名称
型号
数量
52单片机
STC89C52
1个
非门驱动电路
HD74LS04
2个
瓷片电容
30pf
2个
电解电容
10uf
1个
4位共阳集数码管
CAI5461BH
2个
晶振
11.0592MHz
1个
按键
4个
单片机插座
40引脚
1个
电阻
10k
8个
1k
1
导线
若干
万能板
1个
发光二极管
1个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LED 数码管 设计 调式 电子钟 说明