DS1302时钟芯片 一、硬件简介: 1、DS1302是一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、月、星期和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。 2、HC6800—ES—V2.0电路图 3、芯片管脚说明: 1脚:芯片备用电源,可以用电池或大容量电容供电,在主电源掉电时,仍可以工作计时。 2、3脚:外部晶振接口。芯片就是根据这个晶振的频率进行计时的。 4脚:接地。 5脚:芯片使能信号,由主机控制,高电平有效。 6脚:与主机的数据交流口。 7脚:数据传输时钟,由主机控制。 8脚:芯片主电源。 二、与控制芯片的相关的知识: 1、SPI总线通讯协议: SPI接口的全称是“Serial Peripheral Interface”,意为串行外围接口。SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,低位在前,高位在后;时钟上升沿主机发送数据,下降沿从机接收数据(与595类似)。 DS1302时钟芯片,有1个控制寄存器,12个日历、时钟寄存器,31个RAM可以进行读写操作,只要能操作上述寄存器,就可以控制这块芯片了。 2、控制寄存器: 控制寄存器用于存放DS1302的控制命令字节,DS1302的CE引脚回到高电平后写入的第一个字就为控制命令。它用于对DS1302读写过程进行控制,它的格式如下: RAM/CK:1——对RAM操作,0——对时钟寄存器进行操作。 R/W:1——读操作,0——写操作。 A4~A0:地址,如下表: 3、时钟寄存器: 说明: (1)时钟数据,都是以BCD码形式保存。 BCD码是通过4位二进制码来表示1位十进制中的0~9这10个数码。二进制码转换为BCD码的方式为:4位二进制码大于1001时,加6(即110)。 (2)小时寄存器的D7位为12小时制/24小时制的选择位,当为1时选12小时制,当为0时选24小时制。当12小时制时,D5位为0是上午,D5位为1是下午,D4为小时的十位。当24小时制时,D5、D4位为小时的十位。 (3)秒寄存器中的CH位为时钟暂停位,当为1时钟暂停,为0时钟开始启动。 (4)写保护寄存器中的WP为写保护位,当WP=1,写保护,当WP=0未写保护,当对日历、时钟寄存器或片内RAM进行写时WP应清零,当对日历、时钟寄存器或片内RAM进行读时WP一般置1。 (5)慢充电寄存器的TCS位为控制慢充电的选择,当它为1010才能使慢充电工作。DS为二极管选择位。DS为01选择一个二极管,DS为10选择二个二极管,DS为11或00充电器被禁止,与TCS无关。RS用于选择连接在VCC2与VCC1之间的电阻,RS为00,充电器被禁止,与TCS无关,电阻选择情况见表。 三、读写数据编程: DS1302是通过SPI串行总线跟单片机通信的,当进行一次读写操作时最少得读写两个字节,第一个字节是控制字节,就是一个命令(单字节读写时),告诉DS1302是读还是写操作,是对RAM还是对CLOK寄存器操作。第二个字节就是要读或写的数据了。 1、单字节读: 单字节读:只有在SCLK为低电平时,才能将CE置为高电平。所以在进行操作之前先将SCLK置低电平,然后将CE置为高电平,接着开始在IO上面放入要传送的电平信号,然后跳变SCLK。数据在SCLK上升沿时,DS1302读取数据,在SCLK下降沿时,DS1302放置数据到IO上 详见例子程序。 2、单字节写: 单字节写:只有在SCLK为低电平时,才能将RST置为高电平。说以在进行操作之前先将SCLK置低电平,然后将RST置为高电平,开始在IO上面放入要传送的电平信号,然后跳变SCLK。数据在SCLK上升沿时,DS1302读取数据,在SCLK下降沿时,DS1302放置数据到IO上 详见例子程序。 3、常见命令、地址集合:
|