基于单片机的可测温式电子万年历
随着科技的发展,生活中电子万年历越来越普遍,功能也越来越多。根据人们的日常基本需求,设计一种电子万年历,可以实现测温、闹钟、秒表和语音报警等功能,为人们的日常生活提供舒适和便捷,具有重要的使用价值。本文设计了一种基于单片机STC89C52的可测温式电子万年历,能实时地将当前时间和周围的环境温度显示出来,并具有闹钟、秒表、语音报时的功能。万年历主要使用温度传感器DS18B20采集温度信息,与单片机实现双向通信;时钟芯片DS1302实现时钟,准确计时;并通过语音芯片完成整点报时和温度报警功能。该万年历电路结构简单,具有时间精确、抗干扰能力强、功耗低、可靠性高等优点。
该可测温式电子万年历主要由STC89C52、时钟芯片、温度采集、显示电路、语音报警等组成。按键可以实现显示内容的切换、时间的调整以及语音报警的设置。
1硬件电路的设计
该可测温式电子万年历工作时,首先初始化时钟芯片,单片机从时钟芯片读取时间和日期等信息,同时又从温度传感器采集当前环境温度,经过驱动电路送给液晶显示屏,显示相关的信息。其中,按键可以对时间、日期、星期和温度进行调整,并控制闹钟和秒表的功能。万年历又加入了语音芯片,可以实现整点报时和温度报警的功能。
(1)时钟芯片DS1302
DS1302在时间显示方面应用非常普遍,可以对年、月、日、周、时、分、秒进行计时,并且具有闰年补偿功能,工作电压为2.5V~5.5V.采用三线接口与单片机进行同步通,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个用于临时性放数据的RAM寄存器,具有主电源和后备电源两个引脚,并且具有对后备电源进行电流充电的能力。DS1302与单片机之间采用串行数据传输,控制液晶屏显示时间信息。
图1 DS1302引脚图
DS1302的引脚图如图1所示,其中Vcc2为主电源,Vcc1为后备电源。在主电源关闭的情况下,也能保持时钟的连续运行。X1、X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc > 2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向);SCLK为时钟输入端。
(2)温度传感器DS18B20
温度传感器DS18B20直接与单片机连接,避免A/D模数转换模块,降低硬件成本,简化系统电路。DS18B20的电压范围为:3.0~5.5V,在寄生电源方式下可由数据线供电,采用独特的单线接口方式。DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。测量温度的范围为-55℃~+125℃之间,测温精度可以达到0.5℃。测量结果直接输出数字温度信号,串行传送给单片机的CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
DS18B20与单片机的连接方式有两种:寄生电源连接方式和外部电源连接方式。该可测温式电子万年历采用外部电源连接方式。连接方法即DS18B20的1脚接地,2脚(DQ引脚)与单片机的一根I/O口线连接(P3.2脚),3脚接电源+5V.在STC89C52的I/O口线与+5V之间连接一4.7K的上拉电阻,以保证数据采集的正常进行。
(3)LCD1602温度显示的设计
该室温报警装置液晶显示屏采用LCD1602,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。
在单片机系统中应用晶液显示器作为输出器件有显示质量高、数字式接口体积小、重量轻、功耗低的优点。LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,每一个字符都有一个固定的代码,与单片机连接后通过C语言编程就可以工作。在正常工作状态下,电子万年历的设计连接图如图2所示。
图2 LCD1620与单片机的连线图
2软件系统设计方案
该万年历的程序流程图如图3所示,具体流程如下:首先,接通电源,上电工作,DS1302、DS18B20、LCD1602进行初始化,通过单片机控制液晶屏显示“时分秒”、“温度”、“年月日”、“星期”,并伴随整点报时的功能;然后,进入功能设置,第一次按下按键K4可以调整“时分秒”和“年月日”,此时K1、K2和K3分别对应时间和日期“加”、“减”和“移位选择”的功能,日期发生变化相应的“星期”也会跟着变化;第二次按下按键K4可以设置闹钟的功能,此时K1、K2和K3分别对应时间和日期“关闭”、“开启”和“移位选择”的功能;第三次按下按键K4可以设置秒表的功能,此时K1、K2和K3分别对应时间和日期“复位”、“暂停”和“计时”的功能;第四次按下按键K4可以退出设置功能,因为该万年历加入了语音芯片,此时按下K2键具有语音报时的功能。
由于DS18B20具有温度采集检测的功能,所以液晶屏显示的温度会随着周围环境温度的变化而变化。该万年历设置有复位电路,连接一个按键K可以自动实现复位功能。
图3可测温式电子万年历程序流程图
3调试和分析
待该可测温式电子万年历焊接和软件编程完成后,进入调试环节,将keil4中C语言程序生成的hex文件烧入到STC89C52芯片中,连接电源后将万年历放入模拟环境中进行系统调试,调试结果如图4所示。液晶显示屏显示“时间”、“温度”、“日期”和“星期”信息,同时可以整点报时,如图4中A图所示。
图4可测温式电子万年历调试结果图
第一次按下K4进入时间和日期的设置,调试结果如图4中B图所示;第二次按下K4进入闹钟的设置,“Y”为开启闹钟,“N”为关闭闹钟,调试结构如图4中C图所示;第三次按下K4进入秒表的设置,调试结构如图4中D图所示;第四次按下K4退出功能设置,此时按下K2具有语音报时功能。
4总结
电子万年历在生活中日益普遍,该设计主要利用时钟芯片DSl302、温度传感器DS18B20和液晶屏LCD1602构建了一个可测温式万年历装置,电路结构简单,具有语音报时功能,适用于家庭生活,使用价值高,具有较好的应用前景。 谢谢分享!:D
页:
[1]