【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《电子万年历设计与制作》,欢迎阅读!
电子万年历设计与制作答辩大纲
系统概述
本设计系统山主控模块、时钟模块、存储模块、键盘接口模块、显示模块和闹铃 模 块共
6个模块组成。主控芯片使用52系列AT89S52单片机,时钟芯片是一种高性 能、低 功耗、带RAM的实时时钟芯片DS1302,存储模块采用串行EEPROM存储芯片AT24C02o
利用单片机进行控制,采用DS1302作为实时时钟芯片,其三线接口 SCLK、I/O、聞 与单片机进行同步通信,外加掉电存储电路、显示电路、键盘电路和闹铃电路,即构成一 个基本的电子万年历系统,若还要添加其他功能,在这基础上外扩电路即可。二、系 统硬件
设计
本设汁以AT89S52单片机为核心,构成单片机控制电路,结合DS1302时钟芯片 和 24C02
FLASH存储器,显示阳历的年、月、日、星期、时、分、秒和阴历的年、月、日, 在显示阴历
时间时,能标明是否闰月,同时完成对它们的自动调整和掉电保护,全部信息 用液晶显示出来。输入接口山三个按键来实现,用这三个按键可以对日期和时间进行调整, 并可以对闹铃的开关和闹铃的时间进行设置。闹铃功能通过蜂鸣器来实现。软件控制程序 实现所有的功能。整机电路使用+5V稳压电源,其软硬件设汁简单,时间记录准确,可广 泛应用于长时间连续显示的系统中。
1、 系统核心部分——单片机AT89S52
AT89S52是一个低功耗,|苛性能CMOS 8位单片机,片内含8k Bytes ISP (In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司 的 舟密
度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯 片内 集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型讣算机的AT89S52可 为许多嵌入式控制应用系统提供高性价比的解决方案。
2、 DS1302时钟电路
DS1302的性能特性
•实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数; ・用于高速数据暂存的31X8位RAM; •最少引脚的串行I/O; ・2. 5〜5.5V电压工作范围; ・2. 5V时耗电小于300nA;
•用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式; ・简单的3线接口;
•可选的慢速充电(至V©)的能力。
3、存储电路
AT24C02E10]是美国ATMEL公司的低功耗CMOS串行EEPROM,它是内含256X8位 存储
空间,具有工作电丿E宽(2. 5-5. 5V)、擦写次数多(大于10000次)、写入速度 快 (小于
10ms)等特点。
4液晶显不电路
显示器部分是山HD61202液晶显示控制驱动器和HY12864液晶显示器组成的, HD61202液晶显示控制驱动器是一种带有驱动输岀的图形液晶显示控制器,它可直接 与8 位微处理器相连,它可与HD61203配合对液晶屏进行行、列驱动。
5、 键盘电路
本设汁共采用按键3个,分别与单片机的Pl・5、P1. 6、P1.7 口相连,分别对应 光标移动,时间、日期调整,退出、闹铃开关键的功能。
6、 闹铃电路
当闹铃显示“关”时,闹铃不起作用;当闹铃显示“开”时,设定闹铃时间,闹铃时 间只可设定时和分,’勺前时间不断与设定的闹铃时间比较,不相等时不产生任何 现象, 一旦相等,P3.5输出一个低电平使三极管导通,从而使蜂鸣器工作,闹铃起作用 三、系统程
序设计
1首先要有一个阴阳历对应关系表
阳历一个月不是30天就是31天(2月除外,闰年2月为29天,平年2月为28天)。 阴历一年有12个月或13个月(含闰月),一个月为30天或29天。如果把一个 只有29 天的月称为小月,用1为标志,把30天的月称为大月,用0为标志,那么12位二进制就 能表示一年12个月的大小。如果有闰月,则把闰月的月份作为一个字 节的高4位,低4 位表示闰月大小,大月为0,小月为1,这样一个字节就包括了所 有闰月的信息。阴历春节 和阳历元旦相差的天数也用一个字节表示。总共用4字节就 可以存储一年中任何一天阳 历和阴历的对应关系的有关数据
2关系表中每年的关键信息有哪些:
&十二个月份的大小月信息
b. 阴阳历相差的天数
c. 那个月为闰月和闰月的大小信息
3、 计算阳历中任何一天子该年中是第几天
4、 知道阳历日期是一年中的第儿天后就可以推算出阴历日期。
汁算出半前阳历日期为该年中的第儿天后,再减去阳历该年春节和元旦的日差,如 果够
减,则相减的结果就是阴历在该年中的总第儿天了。根据该数据就可以推算出具体的、 前阴历日期;如果不够减,则表示卅前阴历年为阳历年的前一年。这种情况下,根据实际, 半前阴历日期会处于阴历ii月或12月,此时春节和元旦的日差减去 前面汁算出的、q 前阳历日期在阳历年为第儿天的数据,其结果表示半前阴历日期离春节的天数。讣算出的 阳历天数为该年的笫儿天,存放在寄存器R2和R3中。计算出天 数后,如果大于#卩卩比则 把#卩卩只存放在R2中,余值存放在R3中。也就是说在用寄 存器R2和R3表示的天数信息 中,R2充、〃 |主寄存器,数据先存满R2,再存R3。在整 个转换程序中,这里面的数据不 能被覆盖。
本设计硬件电路的使用比较简单,所用元器件较少,电路中使用了 AT89S52单片机、
DS1302时钟芯片、24C02 FLASH存储器和HY-12864液晶显示器等主要芯片,实现了预汁 的功
能。电子万年历可以正常显示时间并进行时间调整,基本完成了预期要实现的目标。
但是本设汁中还有许多不尽如人意的地方,比如说电路板设计不太合理,体积过大, 不便于摆放,阴历查询日期从2000年至2050年,时间过于局限等等。希望老师多多指点 和帮助。
本文来源:https://www.wddqxz.cn/1b9b8273beeb19e8b8f67c1cfad6195f302be812.html