3。3。3 DS1302控制字节
图3。2DS1302引脚图
DS1302的控制字节如表3。2所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要
进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
表3。2DS1302的控制字节
3。3。4 数据输入输出(I/O)
在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如图3。3所示。
3。3。5 DS1302的寄存器
图3。3DS1302单字节读写时序图
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为
BCD码形式,其日历、时间寄存器及其控制字见表3。3。
表3。3DS1302寄存器表论文网
READ WRITE BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 RANGE
81h 80h CH 10Seconds Seconds 00-59
83h 82h 10Minutes Minutes 00-59
AM/PM 87h 86h 0 0 10Date Date 1-31
Month
Month 1-12
8Bh 8AH 0 0 0 0 0 Day 1-7
8Dh 8Ch 10Year Year 00-99
8Fh 8Eh WP 0 0 0 0 0 0 0 —
91h 90h TCS TCS TCS TCS DS DS RS RS —
此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等[3]。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。