基于单片机的闹钟设计.doc_第1页
基于单片机的闹钟设计.doc_第2页
基于单片机的闹钟设计.doc_第3页
基于单片机的闹钟设计.doc_第4页
基于单片机的闹钟设计.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的闹钟设计班级:信息科学与技术学院09自动化小组成员: * 指导老师: *完成进度计划第一周:根据设计要求查找资料,学习单片机系统和闹钟所需相关芯片,了解并学习使用Keil和Protues等相关软件,并进行电路仿真。第二周:设计出电路原理图,学习使用Altium Designer软件绘制电路图和PCB电路图。设计出闹钟电路的PCB图。第三周:购买设计所需要的器材,做出电路板并完成钻孔焊接等硬件工作,并测试硬件是否正常工作。第四周:调试程序,把写好的程序烧进单片机并完善闹钟的功能。完成设计报告的撰写及答辩。工作任务分配:*:主要负责PCB设计和电路板的制作,硬件购买焊接及硬件的调试。在这次设计中,查阅了很多资料,学会了Altium Designer的使用和硬件功能的调试。*:主要负责单片机外围电路资料查找,电路原理图的设计和报告的撰写。在这次设计中学会了单片机最小系统的原理和Altium Designer的原理图设计。*:主要负责单片机程序的设计和调整以及最后的软件调试。在这次设计中自学了单片机C语言极其相关的软件使用。 摘要:时间是现代社会中不可缺少的一项参数,无论是平时生活还是社会生产都需要对时间进行控制,有的场合对其精确性还有很高的要求.采用单片机进行计时,对于社会生产有着十分重要的作用。本设计基于单片机,用单片机内部定时器实现时钟和闹钟的功能,由于AT89C52系列单片机的控制器运算能力强,处理速度快,可以精确计时,很好地解决了实际生产生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的适用性。关键字:单片机,定时器,闹钟,LCD一、方案设计与论证定时闹钟的控制电路分为以下几部分:1.单片机最小系统 由于89C51的RAM的存储量比较小,不能满足存储闹钟音乐铃声的功能所需要的空间,所以我们选用89C52单片机。 时钟电路:由于我们采用的是单片机内部定时器来计算时间,所以晶振选择的是12MHz的。因为这样一个机器周期刚好是1s,比较好计算计数初值。构成并联谐振电路的两个电容我们选择30pF的瓷片电容。 复位电路:我们采用上电复位和按键复位结合的复位电路。2.按键控制模块在闹钟电路中我们用了5个控制按键,分别接在P1的0、2、4、6和7端口,S1:设置时间,按1下就可以设置当前的时间的秒钟,按2下设置分钟,按3下设置小时,按4下设置日期,按5下设置月份,按6下设置成功。S2:用于设置时间和设置闹钟,按一下对应的数字就加1。例如在设置分钟时,按一下S2原来的分钟数就加1.设置闹钟时也一样。S3:用于设置时间和设置闹钟,按一下对应的数组减1。功能跟S2相反。S4:用于设置闹钟。按1下就可以设置闹钟的秒钟,按2下设置分钟,按3下设置小时,按4下设置日期,按5下设置月份,按6下设置成功。S5:用于闹钟的开关。当闹钟响时,按一下这个键就能关闭闹铃。3.显示模块显示模块我们考虑了两种方案: 用8共阴极数码管,通过切换可以显示年月日和时分秒如11-07-10 00:00:00.共阴极数码管只要在相应段的阳极接上正电源,该段即会发光。当然,LED的电流通常较小,一般均需在回路中接上限流电阻。采用LED显示,就需要单片机动态扫描,动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。因此需要两片74HC573来锁存位选和段选。 用LCD液晶显示屏。用16*2液晶显示屏1602,就可以通过写控制字和写数据的一些命令,让显示屏同时显示年月日时分秒和星期。我们综合考虑电路的复杂性以及程序编写的繁杂性,通过小组讨论决定选用LCD1602。这样从硬件上来说就省了锁存芯片,从软件上来说不用动态扫描数码管,只需给LCD写控制字和写数据。由于LCD是接在单片机的PO口,需要在引脚处接一个10K的上拉电阻,这里我们选择9个引脚的排阻。4.闹铃模块闹钟模块我们选用0.5W的喇叭,当闹钟时间来到时,P2.7口输出一个低电平,使得作为开关使用PNP三极管打开,VCC给喇叭供电。通过编程从P2.7口输出频率和持续时间不同的脉冲,即乐曲的音调和音长,就能让喇叭播放音乐。我们选用的闹钟铃声是中华人民共和国国歌义勇军进行曲,因为我们觉得这首歌比较激昂,能起到很好的叫人起床的作用。5.电源模块单片机的工作电压是5V,而且需要比较稳定的工作电压。鉴于普通电池波纹比较大,需要用一块稳压模块来给电源稳压。比较常用的稳压芯片有7805和LM2940,在查阅一些资料后,我们发现LM2940比7805的转换效率高。7805直接输入不接输出的情况下,其内部还会有3mA的电流消耗(静态电流)。而作为LDO元件的LM2940静态电流就比它远远小得多了。在LM2940的输入和输出端,分别需要0.47uF和22uF的滤波电容。二、电路原理图图 1三、系统软件设计程序流程图如图2所示NNY 闹钟停响s5是否按下?Y闹钟响,喇叭播放国歌N闹钟是否到?S1:选择要设置时间的地方,年月日时分秒S2:对应位的数值加1S3:对应位的数值减1S4:选择要设置闹钟的地方,年月日时分秒Y按键s1,s2,s3,s4是否按下?初始化LCD和定时器初始化变量 主程序开始 图 2四、实物调试1.硬件调试硬件调试过程主要遇到以下几个问题。第一,我们用画出来的PCB制作出来第一块覆铜板,但是在焊接硬件的时候发现了一点问题。我们采用的封装大小有几个跟实际的原件元件有点不同,在板上放置不下,于是我们又改了封装重新制作了一块板。第二,所有元件都焊接好了之后,接通电源后LCD没有反应。我们用万用表逐条导线检查,后来发现是LCD的几个引脚的焊锡没有很好的接触到焊盘。于是我们又焊接了一遍,再用万用表检查,确保所有的导线都连通之后接上电源,LCD正常显示。第三,在固定LCD显示屏方面我们没有想到用排母,于是用杜邦线跟排针综合使用,这样有一点不足,LCD没固定。于是我们用了跟底座螺丝把LCD锁在板上,既固定了板又美观。2.软件调试软件调试过程主要遇到以下几个问题。第一,关于时间的显示。在写设置闹钟的那个模块时,我们遇到了一个问题。设置闹钟时要即时显示设置的闹钟是多少,但是设置闹钟的时候时间是不允许停止的,也就是时间也会继续显示。我们讨论之后决定在设置闹钟的时候,单片机的定时器继续工作,但是不让时间显示,只显示当前设置的闹钟,等到闹钟设置完毕后重新显示当前时间。第二,关于年月日问题。在月份的加1上,需要判断该月份是几月份,因为不同月份天数不同,因此编程时要考虑到day是29,还是30或者31才清0。第三,关于星期几的问题。刚开始我们以为只要设置初始时间的那天,即2011-01-01对应为星期四,然后加一天就变星期五,七天一个循环就行了。后来调试才发现如果我们自己设置一个其他时间,星期就不对了(星期我们没有设置为可调,是跟着月份和日期变化的)。后来查阅了一些资料后,知道有一个专门计算星期几的公式,即蔡勒公式Week=(Day + 2*Month + 3*(Month+1)/5 + Year + Year/4 - Year/100 + Year/400) % 7其中Week:星期 6-星期日,0-星期一,1-星期二,2-星期三,3-星期四,4-星期五,5-星期六Year:年Month:月Day:日五、总结单片机是计算机技术发展的产物,是经济实用开发简便的高科技产品,在当今工业控制、家电等领域占据广泛的市场。通过此次单片机课程设计来设计个简单的数字闹钟,我们巩固了自己学习的单片机知识,初步了解了小型单片机系统的设计和运用,并提高自己实际动手能力。课程设计过程也使我们了解了自己能力的不足,不过通过资料收集和文献查询等方法,找出了设计过程中的一些问题以及解决问题的方法,从而比较顺利的完成了这个设计任务。这次自己所做的设计取得了一些宝贵的经验,提高了自己的动手能力,为将来的学习和工作很有好处。总之,理论必须和实际结合才有威力,知识必须通过应用才能实现其价值!所学的东西最终是要面向社会,是在以后的工作

温馨提示

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

评论

0/150

提交评论