DS1302简介
DS1302是一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采取SPI三线接口与CPU进行通信,并可采取突发办法一次传送多个字节的时钟旗子暗记和RAM数据。实时时钟可供应秒、分、时、日、星期、月和年,一个月小与31天时可以自动调度,且具有闰年补偿功能。事情电压宽达2.5~5.5V。采取双电源供电(主电源和备用电源),可设置备用电源充电办法,供应了对后备电源进行涓细电流充电的能力。

DS1302的引脚排列,个中Vcc2为主电源,VCC1为后备电源。在主电源关闭的情形下,也能保持时钟的连续运行。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.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细解释。SCLK为时钟输入端。 下图为DS1302的引脚功能图:
事理图
DS1302是通过SPI串行总线跟单片机通信的,当进行一次读写操作时最少得读写两个字节,第一个字节是掌握字节,便是一个命令,见告DS1302是读还是写操作,是对RAM还是对CLOK寄存器操作。第二个字节便是要读或写的数据了。
单字节读
只有在SCLK为低电平时,才能将CE置为高电平。以是在进行操作之前先将SCLK置低电平,然后将CE置为高电平,接着开始在IO上面放入要传送的电平旗子暗记,然后跳变SCLK。数据在SCLK上升沿时,DS1302读取数据,在SCLK低落沿时,DS1302放置数据到IO上
单字节写
只有在SCLK为低电平时,才能将RST置为高电平。说以在进行操作之前先将SCLK置低电平,然后将RST置为高电平,开始在IO上面放入要传送的电平旗子暗记,然后跳变SCLK。数据在SCLK上升沿时,DS1302读取数据,在SCLK低落沿时,DS1302放置数据到IO上
DS1302的时钟寄存器
时钟/日历包含在7个寄存器中,数据在时钟/日历寄存器中是二进制编码的十进制格式存储的,也便是常说的BCD码存储的。
时钟寄存器的第8个字节是写保护寄存器。当WP为“1”的时候是开启写保护,这个时候是禁止对DS1302进行写操作的。当WP为“0”的时候是关闭写保护,这个时候才能对DS1302进行写操作。
由于万年进程序过长,以是,须要见地式的朋友,可以进入我的主页查看文章:《单片机之DS1302万年历实验程序》






