资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
ds1302 时钟程序详解,ds1302 程序流程图(C 程序)2009 年 05 月 17 日 13:22 不详 作者:佚名 用户评论(8) 关键字:ds1302ds1302 时钟程序详解时钟程序详解DS1302 的控制字如图 2 所示。控制字节的最高有效位(位 7)必须是逻辑 1,如 果它为 0,则不能把数据写入 DS1302 中,位 6 如果为 0,则表示存取日历时钟 数据,为 1 表示存取 RAM 数据;位 5 至位 1 指示操作单元的地址;最低有效位 (位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低 位开始输出。 2.32.3 数据输入输出数据输入输出(I/O)(I/O) 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。同样,在紧跟 8 位的控制指令字后的下 一个 SCLK 脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0 位到高位 7。 2.42.4 DS1302DS1302 的寄存器的寄存器 DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数 据位为 BCD 码形式,其日历、时间寄存器及其控制字见表 1。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存 器及与 RAM 相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM 寄 存器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写)、 FFH(读)。 ds1302ds1302 程序流程图程序流程图3.23.2 DS1302DS1302 实时时间流程实时时间流程 图 4 示出 DS1302 的实时时间流程。根据此流程框图,不难采集实时时间。下面 结合流程图对 DS1302 的基本操作进行编程: 根据本人在调试中遇到的问题,特作如下说明: DS1302 与微处理器进 行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位 MSB(D7)必 须为逻辑 1,如果 D7=0,则禁止写 DS1302,即写保护;D6=0,指定时钟数据, D6=1,指定 RAM 数据;D5D1 指定输入或输出的特定寄存器;最低位 LSB(D0) 为逻辑 0,指定写操作(输入), D0=1,指定读操作(输出)。 在 DS1302 的 时钟日历或 RAM 进行数据传送时,DS1302 必须首先发送命令字节。若进行单字 节传送,8 位命令字节传送结束之后,在下 2 个 SCLK 周期的上升沿输入数据字 节,或在下 8 个 SCLK 周期的下降沿输出数据字节。 DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的 字节,其命令控制字为 C0HFDH,其中奇数为读操作,偶数为写操作;再一类 为突发方式下的 RAM 寄存器,在此方式下可一次性读、写所有的 RAM 的 31 个字 节。 要特别说明的是备用电源 B1,可以用电池或者超级电容器(0.1F 以上)。 虽然 DS1302 在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常, 最好选用小型充电电池。可以用老式电脑主板上的 3.6V 充电电池。如果断电时 间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。100 F 就可以保证 1 小时的正常走时。DS1302 在第一次加电后,必须进行初始化操作。 初始化后就可以按正常方法调整时间。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号