数字钟论文-供参考_第1页
数字钟论文-供参考_第2页
数字钟论文-供参考_第3页
数字钟论文-供参考_第4页
数字钟论文-供参考_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机c语言的多功能数字钟的设计系别:自动化系专业名称:自动化学生姓名:陈聪 陈永宇 蒋海勇学号:指导教师姓名、职称:李攀峰完成日期 2010 年 06 月 26 日摘要本设计论文主要介绍了用stc89c51单片机来控制数字钟的硬件结构和软件设计,给出了c语言的源程序。此数字钟是一个将“时”“分”“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,计时满刻度为23小时59分59秒,另外还有校时功能。电路由时钟脉冲发生器,时钟计时器,数码管驱动电路,以及蜂鸣器报时电路组成。数码管选用LED八段共阳数码管,在驱动电路下显示清晰,直观的数字符号。针对数字钟会产生走时误差的现象,在电路中有

2、校准时间电路的功能的电路。关键词:单片机; 数字钟 ;计时 ;数码管电子技术课程设计正文一、电子设计题目: 数字钟设计二、电子设计任务和基本要求:1. 设计任务 基于单片机c语言设计一台可以显示时、分、秒的数字钟。2. 基本要求(1).能直接显示时、分、秒的数字钟,要求二十四为一计数周期。(2).当电路发生走时误差时,要求电路具有校时功能。(3).具有整点报时的功能,在离整定10s时,便自动发出鸣叫声,步长1s,每隔1s鸣叫一次。(4).计时准确度,每天计时的误差不超过10s。(5).要求电源电压+5伏三、课程设计题目分析:1. 设计要点(1).设计一个单片机小系统电路 (2).设计数码管显示

3、电路(3).设计按键校时电路(4).设计蜂鸣器整点报时电路2. 工作原理:(1) 单片机小系统原理:单片机最小系统由晶振电路,复位电路和电源基本组成。晶振电路在电路上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络。时钟电路用于产生单片机工作所需要的时钟信号,而时序的所研究的是指令执行中每个信号之间的相互的关系。单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格的按照时序进行工作。复位电路的成功与否,关系到单片机系统能否正常的工作,电路上电时候或电压波动不稳定的时候,当给单片机上电那一瞬间,电压有在几微秒内(有的是几毫秒内)不是直接跳变

4、到5V的而是一个直线上升的阶段,这时候,单片机不能正常工作,需要复位电路给它延时以等到电压稳定。(2) 数码管显示原理: 一般数码管的驱动是用三极管驱动的原理为,用三极管控制共阳极数码管是利用三极管的开关特性,用pnp三极管的话,集电极接地,然后通过基极控制三极管的通断,当通过单片机给基极一个低电平时,发射极导通,集电极与发射极也之间也导通了,一般都是用三极管控制数码管的位选引脚。简单地说就集电极和发射极相当于一个开关,基极是控制端,基极给高电平是,开关是断开基极给低电平时,开关合上,这样数码管就驱动了。 (3) 键盘控制电路原理: 按键电路相对来说是比较简单的,只需要一个微动开关接单片机的I

5、/O口,一端接地,因为单片机的I/O口一般默认的都是高电平,单片机开始检测这个P口,如果按键按下的话就会产生低电平这样,这样就能按着程序走了。(4) 蜂鸣器报时原理:蜂鸣器驱动同样是应用了三极管的开关特性,当三极管导通是蜂鸣器就响了,这样就实现了报时作用。四、电路原理图: 整体设计电路图:五、c程序设计部分: 数字钟程序相对来说还是比较简单,其核心问题就是数码管的动态显示部分和检测按键的部分。还利用了中断函数的定时功能,从而使得数字钟的读秒过程算是比较精确。源代码如下:#include#includesbit w=P27;sbit d=P26;sbit k1=P11;sbit k2=P12;#

