LED数码管设计的可调式电子钟说明说_第1页
LED数码管设计的可调式电子钟说明说_第2页
LED数码管设计的可调式电子钟说明说_第3页
LED数码管设计的可调式电子钟说明说_第4页
LED数码管设计的可调式电子钟说明说_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 盐城工学院课程设计说明书(2013)课程设计说明书 用LED数码管设计的可调式电子钟专业学生姓名班级学号指导教师完成日期2013年6月28日 用LED数码管设计的可调式电子钟摘要: 数字电子时钟电路设计系统,以AT89C51单片机为控制核心,由键盘显示、定时闹铃、LED共阴极数码管和LED灯显示等功能模块组成。基于题目基本要求,本系统对时间显示和定时报警进行了重点设计。本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统不仅成功的实现了要求的基本功能,而且有一定的创新功能。 关键字:单片机;AT89C51;数字钟 Abst

2、ract: This digial electronic clock circuit design system ,based o n c hip microcomputer AT89C51,is composed by the following functional modules : keyboard displaying , timing alarmg. common cathode LED digital tube, LED lights display,and so on. According to the basic requirements of the subject ,th

3、e system stresses on the realization of Time display and regularly report to the police.The design achieved the required basic technical indexes. Furthermore , adopting the iedao fhardware-to-software, most of those functions are realized by softwares, which makes the electrocircuit more concise and

4、 the system more stable. Key words:chip microcomputer;AT89C51:digital electronic clock 目录1概述31.1课题研究的目的和意义32 课题方案论证32.1系统总体设计要求32.2系统模块结构论证43 系统硬件设计43.1总体设计43.2最小单片机系统53.3按键电路63.4显示电路74软件设计84.1 主程序84.2 显示子程序84.3定时器/计数器T0中断服务程序85软硬件联调及调试结果105.1调试步骤105.2实际出现的问题及解决方法105.3实物图正面,实物图背面和实物运行图11结束语12参考文献13附

5、录13附录1 原理图13附录2 PCB图14附录3 proteus仿真图15附录4 C语言程序清单16附录5 元器件清单191概述1.1课题研究的目的和意义此次设计是单片机内部的定时/计数器来实现电子时钟的方法以及借助键盘直接控制整时的调整,本设计根据AT89C52单片机系统扩展的基本原理和方法,由单片机AT89S52芯片,LED数码管和键盘为核心,辅以必要的电路,构成了一个单片机电子时钟。一块单片机芯片就是一台计算机,由于单片机以其集成度高、体积小、可靠性高、控制功能强、低电压、低功耗等特点使它应用于智能仪器仪表、机电一体化、实时程控、人类生活中。除此之外还广泛应用办公自动化领域、商业营销领

6、域、汽车及通信系统、计算机外部设备等各领域中,并且单片机已成为计算机发展和应用的一个重要方面。由此可见掌握单片机的使用方法和利用单片机解决实际问题具有重要的意义。而此次的设计刚好用到单片机相关的知识可以说这是这次设计的重要意义和目的所在。再者,此设计的LED电子时钟主要是显时间的,是时钟用途。在此设计的基础上人们还可根据不同的需求和不同的设计水平做出不同的设计项目。也可以加上日期,温度的显示和闹钟的功能。如果设计水平还更高的话还可以设计LED电子显示屏。因此说,LED电子时钟设计是最简单和基础的。而且电子时钟很实用,准确性也很好,也容易调节,若有毁坏更换元器件也简单,制作原理和过程也很易懂易做

7、,成本也不高。在此设计间也包含了很多的知识,跟我所学专业又对口,所以,做这个LED电子时钟是个很用很好很值得做的设计。2 课题方案论证2.1系统总体设计要求本次设计中的LED数码管电子时钟电路采用24小时制记时方式。本次设计采用AT89C52单片机的扩展芯片和2个74LS04做驱动,由八块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。设计采用AT89C52单片机,配备11.0592MHz晶振,复位电路为上电复位。采用软件译码动态显示,考虑直接用单片机I/O口作为位选时可能驱动功率不够,

8、可采用三极管作驱动共阳极数码管显示。8位8段LED数码管作正常、调时显示,时间按时分秒排列,时钟误差:24小时误差35秒,并且在按键的作用下可以进行调时,调分,复位功能。本电路采用直流5V电源供电。同时为了限流保护电路也用了若干个阻值不等的电阻。在本文一开始做了一些概述主要说明此设计的目的和意义,并会对这类设计项目发展情况做个简介。这是对这次设计很重要的一个认识是前提和设计者必须明确和了解的。然后本文对此设计做了一些简要分析,这对理清设计思想很重要。然后还对设计中用到的元器件进行比较全面的介绍。只有真正了解了元器件的特性和功能才能让这些元器件在设计中起到作用。电子整个设计第一步是电路原理图,它

9、直接关系着后续的工作。接着当原理图完成好后就要为后面的刻板做准备了,这就是PCB印制电路板的制作。它影响了整个设计的布局是能不能成功的条件。紧接着就是程序了,如果只有硬件电路而没有程序,那么这个设计将一文不值,也就是说是一堆破铜烂铁。所以这部分也是非常重要的。最后结合整个设计总结了一些心得体会为这次的设计画上完满的句号。也为以后更好的设计提供经验。2.2系统模块结构论证按照系统设计功能的要求,确定系统由4个模块组成:主控制器、扫描驱动、调节电路和显示电路。数码管电子钟电路结构框图如图2-2所示。 图2-2 电路结构图3 系统硬件设计3.1总体设计电子钟的原理框图如图3-1所示。它由以下几个部件

