DS1302有8个引脚,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0。2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32。768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2。5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。SCLK始终是输入端。
表(6) DS1302引脚功能
引脚号 引脚名称 功能
1 VCC2 主电源
2、3 X1、X2 振荡源,外接32768Hz晶振
4 GND 地线
5 RST 复位/片选线
6 I/O 串行数据输入/输出端(双向)
7 SCLK 串行时钟输入端
8 VCC1 后备电源
3。3。1 DS1302接口电路设计
(1)时钟芯片DS1302的接口电路及工作原理:
图3 DS1302与MCU接口电路
上图为DS1302的接口电路,其中Vcc1为后备电源,Vcc2为主电源。VCC1在单电源与电池供电的系统中提供低电源并提供低功率的电池备份。VCC2在双电源系统中提供主电源,在这种运用方式中VCC1连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。
DS1302由VCC1或VCC2 两者中较大者供电。当VCC2大于VCC1+0。2V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。表(7)为DS1302的控制字,此控制字的位7必须置1,若为0则不能对DS1302进行读写数据。对于位6,若对时间进行读/写时,CK=0,对程序进行读/写时RAM=1。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;进行写操作时,该位为0。控制字节总是从最低位开始输入/输出的。表(8)为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,“WP”必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。
(2)DS1302的控制字
DS1302的控制字如表(7)所示。控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为1表示进行读操作,为0表示进行写操作。控制字节总是从最低位开始输出。
表(7) DS1302的控制字格式