6、define uint unsigned int#define uchar unsigned charuchar code table=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90;uchar code wei=0 xfe,0 xFd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;uchar x,y,z,aa,num;sbit fm=P21;unsigned int i,j,n,ge,shi,bai,c,cc,ccc;void dingdhi();/定时void time(uint);void

7、play(uint c,uint cc,uint ccc);/显示函数void main() dingdhi();aa=0;j=0;n=0;i=0; while(1) play(j,i,n);/调用显示函数k1=0 xff;k2=0 xff;if(k1=0)time(20);if(k1=0) j+;if(j=25) j=0;while(!k1);/时if(k2=0)time(20);if(k2=0)i+;n=0;if(i=60) i=0;while(!k2);/分 void play(uint c,uint cc,uint ccc)/显示函数 d=0; P0=tablej/10;d=1;w=0

8、; P3=wei0;w=1; time(1);d=0; P0=tablej%10;d=1;w=0; P3=wei1;w=1; time(1);d=0; P0=0 xbf;d=1;w=0; P3=wei2;w=1; time(1);d=0; P0=tablei/10;d=1;w=0; P3=wei3;w=1; time(1);d=0; P0=tablei%10;d=1;w=0; P3=wei4;w=1; time(1);d=0; P0=0 xbf;d=1;w=0; P3=wei5;w=1; time(1);d=0; P0=tablen/10;d=1;w=0; P3=wei6;w=1; time(

9、1);d=0; P0=tablen%10;d=1;w=0; P3=wei7;w=1; time(1); void time(uint z)/延时 uint i,j; for(i=60;i0;i-) for(j=z;j0;j-);void timer0() interrupt 1/定时函数TH0=(65536-20000)/256;TL0=(65536-20000)%256;/设定时值为20000us(20ms)aa+;if(aa=50)aa=0; n+;if(i=59&n=50) fm=0;time(50);fm=1;/蜂鸣器闹钟if(n=60) n=0;i+;if(i=60) i=0;j+;

10、 void dingdhi()/定时头函数TMOD=0 x1;TH0=(65536-20000)/256;TL0=(65536-20000)%256;/定时EA=1;ET0=1;TR0=1; 六、心得体会:在这次开放性实的制作过程中,我们队员都很用心的去完成。在整个电路都跑通的时候,心里有种说不出的满足感。拿到实验项目后,我们确定了方案,用单片机来控制。所以我们首先拿到郭天祥的单片机视频教程来自学单片机。讲到哪里然后就用自己的开发板来实践。看完数码管后,心想这个数字钟的设计应该够用了。所以我们先是来设计电路图,由于本实验所需要的原件不是很复杂,所以我们算是比较快就画完了。然后我们开始焊接电路了

11、,我们知道电路板的布局是十分重要的,我们队布局做了个整体的规划后就开始布局了,我们的焊接功夫不是很好,有时焊接的时候时不时的烫到手,一声惨叫后就继续,其余部分不算太难关键的就是数码挂的端口的焊接是最复杂的,由于我们用了八个数码管,端口的话就需要8*8=64根导线。不过这也考验了我们的仔细认真的方面。焊接完毕了就开始测试了,当我们辛辛苦苦把写好的程序放进单片机里时,只看见有几个数码管理的发光二极管有些微微地亮,这时我们的心有凉凉的,出问题了,我们焊接了一天的电路没有成功,加上头有些昏昏的。可是我们没有放弃,继续检查电路,一会儿,我去看开发板上的单片机的vcc口怎么和我们的不一样呢,赶紧翻书查查,这是我发现,我们的单片机小系统的链接方式是按照逻辑图来连线的,而不是实物图,这是一个很大的错误。我们又重新的焊接了一遍,这是就预感我们成功了,最后不出所料,所有的功能完全实现,我们都会心的笑了。开放性试验是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,思考和解决问题的能力。它不仅加

温馨提示

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

评论

0/150

提交评论