带温度显示的电子闹钟的设计.docx
《带温度显示的电子闹钟的设计.docx》由会员分享,可在线阅读,更多相关《带温度显示的电子闹钟的设计.docx(50页珍藏版)》请在冰点文库上搜索。
带温度显示的电子闹钟的设计
带温度显示的电子闹钟的设计
专业:
电子信息工程班级:
电信051本姓名:
沈鸿淼指导老师:
吴晓飞
摘要本设计主要以AT89S52单片机为核心,由电源电路、单片机外围电路、按键电路、温度采集电路、显示电路、闹铃电路等组成。
采用八位共阴数码管显示时间,时间为24小时制。
闹铃电路采用+5V有源蜂鸣器做为报警提示音。
该设计接口简单、功耗低、性能高,解决了目前常用实时时钟占用单片机资源多的问题。
该设计具有时钟和闹铃以及温度显示功能,可以方便快速地设置时间和读取温度,可以在日常的生活工作中放心使用,具有很高的使用价值。
该设计经过测试,各项性能指标都能成功达到开始的设计的目标和要求。
关键词单片机时钟实时温度闹铃
ElectronicalarmclockDesignwithTemperaturedisplay
Profession:
ElectronicinformationengineeringClass:
D051Name:
ShenhongmiaoInstructor:
WuXiaofei
Abstract MainlyinthedesignofsinglechipAT89S52asthecore,bythepowercircuit,single-chipperipheralcircuits,keycircuit,displaycircuit,alarmcircuit,digitalcontrolchipdrivercircuitcomposedoftheelection.Powercircuitusingthree-terminalvoltageregulator7805.Yangusedatotalofsixdigitaldisplayoftime,timeforthe24-hourclock.+5Valarmcircuitasanactivealarmbuzzersound.Thedesigninterfaceissimple,low-power,high-performance,solvecommonreal-timeclockofthecurrentoccupationoftheproblemofsingle-chipresources.Thedesignhasaclockandalarmfunction,youcanquicklyandeasilysetthetime,day-to-daylifecanbeassuredthattheuseoftheworkofhighvalue.Thedesignhasbeentested,theperformanceindexcanbesuccessfullymetbythebeginningofthedesignobjectivesandrequirements
KeywordMicrocontrollerclockdisplaytube
引言
从古代的滴漏更鼓到近代的机械钟,从电子表到目前的数字时钟,为了准确的测量和记录时间,人们一直在努力改进着计时工具。
钟表的数字化,大力推动了计时的精确性和可靠性。
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。
由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。
单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域[1]。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
电子闹钟在科学技术高度发展的今天,千家万户都少不了它,所以很多家庭个人都需要有一个电子闹钟,为人们提供报时方便。
本文给出了一种AT89S52电子闹钟设计方法,具有设定时间和闹钟以及显示温度的功能,从而给人们带来更为方便的工作与生活。
第一章概述
1.1电子闹钟发展趋势
现代的快节奏生活给人们的精神上带来了很大压力。
如何排解或缓解这些压力已经成为很多人关心的问题。
单片机电子闹钟是具有发展前景的闹钟创新性的系统,它代表了时代的发展趋势。
2007年,无论从国内外行业发展趋势,还是从闹钟市场准入的要求来看,节能、环保、创新都已成为中国家电企业无法回避的大问题。
在原材料价格不断上涨、下游渠道商实力膨胀、价格战越来越激烈、行业利润日趋微薄的背景下,日前,中国的电子闹钟在节能化、环保化、创新型转变过程中,正进行新一轮闹钟赛跑。
目前,国内专业51系列单片机电子闹钟厂家的数量正在迅速增长。
51系列单片机电子闹钟市场在未来的三五年内会高速增长,新技术、新产品也会不断出现并投入应用。
1.2选题意义
电子闹钟已经是现代生活中经常用到的工具之一,传统的电子闹钟只是机械控制,另外,体积也很大,又不美观也不实用。
而现在我设计的电子闹钟是用单片机做的。
能够显示温度,能随意设定走时起始时间,也能指示秒节奏,即秒指示。
只要简单的设置好后,它就能按照主人的意思,定时的把你闹醒!
也能给人们的生活带来方便。
第二章方案论证与总体设计
2.1设计目标
1.显示时间的功能。
按下“T0”按键,此时进入时间调整状态,可以用“T0”按键改变位,用“T1”按键改变数字,设置完后,再一次按下“T0”按键,电子闹钟就开始工作了。
2.复位电路的功能。
若想设置闹铃,应先按下复位按键,然后长时间按下"设置"按键,第一个数码管会显示”C”,然后变为”00-00-00”,此时进入闹铃设置状态。
3.显示温度的功能。
一上电先用后三个数码管显示采集到的温度,按一下切换键,可切换到时钟显示部分。
4.闹铃功能
设置好闹铃时间后,能按设置好的时间准时闹铃。
2.2总体设计
本课题设计并制作了带温度显示的电子闹钟,主要包括按键电路,数码显示电路,单片机工作电路,外接电源以及发音电路几个模块。
整个系统的原理框图如图2-1所示。
图2-1系统原理框图
工作原理:
用5V电源供电,上电后,数码管显示及时温度,如需要设定闹钟,则长按T0键,待数码管显示P时,再长按T0键,待数码管由P变成C时,按T1键设定闹钟,设置完成后按T0键。
如不需要设定闹钟,长按T0键,数码管显示为P时,按T1设定时间。
闹钟时间到后,由蜂鸣器提示,然后按复位键停止闹铃。
第三章控制系统硬件结构设计
3.1硬件系统设计原则
一个单片机应用系统的硬件电路设计包含有两部分内容:
一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O口、定时/计数器、中断系统等容量不能满足应用系统的要求时,必须在片外进行扩展,选择合适的芯片,设计相应的电路。
二是系统配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。
在本系统中,AT89S52单片机内部的功能单元已经能够满足系统设计需要,不需系统扩展。
按系统功能需求,需要配置固定键盘、LED显示、EEPROM存储器等[1]。
3.2数码管显示电路的设计
本设计采用数码管显示方式。
数码管作为一种主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门的时钟显示组合数码管。
用数码管作为显示器。
数码管的驱动电路简单,使用方便,如果选择了此方案,那么在夜间看时间的时候就不需要有光源,非常方便。
其缺点是功耗较大。
由于数码管使用起来较为方便,在夜间看时间也很方便,因此我们选择了数码管作为显示器。
3.3复位电路
目前为止,单片机复位电路主要有四种类型:
(1)微分型复位电路;
(2)积分型复位电路;(3)比较器型复位电路;(4)看门狗型复位电路。
本设计采用手动按键复位,具体原理图如下图3-1所示。
图3-1复位电路
Pin9:
RESET/Vpd复位信号复用脚,当AT89S52通电,时钟电路开始工作,在RESET引脚上出现时钟周期高电平,系统即初始复位。
手动开关复位只要按下开关按钮,倒相器即输出高电平,复位有效。
3.4按键电路
考虑到电路不需要复杂性,因而设计成3个按键,一个为复位,其它2个为按数字时间的按键和确定设好的时间确定后。
2个按键分别要接AT89S52的P3.4和P3.5端。
电路如图3-2所示。
图3-2按键电路
若想设置闹铃,应先按下复位按键,然后长时间按下T0按键,第一个数码管会显示”C”,然后变为”00-00-00”,此时进入闹铃设置状态,设置方法跟上面一样,闹铃设置完后,下一步要设置当前时间,调整方法跳到第一步。
在复位后的待机状态下,用于启动设定时间参数(对时或定闹);在设定时间参数状态而且不是设定最低位(即分个位)的状态下,用于结束当前位的设定,当前设定位下移;在设定最低位(分个位)的状态下,用于结束本次时间设定。
T1键,用于对当前设定位(编辑位)进行加1操作,根据正在编辑的当前位的含义(时十位、时个位、分十位、分个位)自动进行数据的上限和下限判断。
3.5小结
本章详细叙述了带温度显示的电子闹钟的硬件电路的结构,分析了各个硬件电路的工作原理。
在设计硬件电路的同时,充分考虑将软件和硬件结合起来,发挥单片机的智能化优势。
简化硬件电路的设计,提高硬件电路的可靠性和稳定性。
第四章控制系统软件设计
软件是整个控制系统设计的核心,它具有充分的灵活性,可以根据系统的要求而变化。
在硬件结构一定的情况下,只要改变软件就能实现一些不同的功能。
单片机所具有的智能功能要由软件来完成。
在本设计中,软件结构采用模块化设计方法,将遥控接收器所要完成的功能分别编写和调试。
所有模块调试成功以后,将各个模块连接构成单片机软件系统。
这样的设计有利于程序代码的优化,而且便于设计、调试和维护。
4.1应用软件设计原则
应用系统中的应用软件是根据系统功能要求设计的,应可靠实现系统的各种功能。
在本设计中,软件设计要力求做到以下几点:
1.软件结构清晰,简捷,流程合理。
2.各功能程序实现模块化,子程序化。
这样,即便于调试、链接,又便于移植、修改。
3.程序存储区,数据存储区要合理规划,既能节约内存容量,又使操作方便。
4.运行状态实现标志化管理。
各个功能程序运行状态,运行结果以及运行要求都要设置状态标志以便查询,程序的转移、运行、控制都可通过状态标志条件来控制。
4.2系统软件的设计
系统软件的设计方法与硬件设计的方法是相同的,也是根据系统的各个功能,划分成各个子模块,分别对每个模块来进行设计,然后在通过各个模块之间的调用来实现整个系统的功能。
系统软件部分的设计模块有:
按键电路的软件设计、复位电路的软件设计、显示电路的软件设计共3个模块。
系统软件功能:
(1)检测按键功能。
当系统检测到某个按键被按下时,转到相应子程序处理,可实现校时、设定闹铃时间的功能。
(2)显示功能。
系统通过调用显示子程序,可将显示缓冲区里的内容通过动态扫描方式输出到数码管显示器。
(3)计时功能。
系统通过中断和软件计数器可产生秒信号。
每到1s,系统将会调整时间存储单元的内容,从而实现计时功能。
(4)比较功能。
每当秒存储单元的内容为0时,系统通过调用比较子程序可判断当前时间是否符合闹铃条件,若符合,则调用发音子程序使蜂鸣器发出闹铃声音。
(5)设定功能。
系统进入设定状态后,可通过按“设定”键改变闪亮位位置和按“+”或“-”键来加1或减1闪亮位内容,从而达到报时和设定闹铃时间的目的。
软件设计主程序流程图如图4-1所示。
图4-1主程序流程图
系统功能及使用方法:
系统上电后,自动进入时钟状态。
若在此时按下“设定”键,显示器上将出现闪亮位,再按“+”或“-”则可以加或减闪亮位内容,修改完一位后再按“设定”可改变闪亮位位置继续修改下一位。
修改完成后按“确定”键即可退出设定状态进入正常显示时钟状态。
在正常显示时钟状态时按下“闹钟”键可进入闹钟状态,此时按“+”或“-”可上下翻动闹钟表;按“设定”键可修改当前显示的闹钟时间,修改方法与修改时钟相同。
在查看闹钟表状态下按“闹钟”键可以开/关当前显示的闹钟时间,当显示器第5位显示“-”时表示闹铃已开。
按“时钟”键返回正常显示时钟状态。
若想设置闹铃,应先按下复位按键,然后长时间按下"设置"按键,第一个数码管会显示”C”,然后变为”00-00-00”,此时进入闹铃设置状态,设置方法跟上面一样,闹铃设置完后,下一步要设置当前时间,调整方法跳到第一步。
这样设置好后,她就能按照主人的意思,定时的把你闹醒啦!
我们先了解简易闹钟的设计方法,并自己动手设计电路和编写实现闹钟功能的程序。
简易闹钟要实现以下功能:
1.能正确显示闹钟的走时;2.可以进行当前时间的设置;3.可以设置闹钟时间,并在时间到时发出响声[6]。
设计中,我们利用仪器中所提供的以上提到的芯片和软件编程结合的思路。
本设计的软件编程由四部分构成,下面将对照程序的构成来阐述我们组对简易闹钟的方案设计,具体设计方案如下:
(一)在主程序中,填写中断向量表,然后通过更新时间的子程序完成时间跳变的功能,待到新的时间判断是否到达设定的闹钟的时间,如果是,则启动扬声器;如果否,则继续进行显示时间。
(二)闹钟的时间是变化的,在更新时间的子程序中,首先判断更改后的秒数是否小于10,如果是,则返回主程序;如果否,则秒的个位跳变成0,秒的十位加一;再次判断秒的十位,过程同判断秒的个位相同。
(三)简易闹钟最重要的功能就是“It’stimetodosomething!
”在这部分,主要要考虑的也是判断当前时间是不是设定的闹钟时间。
如果跳变后的时间的四位完完全全的和设定的闹钟时间相同,则扬声器应该响起,提示闹钟的主人“Timeisup!
”从闹钟的分钟的十位开始依次判断,如果前一个闹钟位的显示与设定的闹钟时间对应位相同,则转入判断下一位;如果不相同,则返回主程序。
都判断后,如果都相同,则设置启动闹钟的对应位为1,启动扬声器。
(四)在显示时间的子程序中,时间从0,0,0,0开始显示。
四位数字的显示各由一段程序完成。
在各个模块的软件设计完成后,便可以对整个系统进行整体的软件设计。
其根本的设计思路是通过设置一些联系信号,把原本功能独立的各个模块联结在一起,从而实现整体系统的功能。
4.3电子闹钟设计步骤
1.选择工作方式,计算初值;
2.采用中断方式进行溢出次数累计;
3.从秒——分——时的计时是通过累加和数值比较实现的;
4.时钟显示缓冲区:
时钟时间在方位数码管上进行显示,为此在内部RAM中要设置显示缓冲区,共6个地址单元。
显示缓冲区从左到右依次存放时、分、秒数值;
5.主程序:
主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来;
6.中断服务程序:
进行计时操作;
7.加1子程序:
用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加1时共有三种条调用加1子程序,包括三项内容:
合字、加1并进行十进制调整、分字;
8.闹铃子程序:
用于定时闹铃。
4.4小结
本章详细叙述了系统软件结构。
软件是整个控制器的重要组成部分,设计的好坏关系到系统的性能。
在控制器的软件设计中,采用汇编语言设计程序,编程、调试方便。
第五章调试
整个系统调试的主要思想是:
先每个模块进行调试,然后整个系统一起调试。
先软硬件分开调试,然后一起调试。
遵循先部分后整体的原则。
5.1硬件调试
拿到印制板后,首先应该对照自己所画的印制板图进行比对,是否有短路的或短路的情况,因为有时候可能会出现腐蚀不好的情况。
把跳线焊上去,用万用表测试下是否全部连接。
印制板检查无误后,按照原理图把电源部分的各元器件焊上去,注意电容的极性。
5.2软件调试
在调试的整个过程中程序编译没有出现大的问题,但是连接时出错。
5.3软硬件联调
仿真是采用Proteus仿真软件进行调试,Proteus具有以下特点:
1.速度快。
程序修改、编译后马上就可以看到效果,不需要拔片、写片、插片这些过程,提高实验效率。
2.方便直观形象。
硬件电路随时可进行更改,教学演示非常容易。
3.不受时间和空间的限制,可自主设计和验证方案,有利于系统、科学、有效地培养科研工作者的专业实践能力及创新能力。
采用模块来调试,分别进行仿真。
仿真成功以后,再在板上调试,调试步骤如下:
1.将汇编源程序编译成目标文件即HEX文件,再用编程器将HEX文件写入AT89S52芯片。
2.复位按键处理,看系统能否正确进行复位。
3.用示波器看单片机能不能跑起来。
4.按键测试数码管显示是否正确。
5.综合上述调试过程,发现数码管显示到闹铃和温度显示所有工作正常。
基本符合任务书的要求。
结论
本次毕业设计综合运用大学所学过的专业课、专业基础课、专业选修课,是对大学四年所学的知识的一次重要总结也是重大考验。
经过查资料、选方案、设计电路、画原理图、PCB布线、制板、焊接、编程、调试、撰写设计报告,使我得到了一次较全面的工程实践训练。
从而进一步巩固专业知识,学会正确运用所学知识、查阅有关资料及手册的方法。
理论联系实际,培养了良好的思维习惯,提高独立思考和解决问题的能力,提高和培养创新能力,为本专业工作打下基础。
当然也看到自己的不足之处:
(1).理论知识水平不够,需要不断的完善自己;
(2).外语水平有待提高;
(3).印制板布局布线方面应该加强,应该多接触点实际的东西。
通过这次的毕业设计,我知道了一件产品从设计到最后的成品,中间的过程不是那么容易,不是那么顺利的,只有分好几个模块,一步一步去解决,最后几个模块结合在一起,再去调整,直到符合设计要求为止。
过程往往比结果更重要,所以在以后的工作岗位上,我要注重过程,注重了过程也就是说端正了态度,一步一步地解决问题,只要用心就可以了。
参考文献
[1]万福君,潘松峰.《单片微机原理系统设计与应用》.中国科学技术大学出版社,200615-31.
[2]求是科技.8051系列单片机C程序设计完全手册[M].人民邮电出版社,2006.4:
399-420
[3]张萍.基于数字温度计DSI8B20的温度测量仪的开发[J].自动化仪表,2007,28(6):
64—66
[4]马彪.多位LED串行显示电路设计与应用[J].电子工程师,2006,(02)
[5]赵文博.单片机语言C51程序设计[M].人民邮电出版社,2005.10:
176-194.
研究[J].自动化仪表,2006,27(10):
33-38
[6]彭为.单片机典型系统设计精讲实例[M].电子工业出版社,2006.5:
275-297
[7]孟贵华.电子元器件选用、使用、一本通[J].北京中国电力出版社,2006,
(2):
27-49.
[8]H.-G.Brachtendorf,G.Welsch,R.Laur.Anoveltimefrequencymethodforthesimulationofthesteadystateofcircuitsdrivenbymutli-tonesignals[J].inproceedingsofthe1997IEEEISCAS,vol.3:
1508–1511,1997.
[9]J.Roychowdhury.Efficientmethodsforsimulatinghighlynonlinearmulti-ratecircuits[J].inProceedingsofthe34thDAC:
269–274,1997.
[10]AlbertLeon–Garcia,IndraWidjaja.RadioFrequencyandMicrowaveApplications[M].CommunicationNetworks:
FundamentalConceptsandKeyArchitectures.PrenticeHall,2006.
致谢
在毕业设计完成之际,我要感谢各位老师这四年来对我的教导,四年里的所取得的荣誉是和你们分不开的。
谢谢!
同时我要特别感谢我的指导老师吴老师,在我进行毕业设计的这段时间里,吴老师对我指导了好多,时常问我下设计中遇到的问题,并帮助我解决问题,在此向吴老师致以最诚挚的感谢和最崇高的敬意!
附录一源程序
;;;;;;;;定义变量;;;;;;;;;
S1EQUP3.4;按键
JIAEQUP3.5
SECLEQU25H;各个显示单元
SECHEQU26H
HENGXIANEQU27H
MINULEQU28H
MINUHEQU29H
HENGEQU2AH
HOURLEQU2BH
HOURHEQU2CH
SECONDEQU2DH;秒变量单位
COUNTEQU2EH;溢出中断计数器
SETFLAGEQU20H
HHBIT01H;移位时用到的单元
HLBIT02H
MHBIT03H
MLBIT04H
WARNSLEQU10H
WARNSHEQU11H
WARNMLEQU13H;报警分低位
WARNMHEQU14H;报警分高位
WARNHLEQU16H;报警时低位
WARNHHEQU17H;报警时高位
;WARNCNTEQU37H;已设定闹铃时间标志
TEMPER_LEQU59H
TEMPER_HEQU58H
FLAG1EQU68H;是否检测到DS18B20标志位
A_BITEQU50H;数码管个位数存放内存位置
B_BITEQU51H;数码管十位数存放内存位置
XSEQU60H
WARNINGBIT0CH;闹铃标志
WARNSETTEDBIT0DH;已设定闹铃时间标志
;;;;;;;误差修正;;;;;;;;;;;;;;;
;TFIXBIT0EH;开始修正标志
;NEQU60;误差值,单位:
1/10s,默认为0,即不修正
;;;;;;;;;;;;程序入口地址;;;;;;;;;;;;;;
ORG0000H
LJMPmain
ORG0003H
;LJMPINT_0
RETI
ORG000BH;定时器T0溢出中断入口
LJMPTIMER0
ORG001BH
LJMPT