DS1302时钟芯片
DS1302时钟芯片
DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。~。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。
DS1302引脚分配图
各引脚的功能为:
8 、Vcc1:备用电池端;
1、Vcc2:5V电源。2>Vcc1+,
2向DS1302供电,2< Vcc1时,1向DS1302供电。
7、 SCLK:串行时钟,输入;
6、I/O:数据输入输出口;
5、CE/RST:复位脚
2 3、X1、X2 是外接晶振脚()
4 地(GND)
锐志RZ-51开发板上DS1302连接图
这张表是DS1302内部的7个与时间、日期有关的寄存器图和一个写保护寄存器,
我们要做的就是将初始设置的时间、日期数据写入这几个寄存器,然后再不断地读取
这几个寄存器来获取实时时间和日期。这几个寄存器的说明如下:1、秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。当初始上电时该位置为1,
时钟振荡器停止,DS1302处于低功耗状态;只有将秒寄存器的该位置改写为0时,时钟才能开
始运行。2、小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为
高时,选择12小时模式。在12小时模式时,位5是,当为1时,表示PM。在24小时模式时,
位5是第二个10小时位3、控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。在对任何的时钟和
RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一寄存器的写操作。
也就是说在电路上电的初始态WP是1,这时是不能改写上面任何一个时间寄存器的,
只有首先将WP改写为0,才能进行其它寄存器的写操作。
DS1302有关日历、时间的寄存器
DS1302有关RAM的地址
DS1302中附加31字节静态RAM的地址
DS1302的工作模式寄存器
所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。
突发模式寄存器
DS1302充电寄存器
2-3位: DS=01 为一个二极管 DS=10 为二个二极管 DS=00 无二极管,不能充电 DS=11 无二极管,不能充电
0-1位: RS=00 无电阻,不能充电 RS=01 2K RS=10 4K RS=11 8K
4-7位: TCS=1010 能充电
其它组合都不能充电
10100101 一个二极管电阻2K 10100110 一个二极管电阻4K 10100111 一个二极管电阻8K 10101001 两个二极管电阻2K 10101010 两个二极管电阻4K 10101011 两个二极管电阻8K 01011100 初始化电源
寄存器地址是08H 读操作是91H 写操作是90H
DS1302读写时序
DS1302是SPI总线驱动方式。它不仅要向寄存器写入控制字,
还需要读取相应寄存器的数据。
要想与DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如图
控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。
位6:如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;
位5至位1(A4~A0):指示操作单元的地址;
位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。
读数据:
读数据时在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,
读出的数据是从最低位到最高位。
写数据:
控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,
数据被写入DS1302,数据输入也是从最低位(0位)开始。
位0(最低有效位):为1表示进行读操作。如为0,表示要进行写操作,
控制字后 SCLK 下降沿读数据 SCLK上升沿写数据
数据是低位在前高位在后
DS1302的数据读写是通过I/O串行进行的。当进行一次读写操作时最少得读写两个字节,第一个字节是控制字节,就是一个命令,告诉DS1
DS1302 来自淘豆网m.daumloan.com转载请标明出处.