1、万年历数字钟及可调时钟系统万年历数字钟及可调时钟系统 一、一、 引言引言 万年历数字钟是一种用万年历时钟芯片实现年、月、日、时、分、秒计时, 并通过单片机处理后送给显示芯片显示的装置, 与机械式时钟相比具有更高的准 确性和直观性,且具有更长的使用寿命。本系统还可以扩展为可调的自动开关, 对家电对用电设备进行控制,笔者在随后改制成为可调时的自动断电的供电系 统. 二、二、 原理图设计原理图设计 1 1 单片机及其外围电路设计单片机及其外围电路设计 复位采用 X25045 芯片,复位电路如图 1 所示。 图 1 复位电路设计 单片机采用贴片封装的 AT89S51,晶振为 11.0592MHz。其中
2、 P1.5P1.7 为下 载程序使用,电路如图 2 所示。 2 图 2 单片机 89S51 外围电路设计 2 2 时钟芯片电路设计时钟芯片电路设计 时钟芯片采用 PCF8563,晶振采用 32.768K,电容使用 15pf。PCF8563 是 PHILIPS 公司推出的一款工业级内含 I 2C 总线接口功能的具有极低功耗的多功 能时钟/日历芯片。内部时钟电路、内部振荡电路、内部低电压检测电路(1.0V) 以及两线制 I 2C 总线通讯方式,不但使外围电路及其简洁,而且也增加了芯片的 可靠性。同时每次读写数据后,内嵌的字地址寄存器会自动产生增量。电路如图 3 所示。 3 图 3 时钟芯片电路设计
3、 3 3 显示芯片电路设计显示芯片电路设计 显示芯片采用 ZLG7289,晶振为 12MHz。ZLG7289A 是广州周立功单片机发展 有限公司自行设计 的,具有 SPI 串行接口功能的可同时驱动 8 位共阴式数码 管(或 64 只独立 LED )的智能显示驱动芯片,该芯片同时还可连接多达 64 键 的键盘矩阵,单片即可完成 LED 显示键盘接口的全部功能。电路如图 4 所示。 图 4 显示芯片电路设计 4 4 双电源电路设计双电源电路设计 4 系统采用双电源,平时使用 V110V 的外接电源,停电时使用电池,由 V2 输入。电池有 6 节,其电压为 9V。当电池电压低于 6V 时,LED 亮
4、,说明电池电 量不足。电路如图 5 所示。 图 5 双电源电路设计 三、三、 程序设计程序设计 程序开始时先对系统初始化,并设置好各种中断。下步操作主要是对时钟芯片进行操作,首先要给时钟芯 片设置初值,时钟芯片便自行计数。此时检测是否有按键按下,按键是为了调整时钟。有按键按下则执行 按键中断程序,没有按键按下则执行下一步的操作,即取时钟芯片中的时钟值,然后送显示。程序流程图 如下。 5 图 6 总体流程图 四、四、 源程序源程序 #include #include #include #define uchar unsigned char /*宏定义*/ #define uint unsigned int uchar close_date,open_date; void RESWDI(void); void WREN(void); void WRDI(void); void WRSR(void); unsigned char RSDR(void); void WIPCHK(void); void OUTByte(unsigned char B