多功能时钟课程设计.doc_第1页
多功能时钟课程设计.doc_第2页
多功能时钟课程设计.doc_第3页
多功能时钟课程设计.doc_第4页
多功能时钟课程设计.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

课程设计任务书学生姓名: 佘磊 专业班级:电子科学与技术0803班指导教师: 封小钰 工作单位: 信息工程学院 题 目: 多功能数字钟的设计 初始条件:本设计既可以使用集成译码器、计数器、定时器、脉冲发生器和必要的门电路等。本设计也可以使用单片机系统构建多功能数字钟。用数码管显示时间计数值。要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。2、技术要求: 设计一个数字钟。要求用六位数码管显示时间,格式为00:00:00。具有60进制和24进制(或12进制)计数功能,秒、分为60进制计数,时为24进制(或12进制)计数。有译码、七段数码显示功能,能显示时、分、秒计时的结果。设计提供连续触发脉冲的脉冲信号发生器,具有校时单元、闹钟单元和整点报时单元。确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。3、查阅至少5篇参考文献。按武汉理工大学课程设计工作规范要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。时间安排:1、 2010 年 6 月 28 日集中,作课设具体实施计划与课程设计报告格式的要求说明。2、 2010 年 6 月 29 日,查阅相关资料,学习电路的工作原理。2、 2010 年 6 月 29 日 至 2010 年 6 月 30 日,方案选择和电路设计。2、 2010 年 6 月 30 日 至 2010 年 7 月 1 日,电路调试和设计说明书撰写。3、 2010 年 7 月 2 日上交课程设计成果及报告,同时进行答辩。课设答疑地点:鉴主13楼电子科学与技术实验室。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目 录摘要IAbstractII1 绪论12 设计内容及要求22.1设计的目的及主要任务22.1.1设计的目的22.1.2 设计任务及主要技术指标22.2设计思想23 设计原理及单元模块设计33.1 设计原理及方法33.2系统基本方案选择33.2.1芯片的选择33.2.2显示模块的选择43.2.3时钟信号的选择43.2.3定时闹铃元件43.3电路设计最终方案决定43.4 系统硬件概述54 系统软件设计74.1 主程序流程74.2 控制电路的C语言源程序75电路仿真86 心得体会9附录:元件清单11附录II: C语言源程序12武汉理工大学多功能数字钟课程设计说明书摘要从古代编程的滴漏更鼓到近代的机械钟,从电子表到目前的数字时钟,为了准确的测量和记录时间,人们一直在努力改进着计时工具。钟表的数值化,大力推动了计时的精确和可靠性。最常见的数字钟通常使用单片机模块控制,一种用单片机原理实现时、分、秒计时的装置,与机械时钟相比具有更高的准确性和直观性。且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。本次课程设计就是用单片机实现时钟计时,并附加闹钟,时间设置等多项功能。关键词:单片机;时钟;多功能Abstract From ancient to modern programming dripping skillful craft, the mechanical clock from the electronic digital clock at present, in order to accurately measure and record the time, people have been trying to improve the timing tool. The clock, vigorously promote the numerical precision and reliability of the time.The most common use of a digital clock usually chip, a kind of control module MCU realization principle, minutes and seconds when the timing device, and the mechanical clock is higher than the accuracy and intuition. And no machinery, with longer service life, so it has been widely used.This course is designed using single chip microcomputer, and additional alarm clock, time setting etc.Keywords: SCM, The clock, multi-functional24武汉理工大学多功能数字钟课程设计说明书1 绪论20世纪末,单片机技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代节奏也越来越快。目前单片机正在朝着高性能和多品种方向发展。进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格等几个方面发展。单片机的应用意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或者数字电路实现大部分的功能,现在已能用单片机通过软件的方法来实现了。这种软件代替硬件的控制技术也成为微控技术,是传统控制技术的一次革命。数字钟是对年、月、日、周、时、分、秒,数字显示及到时提醒的计时装置,广泛应用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可缺少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们生活带来了极大的便利,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、定时广播甚至何种定时电气的自动启用等。所有这些,都是以钟表数字化为基础的。因此,研究数字时钟扩大及其应用,有着非常现实的意义。2 设计内容及要求2.1设计的目的及主要任务2.1.1设计的目的根据设计要求,完成对多功能数字时钟的设计。初步了解单片机的工作结构原理及其在时钟方面的应用拓展。2.1.2 设计任务及主要技术指标 设计一个数字钟。要求用六位数码管显示时间,格式为00:00:00。具有60进制和24进制(或12进制)计数功能,秒、分为60进制计数,时为24进制(或12进制)计数。有译码、七段数码显示功能,能显示时、分、秒计时的结果。设计提供连续触发脉冲的脉冲信号发生器,具有校时单元、闹钟单元和整点报时单元。确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。2.2设计思想本次设计时钟电路,使用了AT89C52单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:功能按键、芯片、蜂鸣器、显示屏即可满足设计要求。3 设计原理及单元模块设计3.1 设计原理及方法此设计原理框图如图3-1所示,此电路包括以下四个部分:单片机,键盘,闹铃电路及显示电路。闹铃电路51单片机功能按键数码管显示图3-1 设计原理框图3.2系统基本方案选择数字时钟的设计具体有两种方法。一是通过的数字电路实现;二是使用单片机来控制实现。本次设计选用了较为简单和方便的单片机控制。以下是我在这次设计中所用的方案。3.2.1芯片的选择采用AT89S52芯片,其为高性能CMOS8位单片机,该芯片内含有8k bytes的可反复擦写Flash闪速存储器空间、256*8 bytes的内部存储器(RAM)、32位可编程I/O口线、2个16位定时/计数器、8个中断电源、可编程串行UART通道及低功耗空闲和掉电模式。(图3-1)3.2.2显示模块的选择采用LED八位数码管显示,显示较为清楚,相对于用LCD显示硬件电路会比较复杂,由于实验要求用LED显示,故采用数码管显示。在电路仿真阶段选择了八位数码管,在实际购买过程中只买到了两个4为数码管。因而在电路焊接中选用的是两段4位数码管(3-2-1)。并在之间接一个锁存器,使用的是74HC573。用锁存器来实现电流的放大,数码管的段选接在单片机的P0口。3.2.3时钟信号的选择时钟信号可以选择用时钟芯片(如DS1302)产生,精度高。也可以采用单片机定时计数器提供的秒信号,使用程序实现年、月、日周、分、秒计数。采用第二种方案可以减少芯片的使用,节约成本,实现的时间误差较小。因此本次课设中采用第二种方案。3.2.3定时闹铃元件本设计用报时和闹铃采用的是蜂鸣器组成的发声电路,蜂鸣器接在单片机的.口,在之间接一个三极管实现电流的放大,这样才可以正常的发出声音。三极管采用PNP型的8550.(图3-3)3.3电路设计最终方案决定综上方案所述,此次数字时钟的方案选定为:采用AT89C52作为主控制系统;并由其本身自带的定时计数器提供时钟;两端4位LED数码管作为显示电路,外接蜂鸣器作为闹钟提醒,来实现功能。 图 3-1 图 3-2 图 3-33.4 系统硬件概述该电路是由单片机为控制核心,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时分秒,用一个蜂鸣器来 进行定时提醒。同时使用C语言程序来 控制整个时钟显示,使得拓展功能更容易实现。这样通过四个模块:功能按键、AT89C52芯片、蜂鸣器、显示屏就可以满足设计要求。总电路图如下: 图 3-44 系统软件设计4.1 主程序流程开始定时器及中断定时器初始化是否设定参数执行时钟和拓展功能执行显示程序NY4.2 控制电路的C语言源程序根据流程图,通过认真分析得出控制电路的源程序,见附录II。5电路仿真本次采用Protues进行仿真,以下是部分仿真内容。输入程序,开始仿真的示意图如上。程序设定为从12-00-00开始运行。上图是闹铃设定的截图。6 心得体会经过一周的单片机课程设计,已基本完成课题要求。功能上基本达标:时钟的时、分、秒显示,定时闹铃功能,调时功能。时钟显示功能,精确度完全可以满足日常生活显示时间的需要;调时功能,方便快捷;定时功能准确可靠,还有扩展成音乐闹钟的余地。硬件设施合乎要求,软件设计可以配合硬件实现要求功能。但是由于时间比较短,出现部分不足:闹铃部分不能很好地实现。不过,我相信,如果时间充足,将软件改进,完全可以很好实现所有功能。 另外,在本次设计的过程中,我们发现很多的问题,虽然以前没有做过这样的设计但通过这次设计我学会了很多东西,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我们觉的写好一个程序并不是一件简单的事,比如写一个程序看其功能很少认为编写程序简单,但到编的时候才发现一些细微的知识或低级错误经常犯做不到最后常常失败,所以有些东西只有学精弄懂并且要细心才行,只学习理论有些东西是很难理解的,更谈不上掌握。从这次的课程设计中,我们真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的练习的过程中才能提高,我想这就是我在这次课程设计中的最大收获。参考文献1 李叶紫王喜斌.胡辉.孙东辉.编著MCS_51单片机应用教程清华大学出版社2008.6.2 陆剑单片机应用技术指导书 河南工业职业技术学院2005.12.3 汪道辉.单片机系统设计与实践.电子工业出版社 ( 50页 时、分、秒计时器设计,59页 键盘及接口技术).4 第二版.51系列单片机设计实例.北京航空航天大学出版社(8189页 数码管时钟电路的设计).5 辛友顺、胡永生、薛小玲.单片机应用系统设计与实现.福建科学技术出版社(184-186页 LED显示接口,190-193页 键盘接口).6 黄庆华、张永格.单片机开发 与实例.电子工业出版社(127-162页 数字式电子时钟的设计).7 闫玉德、俞红.MCS-51单片机原理与应用(C语言版).机械工业出版社(49-104页 单片机的C程序设计)附录:元件清单原件清单蜂鸣器1个40p插座1个排阻10k晶振12M开关(不带锁)7个电容33p*2、4.7F电阻1k*2、10k*1杜邦线若干ISP下载口1个LEDLG5641AH*2单排针若干锁存器74HC573单片机AT89S5220p底座1个附录II: C语言源程序#include unsigned char code displayCode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned char hour,minute,second;unsigned char clockhour,clockminute;unsigned int num;unsigned char select,oneminute;bit bdata modeselect;void delay();void display(unsigned char temp,unsigned char mode);void sound() while(num2000) P3_7=0; P3_7=1;void initial()P0=0;TMOD=0x22;IE=0xCF;IT0=1;IT1=1;T2CON=0;RCAP2L=0xf0;RCAP2H=0x1f;TH2=0x1c;TL2=0xf0;IP=0X06;TH0=0x48;TL0=0x48;TH1=0X48; TR0=1; PCON=0x01;hour=12;minute=0;second=0;num=0;select=0;clockhour=12;clockminute=0;modeselect=0;void interrupt0()interrupt 0 using 3 TR1=1; select+; if(select=7) select=0; if(select=1) ET2=1;oneminute=second-1;void timer0()interrupt 1 using 3num+;if(num=5000)num=0;second+; if(second=60) minute+;second=0; if(minute=60) hour+;minute=0; if(hour=24) hour=0;void interrupt1()interrupt 2 using 3 oneminute=second-1; modeselect=0; ET2=!ET2; switch(select) case 4:hour+;if(hour=24)hour=0;break;case 5:minute+;if(minute=60)minute=0;break;case 6:second+;if(second=60)second=0;break; case 2:clockhour+;if(clockhour=24)clockhour=0;break;case 3:clockminute+;if(clockminute=60)clockminute=0;break; default:break;void timer1()interrupt 3 using 3if(select)if(second=oneminute)select=0;TR1=0;void timer2()interrupt 5 using 3sound();TF2=0;if(minute!=clockminute&hour=clockhour)TR2=0;void delay()unsigned char i=255;while(-i);void display(unsigned char temp,unsigned char mode) if(temp=4|temp=2) P0=0; else P0=1; if(mode) P1=displayCodehour/10; else P1=displayCodeclockhour/10; delay(); if(temp=4|temp=2) P0=0; else P0=2; if(mode) P1=displayCodehour%10; else P1=displayCodeclockhour%10; delay(); if(temp=1|temp=2|temp=3) P0=0; else P0=4; P1=0xbf; delay(); if(temp=5|temp=3) P0=0; else P0=8; if(mode) P1=displayCodeminute/10; else P1=displayCodeclockminute/10; delay(); if(temp=5|temp=3) P0=0; else P0=16; if(mode) P1=displayCodeminute%10; else P1=displayCodeclockminute%10; delay(); if(temp=1|temp=2|temp=3) P0=0; else P0=32; P1=0xbf; delay(); if(temp=6) P0=0; else P0=64; if(mode) P1=displayCodesecond/10; else P1=displayCode0; delay(); if(temp=6) P0=0; else P0=128; if(mode) if(ET

温馨提示

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

评论

0/150

提交评论