【《基于单片机的多功能数字万年历设计》6200字(论文)】_第1页
【《基于单片机的多功能数字万年历设计》6200字(论文)】_第2页
【《基于单片机的多功能数字万年历设计》6200字(论文)】_第3页
【《基于单片机的多功能数字万年历设计》6200字(论文)】_第4页
【《基于单片机的多功能数字万年历设计》6200字(论文)】_第5页
已阅读5页,还剩14页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

基于单片机的多功能数字万年历设计摘要:古人通过观察太阳来估算时间,后来又通过日冕,漏刻来记录时间。时间这个话题一直以来都是我国文人墨客所探索的永恒话题。但是传统时钟功能过于单一,现如今除了记录时间以外,还必须融合多种实用功能才能满足人们的需求。最重要的控制核心我选用了STC89C52型号的单片机。时间信号通过DS1302来提供,并且使用1602液晶来对内容进行显示。STC89C52可以在低压下正常工作,使用安全且功耗很低。关于对各类时间的计时则使用DS1302时钟芯片来完成。功耗同样非常低,可以使用一节纽扣电池持续运行一两年。将所有准备显示出来的信息都显示在LCD1602液晶屏上。不仅如此,本设计还添加了一些很实用的功能。例如:设置闹钟、显示温度、调整时间、秒表计时等。所有的软件程序都是在编写完成后,在Keil软件里进行进一步的确认,确认无误的情况下才烧入单片机进行最后的测试。关键词:STC89C52;DS1302;万年历;LCD1602引言我们每个人的日常生活都离不开时间,虽然时间不像是实实在在的物品一样能触摸和感受,但是它却和空气一样,是我们生命中不可或缺的重要因素。如果把时间和温度相类比,数字万年历就像是温度计一样。可以衡量温度的高低。所有人或事物都在被时间所影响。食物变质、国家灭亡、文明消失、物种灭绝······时间却一直都逐渐的流淌。伴随着多元化的发展,多功能、低功耗成为的当今科技发展的主题。时钟在历史的长河里慢慢演变进步,人们在观测时间的同时渴望着获取更多其它有用的信息和实用的功能。多功能万年历顺应着这样的改变,诞生了。它可以将许多信息在一起集中显示出来,想要了解的信息在上面一目了然。现如今电子科技正在迅猛的发展,出现了许多的大规模甚至超大规模的集成电路,帮助人们的生活变得更加快捷便利。单片机的技术更是已经完美的融入了寻常百姓的家里。功能非常单一的产品已经不能满足人们的日常需求。尤其是电子产品,附加的功能越多就越能吸引人们的眼球。本文设计的万年历是以单片机为核心,通过对单片机最小电路的学习,进行相应的拓展。从价格、功能、功耗等多方面合理的选择各种器件零件,以及进行软件和程序的书写练习,可以方便地进行进一步研究。课题意义我们生活中有许多许多的设备都是以数字化的钟表拓展的。例如:消防系统的自动报警灭火,学校里的自动上课(下课)铃声,家里的定时微波炉、定时烤箱、定时洗衣机,马路边每晚都会准时亮起的路灯,甚至是各种电气电子设备的自动定时通断启动等等。所以,对万年历的研究并且扩充万年历的多方面应用有着非常实用的重要意义。多功能数字万年历在电子市场上就犹如女生眼中的化妆品一样受到追捧。对于我们学习来说,它是一个很好的研究对象,因为它涉及到单片机,单片机是我们电子信息工程的一门必修课。以单片机为主要核心开展设计的万年历,对我们学生来说是一个很有挑战性的研究课题。在完成该设计的途中可以充分发挥自己的创造能力,根据自己的想法一边创作一边学习。本设计的中枢部位就是STC89C52。利用DS18B28和DS1302来把控温度和时间。将这些信号一起显示在LCD1602上。在电路板上加入了纽扣电池,可以使万年历在没有连接外部电源的情况下依然可以准确的显示时间信息,以减少每次通电都得调整时间的麻烦。程序由6个部分组成。分别是:日历,时间,显示,闹钟,秒表,温度。将这些程序全部准确编写好之后,接着在Keil中开始调试。调试无误后,把程序写入单片机。最后进行实物的检测,本次的设计也就完成了。万年历的设计目的和整体方案设计目的:设计一个基于单片机的多功能数字万年历可以从多方面锻炼自己,首先考验了我对单片机的掌控能力和对单片机扩展功能方面的应用,同时还要求我对于电路设计要尽量简洁,尽可能低的压缩成本,而且在程序方面还考察了我的C语言功底。软件设计使用C语言,语法简洁,使用方便[1]。最后的焊接方面更是对认真和细心的考验。整体方案:本设计采用的控制核心是STC89C52。通过DS18B20来捕捉温度。DS1302起到把控和传达时间信息的作用,将需要显示的时间、温度、秒表、闹钟等信息显示在LCD1602液晶屏上。并且通过5个按键来对液晶屏上信息进行相应的变动调整。发声模块选用有源蜂鸣器。当设定时间到达时,蜂鸣器自动的发出警报,以提醒设定时间到达。加入了纽扣电池,防止未接通电源时时钟芯片被断电,避免了每次通电都需要重新调整时间。编写好各模块的程序,并将其写入STC89C52中。最后完善和改进实物。万年历元器件的选择3.1主要控制核心单片机的选择本设计,将STC89C52作为控制核心。它的价格就是第一优势,而且它可以使用低电压来工作,安全性能很高。最重要的是操作简单,方便利用C语言来控制,而且完全可以满足所有我想实现的功能。3.2温度传感器的选用采用DS18B20温度传感器芯片,因为这个温度传感器只有三个引脚,非常方便在洞洞板上安装和使用。只需要将第一个和最后一个引脚接上电源,然后将第二个引脚(数据引脚)连接到单片机。并且,需要再连接一个上拉电阻才可以正常使用。这个芯片的价格虽然同样低廉,不过依然可以满足对温度的采集的要求。3.3显示器件的选择本万年历设计中的显示有两种方案选择:方案一:采用LED显示。方案二:采用LCD显示。对于第一个方案:LED又称为数码管,它是由7个发光的数码管按照一定的顺序排列而组成的显示器件。可以通过程序来控制需要显示的简单字符,然后点亮相应的数码管。具有操作比较简单、价格低廉、耗电极低、可长时间使用。不足之处也显而易见,LED数码管制作工艺复杂,而且如果发光的数码管坏掉的话,只能更换,不可以维修,所以维修成本较高。对于第二个方案:LCD液晶屏相对于LED数码管来说,更容易与单片机相连接,更方便通过程序来用单片机控制。而且显示效果也比较好,不管是在黑暗的地方还是阳光刺眼的地方都可以清晰的显示,功能也更加强大,可以显示16列2行的信息。完全可以清晰的显示出我想要显示的所有信息。相比而言,选择LCD液晶屏更为符合我的设计要求。这样选取成本低,并且使用起来较为简单,采用LCD1602液晶屏来显示最佳[2]。3.4时间芯片的选择时钟芯片采用DS1302。它的优点非常明显,消耗电量特别低,甚至使用小小的一个纽扣电池都可以让它持续运作一年以上的时间。系统硬件设计4.1系统概述本设计核心运用STC89C52。针对单片机的最小电路做出拓展,开发和完善更多实用的功能。我将所有要显示的内容都通过LCD1602展示出来。并且把DS18B20捕获的温度信息传递给单片机。时间信息由DS1302提供。闹钟声使用有源蜂鸣器发出来。可以调整时间、设置闹钟、控制秒表。选取5V的低压给单片机供电。系统框图如图1所示。图1系统框图4.2最小系统模块一、STC89C52简介它的功耗很低,可以与工业80C51产品引脚和指令兼容。单片机芯片、时钟电路、复位电路组成它的最小电路[3]。它包括128B芯片数据存储器,32双向独立寻址I/O线,可寻址64KB片外程序(数据)存储器,一个全双工异步串口,两个16位定时/计数器,5个中断源,2个中断优先级,以及片内时钟振荡器[4]。二、最小系统电路原理图单片机最小电路由三个模块组成。供电模块:40引脚VCC连接5V电压,20接地。复位模块:把电容和电阻串联在一起,并接在9引脚上。晶振模块:每秒可产生12000000个正弦波,单片机每收到12个正弦波就会执行一条指令。图2最小系统电路原理图4.3液晶显示电路一、LCD1602液晶屏简介通过型号就可以看出来这个显示屏可以显示2行,16列的字符。有背光和非背光两类。相对于实物来说,背光的LCD1602厚度要比非背光的LCD1602厚度更大一些。下面是两者厚度的差距,如图3所示:图3厚度差距图二、液晶显示模块电路原理图单片机和液晶屏选择并行连接,改善串行时读写速度慢这一缺点。LCD1602的第1引脚和第16引脚接0V,第2引脚和第15引脚接5V。工作用电靠第1和第2引脚,发光用电靠第15和第16引脚。第7至第14引脚与单片机P00至P07口对应,用于传输命令。第4引脚RS是寄存器控制脚,用于液晶上。第5引脚RW是液晶的读写控制脚。第6引脚EN是液晶的脉冲使能引脚,接到单片机的P25口上。第3引脚与滑动变阻器相连,可以控制显示,使显示的更清晰。图4液晶模块电路原理图4.4时钟模块一、DS1302时钟芯片简介一般工作在2~5.5V的电压范围内,含有时钟突发寄存器、年份寄存器等。时钟突发寄存器,可以在一个时间序列中读写除充电寄存器外所有寄存器内容[6]。数据传输是采用穿行的方式来进行,就算没有连接外部的电源的,依然也可以维持时钟芯片的正常运行,相当于一种掉电保护功能。并且它的耗电情况微乎其微,就算只用一个小小的纽扣电池也可以持续工作超过一年的时间。二、引脚说明DS1302引脚图如图5所示。图5DS1302引脚图(1)第1引脚:电源。(2)第8引脚:在没有外部电源连接的情况下仍然可以保证DS1302时钟芯片晶振的正常运作。(3)第2和第3引脚:连接晶体振荡器。(4)第5引脚:RST是复位/片选线.(5)第6引脚:数据输入输出端。(6)第7引脚:SCLK为时钟输入端。(7)第4引脚:GND为接地引脚。三、DS1302模块电路原理图共有8个引脚。工作用电靠第1引脚和第4引脚负责。第2引脚和第3引脚连接晶振。通过第5第6第7引脚与单片机数据通信。还有第8引脚,提供备用的电源。图6DS1302电路原理图4.5DS18B20温度传感器电路一、DS18B20简介具有迷你的体型,容易测量室内的温度。在安装上更加便捷,可以根据使用者自己的想法来处理温度。低至-55℃,高至+125℃都可以进行测量[7]。并且在给单片机传输信息的时候,会把温度信号先转换为数字信号。图7温度传感器二、DS18B20温度传感器电路原理图由于在这个设计中还添加了温度的测量与显示,所以要使数据引脚DQ与单片机的P3.7相连,以此接收温度的测量值[8]。图8DS18B20电路原理图4.6键盘模块键盘方式可以运用独立和矩阵这两种方式[9]。为了使本万年历的操作更加简单和方便,添加了5个独立按键在洞洞板上。我用了五个按键来分别操作“设置时钟”、“闹钟”、“秒表计时”、“减(开始/暂停秒表)”、“加(秒表清零)”这五种功能。下面是键盘模块的电路图,如图9所示。图9键盘模块电路图软件设计5.1程序语言及开发环境程序语言使用了C语言,他不仅是我们的必修课之一,而且还具有汇编语言的功能特点,非常便捷。在程序编程时,用C语言更加适合单片机和嵌入式系统的开发,运用KeilC51的开发环境来进行编程,如图10所示。容易学习和使用。图10KeilC51图5.2程序流程图设计一、总体程序流程图设计总体程序流程图如图11所示。图11总体程序流程图二、LCD1602液晶屏程序设计当液晶开始显示工作之前,需要先确定一个位置,也就是从哪个地方显示第一个字符。既可以从左往右,也可以转换方向。按照人们的读写习惯,一般都是按照平常的阅读顺序从左往右开始显示。比如显示“1602”这个数字,会先在液晶屏上显示千位的“1”,然后依次显示“6、0、2”,最后出现完整的数字“1602”每次显示都会由非常短暂的停顿,不过由于这个停顿的时间非常短暂,所以由我们肉眼是观察不出来的。和显示数字相同,字符也按照这样的顺序进行显示。例如“Word”:从第一个字母“W”开始,按照顺序,一个一个的接着显示,一直到显示出字母“d”,这样才完成了一次的显示。需要注意的是,并不是显示的所有字符都需要定位再显示,只需要把显示的字符串的第一个字符精确定位好之后,后面的字符都会按照顺序,一个一个的接着显示出来。下面是液晶显示流程图,如图12所示。图12液晶显示流程图三、读出DS1302时钟芯片程序设计单片机对时钟芯片传递的信息进行读取一直不间断的读取,体现在显示屏上的时间不断更新这一现象中。在单片机完成读取后,就会将显示信息传输到LCD1602液晶屏上,LCD1602液晶屏在将接收到信息后进行及时更新处理。图13读取DS1302时间信息流程图四、温度传感器DS18B20程序设计图14温度传感器程序流程图硬件组装与调试6.1元件的选择与测量本次多功能数字万年历设计的主要由STC89C52、晶振、电阻、电容、按键、开关、电源座、三极管、蜂鸣器、DS1302、DS18B20、LCD1602。在开始设计和组装元器件之前,需要将所有零件的使用方法搞明白,通过在网上查资料或者询问老师同学都可以。充分了解器件的特性和操作说明后在开始进行焊接。有个别的元器件是有正负极之分的,电阻和电容的大小再刚买完的时候最好就做上标记,芯片的引脚排序也要分清楚。有商家在电容和晶振上已经印有标记;元件的正负可以根据短则负、长则正来记忆。特殊元件的正负极就需要查看网络资料或者工具书来进行了解。6.2元件的焊接与组装焊接时需要注意以下细节:(1)在组装元器件之前,对元器件进行一次细致的检查,防止元器件不能正常使用,那样的话,后续出现问题检查电路很难检查出来是元器件的问题。(2)为了方便焊接和排线布线,最好将所有集成电路的组装都朝向一个方向。(3)一些单独的小元件在安装的时候一定要反复确认元件的正反向和正负极。(4)区分各个用途的导线可以更加方便后期的排查,也会让焊接更加便捷。最好能将各个模块或者正负极的导线区分开。当然这只是为了方便快捷,使用同一种导线只要能完成设计,一样也是可以的。(5)在焊接的过程中,每个焊点焊完之后,一定要认真检查。要不然可能会出现漏焊和空焊的情况,这样会导致实验的失败。在焊接完成,需要通电测试之前,最好在细心的检查几遍。(6)所有的接地线在焊接完成后最好都接在一起,形成一个公共的参照点,以方便电路能够正常的工作和调试。正确的组装和简洁的布局,可以使电路看起来更加整洁、牢靠。也给调试和排查软硬件提供了更加方便的操作条件。图15焊接背面图6.3电路的调试测试、调整、改进是电路调试的三种方式。测试是指在电路组装完成后对电路的各个模块的参数和工作的状态进行测试,观察各个模块是否都在正常工作,是否工作在最佳工作电压、电流。调整是指如果某些地方电压或电流,达不到或超过所要求的数值。则需要进一步的改进。改进是指在组装的时候,将焊接复杂的地方进行简化,将布局混乱的地方进行进一步的整理等操作。6.4调试步骤(1)通电之前的检查显而易见,在电路组装焊接后并不能直接通电,这样可能会引起电路损坏,所以,我们应该先按照设计出来的模块原理图对电路进行一

温馨提示

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

最新文档

评论

0/150

提交评论