0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

电子万年历设计方案(1)

CHANBAEK 来源:IOput 作者:Bruno 2023-03-30 14:28 次阅读

1 引言

本文设计的电子万年历属于小型智能家用电子产品。 利用单片机进行控制,实时时钟芯片进行记时,外加掉电存储电路和显示电路,可实现时间的调整和显示。

2 系统概述

本设计以AT89S52单片机为核心,构成单片机控制电路,结合DS1302时钟芯片和24C02FLASH存储器,显示阳历年、月、日、星期、时、分、秒和阴历年、月、日,在显示阴历时间时,能标明是否闰月,同时完成对它们的自动调整和掉电保护,全部信息用液晶显示。 人机接口由三个按键来实现,用这三个按键对时间、日期可调,并可对闹铃开关进行设置。 软件控制程序实现所有的功能。 整机电路使用+5V稳压电源,可稳定工作。 系统框图如图2-1所示,其软硬件设计简单,时间记录准确,可广泛应用于长时间连续显示的系统中。

wKgaomQlK1GADYWdAAAPUioPeUo350.jpg

(图2-1 系统框图)

3 方案选择

由于电子万年历的种类比较多,因此方案选择在设计中是至关重要的。 正确地选择方案可以减小开发难度,缩短开发周期,降低成本,更快地将产品推向市场。

3.1 方案1——基于AT89S52单片机的电子万年历设计

不使用时钟芯片,而直接用AT89S52单片机来实现电子万年历设计。 AT89S52是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,俗称单片机。 单片机的可擦除只读存储器可以反复擦写1000余次。 由于将多功能8位CPU和闪烁存储器组合在单个芯片中, ATMEL的AT89S52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
若采用单片机计时,利用它的一个16位定时器/计数器每50ms产生一个中断信号,中断20次后产生一个秒信号,然后根据时间进制关系依次向分、时、日、星期、月、年进位。 这样就实现了直接用单片机来实现电子万年历设计。

用单片机来实现电子万年历设计,无须外接其他芯片,充分利用了单片机的资源。 但是精度不够高,误差较大,掉电后丢失所有数据,软件编程较复杂。

3.2 方案2——基于DS1302的电子万年历设计

在以单片机为核心构成的装置中,经常需要一个实时的时钟和日历,以便对一些实时发生事件记录时给予时标,实时时钟芯片便可起到这一作用。 过去多用并行接口的时钟芯片,如MC146818,DS12887等。 它们已能完全满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂、占用地址, 数据总线接线多、芯片体积大占用空间多、近年来串行接口的各种芯片在单片机系统中应用愈来愈多,串行接口的实时时钟芯片也出现了不少,DS1302是一个综合性能较好且价格便宜的串行接口实时时钟芯片。
利用单片机进行控制,采用DS1302作为实时时钟芯片,其三线接口SCLK、I/O、/RST与单片机进行同步通信,外加掉电存储电路、显示电路、键盘电路,即构成一个基本的电子万年历系统,若还要添加其他功能,在这基础上外扩电路即可。

由于在系统设计时,需要考虑以下几点因素:功耗低、精确度高、软件编程较简单,芯片的体积小、芯片成本低等,而DS1302芯片有上面所述的诸多优点,所以本设计采用方案2。

4 系统硬件电路的设计

按照系统设计功能的要求,初步确定设计系统由主控模块、时钟模块、存储模块、键盘接口模块、显示模块和闹铃模块共6个模块组成,电路系统构成框图如图4-1所示。 主控芯片使用52系列AT89S52单片机,时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片DS1302,存储模块采用美国ATMEL公司生产的低功耗CMOS串行EEPROM存储芯片AT24C02。 DS1302作为主要计时芯片,可以做到计时准确。 更重要的是,DS1302可以在很小电流的后备 (2.5~5.5V电源,在2.5V时耗电小于300nA)下继续计时,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电。

wKgZomQlK1GAN7dYAAAVAv91Rhc681.jpg

(图4-1 电子万年历电路系统构成框图)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620836
  • 存储器
    +关注

    关注

    38

    文章

    7148

    浏览量

    161986
  • AT89S52
    +关注

    关注

    9

    文章

    358

    浏览量

    87441
  • EEPROM
    +关注

    关注

    9

    文章

    927

    浏览量

    80314
  • 电子万年历
    +关注

    关注

    3

    文章

    38

    浏览量

    15709
收藏 人收藏

    评论

    相关推荐

    电子万年历设计与制作资料

    电子万年历设计与制作资料
    发表于 08-20 11:18

    电子万年历设计

    电子万年历设计
    发表于 08-20 22:46

    电子万年历

    ``分享以前在电子工程师之家下载的万年历【超级版】``
    发表于 11-13 14:02

    电子万年历

    12864显示电子万年历,有温度,游戏,闹钟,用红外控制!!怎么做啊!!!
    发表于 12-08 15:44

    电子万年历

    电子万年历的资料谁有 怎么得E币 求给力
    发表于 12-18 16:18

    万年历

    万年历万年历万年历万年历
    发表于 03-20 21:08

    求一种基于STM32的智能万年历设计方案

    基于STM32的智能万年历是由哪些部分组成的?怎样去设计一种基于STM32的智能万年历
    发表于 09-29 07:40

    基于AT89C51单片机的多功能电子万年历设计方案资料分享

    适合初学者的设计
    发表于 04-04 10:19 1次下载

    指针式电子钟与万年历设计方案

    这是基于STM32设计的一个指针式电子钟+万年历小项目,采用3.5寸的LCD屏显示时钟,日历、温度、天气,支持触摸屏调整设置时间,设置闹钟,查看日历等等。整体项目主要是技术点就是LCD屏的图形绘制。比如: 时钟的时针绘制、分针、秒针、表盘、日历绘制等等。
    的头像 发表于 02-28 14:07 1913次阅读
    指针式<b class='flag-5'>电子</b>钟与<b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>

    电子万年历设计方案(2)

    XTAL1 接外部晶体的一个引脚。在单片机内部,它是构成片内振荡器的反相放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直接接到内部时钟发生器的输入端。
    的头像 发表于 03-30 14:29 658次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>(2)

    电子万年历设计方案(3)

      低功耗时钟芯片DS1302可以对年、月、日、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的原因的查找有重要意义。
    的头像 发表于 03-30 14:31 912次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>(3)

    电子万年历设计方案(4)

    AT24C02是美国ATMEL公司的低功耗CMOS串行EEPROM,它是内含256×8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。
    的头像 发表于 03-30 14:32 634次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>(4)

    电子万年历设计方案(5)

     本设计共采用按键3个,分别与单片机的P1.7、P1.6、P1.5口相连,分别对应光标移动,时间、日期调整,退出、闹铃开关键的功能。
    的头像 发表于 03-30 14:33 507次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>(5)

    电子万年历设计方案(6)

      显示器部分是由HD61202液晶显示控制驱动器和HY12864液晶显示器组成的,下面我们对其分别进行介绍。
    的头像 发表于 03-30 14:34 780次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>(6)

    电子万年历设计方案(7)

    因为使用了时钟芯片DS1302,阳历程序只需从DS1302各寄存器中读出年、周、月、日、[小]时、分、秒等数据,再处理即可。在首次对DS1302进行操作之前,必须对它进行初始化,然后从DS1302中读出数据,再经过处理后,送给显示缓冲单元。阳历程序流程图见图5-1所示。
    的头像 发表于 03-30 14:36 667次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>(7)