历史上的今天
返回首页

历史上的今天

今天是:2025年03月16日(星期日)

正在发生

2018年03月16日 | 基于STC89C52单片机的可测温式电子万年历

2018-03-16 来源:eefocus

     随着科技的发展,生活中电子万年历越来越普遍,功能也越来越多。根据人们的日常基本需求,设计一种电子万年历,可以实现测温、闹钟、秒表和语音报警等功能,为人们的日常生活提供舒适和便捷,具有重要的使用价值。

    本文设计了一种基于单片机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 构建了一个可测温式万年历装置,电路结构简单,具有语音报时功能,适用于家庭生活,使用价值高,具有较好的应用前景。


推荐阅读

史海拾趣

遨格芯微(AGM)公司的发展小趣事

作为电子行业的领先企业之一,AGM始终坚持以创新为核心竞争力。公司不断投入研发资源,加强与国际先进企业的合作与交流,积极引进和吸收新技术、新工艺和新材料。同时,AGM还注重人才培养和团队建设,打造了一支高素质、专业化的研发团队。这些努力为AGM在未来的发展中保持领先地位提供了有力保障,也为公司实现可持续发展奠定了坚实基础。

以上五个故事从不同角度展示了遨格芯微(AGM)公司在电子行业中的发展历程和取得的成就。通过不断的技术创新和市场拓展,AGM逐渐在可编程逻辑技术领域崭露头角,成为电子行业的佼佼者。未来,随着科技的不断进步和市场需求的不断变化,AGM将继续保持创新精神和敏锐的市场洞察力,为电子行业的发展贡献更多力量。

正泰公司的发展小趣事

2014年,正泰公司接到了一份来自美国光伏巨头SE的大订单。然而,客户对车间现场使用的安规测试仪的检测方法提出了质疑,要求限期完成整改。面对这一挑战,正泰公司的员工曹敬乐根据国际标准中的相关要求,结合实际参数,重新对检测工装进行改进设计和样品制备。经过不断测试和改进,最终满足了外方的要求,订单顺利投产。这一事件不仅展示了正泰公司的技术实力和创新能力,也体现了公司对市场变化的敏锐度和应对挑战的能力。

Electech Electronics公司的发展小趣事

Electech Electronics公司成立于XXXX年,由几位在电子行业有丰富经验的工程师共同创立。起初,公司主要专注于电子元器件的代理和销售,为本地的小型电子产品制造商提供服务。通过不懈的努力和对市场敏锐的洞察力,Electech Electronics逐渐在本地市场中建立了良好的声誉。

EF Johnson Technologies Inc公司的发展小趣事

面对日益激烈的国内市场竞争,EF Johnson公司制定了国际化战略,将目光投向了海外市场。公司通过与国外代理商的合作,成功将产品打入国际市场,并获得了良好的口碑。同时,公司还积极参与国际展会和技术交流活动,不断提升品牌影响力。在国际化战略的推动下,EF Johnson的海外市场份额逐步扩大,成为一家具有全球影响力的电子通信企业。

Corsair Memory Inc公司的发展小趣事

Corsair Memory Inc公司,由Don Lieberman、John Beekley与Andy Paul于1994年在美国加州佛利蒙创立。起初,公司专注于为英特尔系统生产Cache-On-A-Stick (COAST)模组。然而,随着英特尔将快取内存由主板移至处理器晶体中,Corsair迅速调整战略,将注意力转向电脑内存市场。这一转变不仅使Corsair避开了潜在的市场风险,更为其后续的内存业务奠定了坚实的基础。

BESTECH公司的发展小趣事

随着公司的发展,Corsair Memory Inc不仅局限于内存产品的生产,还积极扩大业务范围。其中,收购SCUF Gaming是Corsair在扩展业务版图上的重要一步。这一收购使Corsair得以进入游戏外设市场,进一步丰富了其产品线,也为其带来了更多的增长机会。

问答坊 | AI 解惑

19264顯示屏

這是我自己做得程序用PIC彙編編寫的…

查看全部问答>

What is “Protocol Based“?

What is “Protocol Based“?…

查看全部问答>

AVR中IO输出频率的问题

在ICC AVR中如何编写一个管脚是对另一个管脚取反,  但取反后输出的端口的频率要比实际端口输出的频率低十几倍请问如何才能使他们同步? …

查看全部问答>

JLink+Keil的棘手问题

小弟最近使用JlinkV8+Keil调试2440,发现有如下问题,恳请高手赐教! 1、Keil对Jlink的支持有两种方式:RDI和AGDI,那种方式更好一些?(在我看来Jlink的RDI接口好像设置项更多一些) 2、单步调试时,当程序运行到某个子函数里,我按下Step Out时 ...…

查看全部问答>

wince下用.net C#,如何让按钮文字换行?

用vs.net 2008 C#开发wince程序,需要在一个按钮上显示两行文字,我用newline开始在本机调试是可以输出两行文字的,可在wince环境下竟然第二行不能显示,请教各位有什么办法可以让按钮文字显示两行的?谢谢了。…

查看全部问答>

gprs连接成功但是socket连接失败

连接上GPRS后,能打开网页(baidu.com),但是通过socket ,tcp连不上自己的服务器。为啥呢。…

查看全部问答>

Rectangle 画出的矩形怎么去掉边框

        HDC hdc;         hdc = GetDC (hWnd);                HBRUSH hBr;                  ...…

查看全部问答>

急求 ALTERA DSP_Builder9.1 sp1 破解文

如题急求 ALTERA DSP_Builder9.1 sp1 破解文件  哪位大侠有呀!…

查看全部问答>

关于Arria GX 系列EP1AGX的工作电流如何确定

EP1AGX20(484)中的工作电流如何确定,就是内核电流比较大一点,但是具体是多少,该如何确定?高手指导下呗…

查看全部问答>