摘 要:电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行
它可以对年、月、日周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且 DS1302 的使用寿命长,误差小
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时分、秒和温度等信息,还具有时间校准等功能
该电路采用 AT89S52 单片机作为核心,功耗小,能在 3V 的低压工作,电压可选用 3~5V 电压供电
本设计是基于 51 系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能
在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备
在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现
在编写程序过程中发现以现有的相关知识要独自完成编写任务困难重重,在老师和同学的帮助下才完成了程序部分的编写
万年历的设计过程在硬件与软件方面进行同步设计
硬件部分主要由 AT89C52 单片机LED 显示电路,以及调时按键电路等组成
在单片机的选择上本人使用了 AT89C52 单片机,该单片机适合于许多较为复杂控制应用场合
显示器使用 2 片 7SEG-MPX8-CA 和一片7SEG-MPX4-CA
7SEG-MPX8-CA 是一种八个共阳二极管显示器,7SEG-MPX4-CA 是一种四个共阳二极管显示器
为了能更轻松的控制这三片显示器,本人使用了 3 片 74HC164来驱动
74HC164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出
软件方面主要包括日历程序、时间调整程序,公历转阴历程序,显示程序等
程序采用汇编语言编写,以便更简单地实现调整时间及阴历显示功能
所有程序编写完成后,在 wave 软件中进行调试,确定没有问题后,在 Pro