ds1302时钟程序详解,ds1302程序流程图(C程序).pdfVIP

  • 375
  • 0
  • 约2.31千字
  • 约 6页
  • 2020-09-24 发布于天津
  • 举报

ds1302时钟程序详解,ds1302程序流程图(C程序).pdf

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 寄存器,此方式下可一次性读写 所有的 RAM 的 31 个字节,命令控制字为 FEH( 写) 、FFH( 读)。 ds1302 程序流程图 3.2 DS1302 实时时间流程 图 4 示出 DS1302 的实时时间流程。 根据此流程框图, 不难采集实时时间。 下面结合流程图对 DS1302 的基 本操作进行编程: 根据本人在调试中遇到的问题,特作如下说明: DS1302 与微处理器进行数据交换时,首先由微处理 器向电路发送命令字节,命令字节最高位 MSB(D7) 必须为逻辑 1,如果 D7=0 ,则禁止写 DS1302 ,即写保 护;D6=0 ,指定时钟数据, D6=1,指定 RAM 数据;D5 ~D1 指定输入或输出的特定寄存器; 最低位 LSB(D 0)为逻辑 0 ,指定写操作 (输入 ) , D0=1 ,指定读操作 (输出 ) 。 在 DS1302 的时钟日历或 RAM 进行数据 传送时, DS1302 必须首先发送命令字节。若进行单字节传送, 8 位命令字节传送结束之后,在下 2 个 SCL K 周期的上升沿输入数据字节,或在下 8 个 SCLK 周期的下降沿输出数据字节。 DS1302 与 RAM 相关 的寄存器分为两类 :一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 C 0H ~FDH ,其中奇数为读操作,偶数为写操作;再一类为突发方式下的 RAM 寄存器,在此方式下可一次 性读、写所有的 RAM 的

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档