. . .
ds1302 时钟程序详解,ds1302 程序流程图(C 程序)
ds1302 时钟程序详解
DS1302 的控制字如图 2 所示。控制字节的最高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写
入 DS1302 中,位 6 如果为 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据;位 5 至位 1 指示操作单
元的地址;最低有效位(位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始
输出。
2.3 数据输入输出(I/O)
在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0
开始。同样,在紧跟 8 位的控制指令字后的下一个 SCLK 脉冲的下降沿读出 DS1302 的数据,读出数据时从
低位 0 位到高位 7。
2.4 DS1302 的寄存器
DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式,其日
历、时间寄存器与其控制字见表 1。
此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器与与 RAM 相关的寄存
器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器容。 DS1302 与 RAM 相关的寄存器
分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 C0H~FDH,
其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RA
M 的 31 个字节,命令控制字为 FEH(写)、FFH(读)。
1 / 6