具有温度显示的电子实时时钟万年日历系统的设计与制作.docx
- 文档编号:10366448
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:51
- 大小:1.05MB
具有温度显示的电子实时时钟万年日历系统的设计与制作.docx
《具有温度显示的电子实时时钟万年日历系统的设计与制作.docx》由会员分享,可在线阅读,更多相关《具有温度显示的电子实时时钟万年日历系统的设计与制作.docx(51页珍藏版)》请在冰豆网上搜索。
具有温度显示的电子实时时钟万年日历系统的设计与制作
毕业设计(论文)
《具有温度显示的电子实时时钟/万年日历系统的设计与制作》
专业(系)电气工程系铁道通讯信号方向
班级铁道通讯091
学生姓名陈志军
指导老师赵巧妮
完成日期2011.11.22
摘要
本设计以数字集成电路技术为基础,单片机技术为核心。
本文详细的介绍基于89S51单片机带有温度和闹钟的万年历控制系统。
利用单片机定时计数器提供秒信号,18B20数字式温度传感器进行温度数据传输,经软件处理,在动态扫描后,利用8个共阳数码管交替显示年月日、时分秒、环境温度值。
为了更好的调节和设置,设计了四个按键快速进行时间和闹钟的精准调整。
关键字:
单片机;万年历;温度;闹钟;18B20
.89S51.,18B20,,,a8,,.,.
;;;18B20;
摘要I
第1章引言1
1.1研究背景1
1.2论文研究目标和意义1
1.3论文章节安排1
第2章任务与要求2
2.1课题概述2
2.1.1设计内容2
2.1.2要求2
第3章方案论证与设计3
3.1总体设计分析3
3.2方案的选择与设计3
3.2.1显示模块选择方案和论证:
3
3.2.2时钟芯片的选择方案和论证:
3
3.2.3温度传感器的选择方案与论证:
4
3.3方案确定4
第4章硬件电路设计5
4.1硬件电路设计框图5
4.1.1系统硬件概述5
4.1.2单片机主控制模块的设计5
4.1.3振荡电路6
4.1.4复位电路6
4.1.5温度采集模块设计6
4.1.6显示模块的设计7
4.1.7蜂鸣器电路8
4.1.8按键电路8
第5章系统的软件设计10
5.1编程环境与语言:
10
5.2程序流程框图10
第6章电路调试12
6.1调试的设备13
6.2调试步骤13
6.2.1硬件调试13
6.2.2软件调试13
第7章使用说明17
7.1使用方法17
7.1.1系统面板介绍17
7.1.2调整方法17
7.1.3调整框图18
7.1.3注意事项19
7.2故障分析19
7.2.1数码管显示不全、模糊、多出相对较暗的一位19
7.2.2调整时按键过于灵敏19
心得体会20
参考文献21
附件22
附件一:
总原理图22
附件二:
版图23
附件三:
元件清单24
附录四:
程序代码26
引言
1.1研究背景
当今社会逐渐步入信息化时代,快节奏、高效率成为当今时代的主题。
人们在日常的工作和生活中对各种信息量的需求也在不断加大,为了满足人们的这种需求,电子万年历应运而生。
电子万年历整合了人们所需的日期、时间、气温、日程安排的闹钟等诸多常用信息,最大限度的方便了人们的信息获取,可以对工作和生活做出有效的安排。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
1.2论文研究目标和意义
本文分析的是具有温度显示的电子实时时钟/万年日历系统的设计,可以显示年月日时分秒与环境温度信息,具有可调整日期、时间和闹钟功能。
采用数字电路实现对.时,分,秒.数字显示的计时装置,我们可以通过对电子万年历的研究进一步熟悉和掌握51单片机与其外围电路的应用,加强自己的动手能力,把理论和实际操作联系起来,在实践中达到理论知识的融会贯通,并进一步提高自身在电子技术方面的理论研究与实践能力。
研究数字钟与扩大其应用,有着非常现实具有现实意义,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
1.3论文章节安排
本论文大致可分为三大部分:
第一部包含第一章至第三章,系统介绍了论文研究的目的与意义,并最终确立方案;第二部分包含第四章至第七章,给出实际硬件电路的分析,求证、与调试,还有使用说明;第三部分为是论文总结与未来相关展望。
第2章任务与要求
2.1课题概述
本设计基于单片机技术原理,以单片机芯片89C51作为核心控制器,通过硬件电路的制作以与软件程序的编制,设计制作出一个多功能数字时钟系统。
该时钟系统主要由时钟模块、闹钟模块、显示模块、键盘控制模块等组成。
能够准确显示时间(显示格式为时时:
分分:
秒秒,24小时制),可随时进行时间调整,能显示温度。
2.1.1设计内容
1)显示准确的北京时间(时、分、秒)与公历日期显示功能(年、月、日);
2)可通过按键切换年、月、日与时、分、秒的显示状态;
3)可随时可以调校年、月、日或时、分、秒;
4)可每次增减一进行时间调节,也可快速增减进行时间调节;
5)有闹钟功能(可控制闹钟的开关);
6)可显示环境温度。
2.1.2要求
绘制系统组成框图,确定设计方案;
了解电路所需集成芯片的功能,参数和工作原理;
绘制整机电路图;
制作实物并完成软、硬件调试;
提交毕业设计论文。
第3章方案论证与设计
3.1总体设计分析
本课题设计的是具有温度显示的电子实时时钟/万年日历系统,利用单片机最小系统以与显示模块、温度传感模块等结合软件实现各项功能。
3.2方案的选择与设计
为实现本设计的要求可以采用以下几种方案:
1.显示模块方案:
方案一:
采用液晶显示屏;
方案二:
采用点阵式数码管显示;
方案三:
采用数码管显示;
2.时钟芯片方案:
方案一:
单片机定时计数器提供;
方案二:
1302时钟芯片提供;
3.温度传感器方案:
方案一:
热敏电阻;
方案二:
数字式温度传感器18B20;
3.2.1显示模块选择方案和论证:
方案一:
采用液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多。
方案二:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高。
方案三:
采用数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。
3.2.2时钟芯片的选择方案和论证:
方案一:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、时、分、秒计数。
采用此种方案减少芯片的使用,节约成本,实现的时间误差较小,单片机芯片得到充分利用。
方案二:
采用1302时钟芯片实现时钟,1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以与闰年补偿的年进行计数,而且精度高,位的做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300.
3.2.3温度传感器的选择方案与论证:
方案一:
使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行转换。
。
此设计方案需用转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。
方案二:
采用数字式温度传感器18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除模块,降低硬件成本,简化系统电路。
另外,数字式温度传感器还具有测量精度高、测量范围广等优点。
3.3方案确定
我们根据手头现有资源,经济性,功能实现性选取方案。
综上各方案所述,对此次设计的方案选定:
显示采用方案三(数码管显示);时钟采用方案一(单片机定时计数器提供秒信号);温度传感器采用方案二(18B20数字式温度传感器)。
第4章硬件电路设计
4.1硬件电路设计框图
图4-1硬件电路设计框图
4.1.1系统硬件概述
本电路是由89S51单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;采用三线接口与进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或数据。
温度的采集由18B20构成;显示部份由8个数码管,用动态扫描显示方式对数字的显示。
4.1.2单片机主控制模块的设计
89S51单片机为40引脚双列直插芯片,有四个口P0123,51单片机共有4个8位的口(P0、P1、P2、P3),每一条线都能独立地作输出或输入0接上拉电阻。
单片机的最小系统如图4-2所示,18引脚和19引脚接时钟电路1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻与开关后够上电复位电路,20引脚为接地端,40引脚为电源端。
图4-2主控制系统
4.1.3振荡电路
本设计51芯片选用内部振荡器方式。
由于本设计的时间由内部定时器中断与软件计数相结合产生的,所以从计算方便以与系统的效率上考虑,本设计选用12频率的晶振,电路原理图如图4-3。
图4-389C51的振荡电路
4.1.4复位电路
本设计使用上电复位电路。
单片机晶振为12,起振时间将近1,单片机1个机器周期的时间为1。
复位条件:
两个以上机器周期的高电平。
复位电路把单片机锁定在复位状态上并且维持一个延时(记作),以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时钟振荡器从起振到稳定的一个等待时间;在单片机开始进入运行状态之前,还要至少推迟2个机器周期的延时间。
单片机是高电平的时候复位,一般是用电阻和电容组成的,电容充电的时复位端为高电平,此时单片机开始复位,电容充电完成,此时单片机复位完成。
图4-489C51上电复位电路
4.1.5温度采集模块设计
如图4-5所示。
采用数字式温度传感器18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用P3.6与18B20的口连接加一个上拉电阻接电源接地。
表4-118B20详细引脚功能描述
序号
名称
引脚功能描述
1
地信号
2
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
可选择的引脚。
当工作于寄生电源时,此引脚必须接地。
图4-518B20温度采集
4.1.6显示模块的设计
要实现接在P0和P2口上8个数码管的动态显示,必须轮流向各数码管送出段码和相应的位码,利用发光二极管的余晖和人眼的视觉暂留效应,使得人感觉各位数码管同时在显示,实际多位数码管是一位一位轮流显示的,试试轮流的速度非常快,人眼已经无法分辨。
数码管扫描频率必须大于42,人的眼睛才不会感觉到闪烁。
本设计中向P2发送段码,向P0发送位码,如图4-6所示。
图4-6数码管动态显示硬件原理图
发光二极管()由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式显示器件(半导体显示器)。
分段式显示器(数码管)由7条线段围成8字型,每一段包含一个发光二极管。
外加正向电压时二极管导通,发出清晰的光。
只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。
数码管有共阳、共阴之分。
图4-7是共阳式数码管的原理图和符号。
图4-7共阳式数码管的原理图和数码管的符号图
4.1.7蜂鸣器电路
如图4-6,本设计采用无源蜂鸣器,单片机必须输出固定频率的方波信号,其工作电压范围宽,4-12V,需要外围元件少,电压增益可调范围为20-200.,接在P3.5口。
如图4-7所示。
图4-8蜂鸣器输出电路
4.1.8按键电路
1、键盘编程扫描法识别按键方法:
1)判别有无键按下;
2)键盘扫描取得闭合键的键值;
3)得到键值;
4)判断闭合键是否释放,如没释放则继续等待。
5)将闭合按键的值保存,同时转区执行该闭合键的功能。
2、键盘电路原理图:
图4-9按键电路原理图
第5章系统的软件设计
5.1编程环境与语言:
本设计的原理图实现是在99中实现的,本设计的程序在2环境中进行编程与调试的,编程语言51C。
其中中断与软件计数产生时间计数来实现计时,每计时完1秒,秒字节地址中的值增1,满60秒分节地址中的值增1,满60分小时节地址中的值增1······如此不断向高位进位,判断闰年闰月,实现日期时间更新。
5.2程序流程框图
图5-1主程序流程图
图5-2闹铃程序流程图
图5-3按键调整流程图
图5-4数码管滚动显示流程图
图5-5日历流程图
第6章电路调试
正确的调试系统才能使各模块电路正常工作,实现高稳定性的显示。
要经过反复的调整和测试,才能达到预期的目标。
6.1调试的设备
稳压电源
一台
电脑
一台
数据线
一条
数字万用表
一台
表6-1
6.2调试步骤
调试具体步骤大致如下:
一、硬件调试;
二、软件调试。
6.2.1硬件调试
电路的调试具体步骤大致如下:
1.通电观察:
通电后不要急于测量电气指标,而要观察电路有无异常现象,例如有无冒烟现象,有无异常气味,手摸集成电路外封装,是否发烫等。
如果出现异常现象,应立即关断电源,待排除故障后再通电。
2.静态调试:
静态调试一般是指在不加输入信号,或只加固定的电平信号的条件下所进行的直流测试,可用万用表测出电路中各点的电位,通过和理论估算值比较,结合电路原理的分析,判断电路直流工作状态是否正常,与时发现电路中已损坏或处于临界工作状态的元器件。
通过更换器件或调整电路参数,使电路直流工作状态符合设计要求。
3.动态调试:
动态调试是在静态调试的基础上进行的,在电路的输入端加入合适的信号,按信号的流向,顺序检测各测试点的输出信号,若发现不正常现象,应分析其原因,并排除故障,再进行调试,直到满足要求。
6.2.2软件调试
本设计采用C51编程。
C51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,语言和C语言的程序设计,界面友好,易学易用。
图5-4C51启动界面
(一)、调试步骤:
1.首先启动C51软件的集成开发环境。
图5-5
2.建立工程文件。
图5-6
3.配置工程。
图5-7
4.安装驱动。
图5-8
5.进行程序刷写调试。
图5-9:
(二)、调试方法:
1、先进行人工检查,即静态检查。
为了更有效地进行人工检查,所编的程序应力求做到以下几点:
①应当采用结构化程序方法编程,以增加可读性;
②尽可能多加注释,以帮助理解每段程序的作用;
③在编写复杂的程序时不要将全部语句都写在函数中,而要多利用函数,用一个函数来实现一个单独的功能。
各函数之间除用参数传递数据外,尽量少出现耦合关系,这样便于分别检查和处理。
2、在人工检查无误后,再上机调试。
进行动态检查。
在编译时会给出语法错误的信息,调试时可以根据提示信息具体找出程序中出错之处并改正。
应当注意的是有时提示出错的地方并不是真正出错的位置,如果在提示出错的行找不到错误的话应当到上一行再找。
有时提示出错的类型并非绝对准确,由于出错的情况繁多且各种错误互有关联,因此要善于分析,找出真正的错误,而不要只从字面意义上找出错信息,钻牛角尖。
若系统提示的出错信息很多,应当从上到下逐一改正。
有时显示出一大片出错信息往往使人感到问题严重,无从下手。
其实可能只有一二个错误。
例如,对使用的变量未定义,编译时就会对所有含该变量的语句发出出错信息。
这时只要加上一个变量定义,就所有错误都消除了。
3、在改正语法错误(包括“错误()”和“警告()”)后,应当对运行结果作分析,看它是否符合要求。
4、与时将程序写入芯片中,看是否达到要求,入不能实现功能则反复检查和调试,不断完善优化程序。
第7章使用说明
7.1使用方法
1、连接电源;
2、打开电源开关;
3、通过S1键、S2键、S3键、S4键对系统进行设置。
7.1.1系统面板介绍
图6-1系统面板介绍图
7.1.2调整方法
1.系统启动后按S4进入设置程序,设置时时钟继续运行,对当前项进行设置,调整顺序依次为:
2.按S3对设置项进行逐个切换,循环;
3.S2对选项进行减(-)操作和的切换;
4.S1对选项进行加(+)操作和的切换;
5.
当全部选项或者部分选项设置完成,按下S4保存退出,时钟开始运行。
7.1.3调整框图
图6-2按键程序流程图
7.1.3注意事项
请避免在高温、高湿度、高频环境下使用。
7.2故障分析
对实验过程中产生的故障进行分析与解决。
7.2.1数码管显示不全、模糊、多出相对较暗的一位
故障分析:
可能是电路断路、数码管没有消影造成。
故障解决:
首先使用试测仪对电路进行测试,观察电路是否存在断路现象。
加入数码管消影程序,问题得到解决。
7.2.2调整时按键过于灵敏
故障分析:
可能是没有采用按键防抖。
故障解决:
加入按键防抖程序,问题得到解决。
心得体会
衷心感谢我的指导老师赵巧妮老师在设计的过程中对我的悉心指导,使我获得了丰富的理论知识,极大地提高了实践能力,并对当前电子领域的研究状况和发展方向有了一定的了解,单片机知识对今后进一步学习有极大的帮助。
随着毕业日子的到来,毕业设计也接近了尾声。
经过几周的奋战我的毕业设计终于完成了。
在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。
毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。
通过这次毕业设计使我明白了自己原来知识还比较欠缺。
自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。
通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。
在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。
我的心得也就这么多了,总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。
最后终于做完了有种如释重负的感觉。
此外,还得出一个结论:
知识必须通过应用才能实现其价值!
有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。
在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。
在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。
而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。
虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。
总之,这次毕业设计让我学习到很多。
虽然结束了,但这只能是一个开始。
我们只有对自己有了更高的要求,才能作为动力不断取得新的成绩!
参考文献
1.《模拟电子技术》第二版戴士弘电子工业出版社
2.《数字电路》郝波电子工业出版社
3.《C语言程序设计》徐建民电子工业出版社
4.《新概念51单片机C语言教程》郭天祥电子工业出版社
5.
6.
7.
附件
附件一:
总原理图
附件二:
版图
附件三:
元件清单
序号
名称
代号
数量
标称值
(型号)
封装
1
电阻
R22、R31、R34、R35
4
1K
0.3
2
电阻
R36
1
1.5K
0.3
3
开关二极管
D11
1
1N4148
D08H
4
稳压二极管
D14、D15
2
3.6V
D08H
5
电阻
R916
R29
9
4.7K
0.3
6
电阻
R30
1
5.1K
0.3
7
电阻
R18
1
10K
0.3
8
电解电容
C3、C19
2
10
2/5
9
晶振
1
1
11.0592M
X1
10
晶振
2
1
12M
11
接口
J3
1
18b20
4\1\3
12
电容
C21、C22
2
22
2.5
13
电容
C1、C2
2
33P
2.5
14
电容
C12、C17、C20
3
104
4.8
15
电阻
R37、R38
2
180/200
0.3
16
电阻
R18、R17
9
200
0.3
17
电容
C18
1
250102
4.8
18
电容
C11
1
47016V
5/8
19
89S51芯片
U1
1
8031
40L
20
芯片
U7
1
8-16
28-2
21
接口
J6
1
3
3
22
接口
J1、J2
2
8
8
23
继电器
1
1
05V
5
24
接口
J4、J5
2
1
3
25
发光二级管
D12、D13
2
3.5
26
三极管
Q110
10
8550
27
数码管
1、2
2
410361K
361K
28
蜂鸣器
1
1
29
独立按键
S14
4
4\
30
复位按键
1
1
4\
31
接口
J9
1
32
自锁开关
1
\6
\6
附录四:
程序代码
/*
项目名称:
万年历
制作:
陈志军
修改日期:
2011-11-22
*/
/*P2接段码,P0接位码*/
<51>
<>
3^6;
();
18b20();
365;
8;
16;
S10x0e
S20x0d
S30x0b
S40x07
8[]={00,09,04,00,0x99,0x92,0x82,08,0x80,0x90}段码8位无符号整数
[]={08,0x8e,0,0x8e}
*;
0;
8;
[7];
1;
1;
162011;
812923585023590;
0;
3^5;
(16t)
{
16;
(0<)
(0<112);
}
18B20(8i)延时1微秒
{
();
}
1820()/*1820复位*/
{
80;
=1;复位
18B20(4);延时
=0;拉低
18B20(100);精确延时大于480
=1;拉高
18B20(40);
}
81820()/*读数据*/
{
80;
8=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 具有 温度 显示 电子 实时 时钟 万年 日历 系统 设计 制作