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

描述

1 引言

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

2 系统概述

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

AT89S52

(图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)下继续计时,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电。

AT89S52

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

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分