10、组成:单片机AT89C52、电源、时分秒显示部件。时分秒显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。时分显示模块以及显示驱动都通过AT89C52的I/O口控制。电源部分:整流稳压来得到+5V电压,维持系统的正常工作。 电子钟系统原理框图如图3-1所示: 图3-1电子钟系统原理框图 3.2最小单片机系统 51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用1030uF,51单片机最小系统容值越大需要的复位时间越短。51单片机最小系统晶振Y1也可以采用6 M H Z 或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最

11、小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。 51单片机最小系统起振电容C2、C3一般采用1533pF,并且电容离晶振越近越好,晶振离单片机越近越好4.P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。设置为计数器模式时,外部事件计数脉冲由T0或T1引脚入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在

12、下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2 ms 最小系统如图3-2所示: 图3-2最小系统3.3按键电路 按键电路使用的是AT89C52单片机的P1和P3管脚,可调试电子中的按键总共为四个,够哦那个能分别为确定,设置,加,减。通过按键电路,我们可以随意调整电子钟的时间,使单片机发挥它的作用。 按键电路图如图3-3所示: 图3-3:按键电路图3.4显示电路 可调试电子钟的显示电路采用8位数码管,显示出时间的时,分,秒。使用的是AT89C52单

13、片机的P0和P2管脚,显示电路中还将用到一块74LS245。 显示电路图如图3-4所示: 图3-4显示电路4软件设计4.1 主程序主程序执行流程如图4-1所示,主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。 图4-1主程序流程图4.2 显示子程序本系统共用8个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。采用软件译码动态显示。由于采用8段共阳LED数码管动态扫描实现数据显示,所以显示用十进制BCD码数据的对应段码存放在ROM中。显示时,先取内存地址中的数据,然后查得对应的显示用段码从P

14、0口输出,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软件中编写程

15、序,完成后,单击“项目”下的“编译”,产生“.hex”文件。(2)打开proteus软件,画上硬件电路图,保存。(3)双击AT89C52芯片,在program file中加入“.hex”文件,按确定。(4)调试运行。5.2实际出现的问题及解决方法在proteus仿真软件调试成功后,实际却出现了一些问题,市场上没有买到排阻,所以用8个10K的电阻代替。由于数码管无法直接点亮,需要驱动,所以用了非门74LS04作为驱动,可是代码不能再用共阳极的了,所以把代码改成共阴的,实际电路板上就能成功运行了。 仿真图如图5-2所示 图5-2proteus仿真图5.3实物图正面,实物图背面和实物运行图 图5-3

16、-1实物图正面 图5-3-2实物图反面 图5-3-3实物运行图结束语由于电路设计合理,功能电路基本能实现设计要求。从硬件焊接反方面来说,觉得比较棘手的就是在焊数码管时,和整体器件的布局。布局不好会影响后面工序的焊接,在这点上我自己觉得做的很不错,布线焊接模块功能区分明确。在编程中遇到的最大困难就是延时的计算和数码管的显示程序段,在整体程序来看,我采用程序的结构化,使程序明朗,各功能程序段都以子程序的方式调用,所以在主程序中是相当的简单明朗的。在硬件和软件的结合过程中也遇到比较大的问题,就是一开始数码管不是显示8,就是乱码之类的,进过调试,现在没有出现这样的现象了。这也是我的一大攻关吧。但是,对

17、于程序我还是很不好以后在这方面要多多加强。在整个设计过程中我学会了很多,不仅巩固了我的专业知识,提升了我的学习能力和知识能力,也使我学习到很多书上没有的,更加强了我的动手能力。从这次的设计中我确实受益匪浅,我想也不枉陆老师对我的一路辅导与帮助。我相信,以后有机会一定会做更多这样的设计。大学三年,一晃就过去了,我很想靠自己的专业做个东西给自己留念。再也就想考验一下自己三年的学习成果,不负老师三年来的教诲和付出的心血。在做设计的同时使自己再学习、再提高。是展示自己学习成果的时机,是对自己的一种肯定。参考文献1实验指导书(陆广平编) 实验122李光飞,楼然苗. 单片机课程设计指导书 R. 北京:北京

18、航空航天大学出版社,20073李广弟. 单片机基础 M. 北京:北京航空航天大学出版社,1994附录附录1 原理图附录-1原理图附录2 PCB图附录3 proteus仿真图附录-3 proteus仿真图附录4 C语言程序清单#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar temp1,temp2,temp3,aa,miaoshi,miaoge,fenshi,fenge,shishi,shige;uchar code table=0x03,0x9f,0x25,0x0d,0x99,0x4

19、9,0x41,0x1f,0x01,0x09,0xfd;void display(uchar shishi,uchar shige,uchar fenshi,uchar fenge,uchar miaoshi,uchar miaoge);sbit S1=P10;sbit S2=P11;sbit S3=P12;void delay(uint z);void init();void main() init(); while(1) if(S1=0) temp3+;while(S1=0); if(S2=0) temp2+;while(S2=0); if(S3=0) temp1+;while(S3=0);

20、 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); void delay(uint z) uchar x,y; for(x=z;x>0;x-) for(y=110;y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论