实时时钟DS1302原理详解和单片机编程 一、DS1302的功能 DS1302是美国DALLAS推出的一款高性能、低功耗的日历时钟芯片。 DS1302是一种串行接口的实时时钟,芯片内部具有可编程的日历时钟和31个字节的静态RAM,日历时钟可以自动进行闰年补偿,计时准确,接口简单,使用方便,工作电压范围宽(2.5~5.5V),芯片自身还具有对备用电池进行涓流充电功能,可有效延长备用电池的使用寿命。 DS1302用于数据记录,能实现数据与该数据出现的时间同时记录,因此广泛应用于测量系统中。
二、DS1302硬件及引脚功能
各引脚功能为: 1、VCC1:主电源。 VCC2:备用电源。当VCC2大于VCC1+0.2V时由VCC2向DS1302供电否则由VCC1向DS1302供电。 2、SCLK:串行时钟输入端,控制数据输入与输出; 3、I/O :双向输入线; 4、CE:使能端,CE为高时允许读写DS1302数据,为低时禁止读写。 三、DS1302寄存器 时钟日历和控制寄存器如图所示:
如上图所示,时钟日历寄存器包含在7个读/写寄存器内,读/写寄存器中的数据是BCD码。 秒寄存器(81h、80h)的BIT7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。 小时寄存器(85h、84h)的BIT7用于定义DS1302是运行于12小时模式还是24小时模式,当为1时,选择12小时模式,此时BIT5为AM/PM位,在24小时模式时此位为小时数据位。 控制寄存器(8Fh、8Eh)的BIT7是写保护位(WP),其它7位均为0。在任何对时钟或RAM读写操作之前,WP位必须为0。当WP位为1时,不能对任何时钟日历寄存器或RAM进行写操作。 31个字节静态RAM寄存器如图所示
突发模式配置寄存器如图所示
四、DS1302通信时序 DS1302读写数据时序,图8为读一字节时序,图9为写一字节时序,数据的传输是从最低位开始(BIT0)。数据是以位(BIT)为单位依次写入或读出,读写数据操作中SCLK上升沿时执行写入数据,下降沿时执行读出数据。
读数据:CE端从低到高的一个上升沿开始允许开始读数据,拉低CE端则禁止读写数据;开始的8个SCLK周期,写命令字节,数据的后8个SCLK 周期读出数据。
写数据:CE端从低到高的一个上升沿开始允许开始写数据,拉低CE端则禁止读写数据;开始的8个SCLK周期,写命令字节,数据的后8个SCLK 周期写入数据。 五、BCD码的转换 在DS1302中有关于时钟日历的寄存器数据存储格式为BCD码; BCD码介绍: 我们时钟日历寄存器使用的是8421码型的BCD码,BCD码还有5421码、2421码等,其中8421码型的BCD码最最常用; BCD码是用四位二进制数表示一位十进制数的0-9这十个数简称BCD码; 8421 8421码型BCD码最小值为0000(二进制),最大值为1001(二进制);9 一个字节的8421码型BCD码中的低四位用于表示十进制的个位,高四位用于表示十进制的十位,如10(十进制)的8421码型BCD码=0001 0000; BCD码用程序转换实例: 例:把十进制数45转换为8421型BCD码 unsigned char data1, data2 = 45; //声明2个无符号char型变量data1和data2并且data2赋初值45 data1 = data2/10; data2 = data2%10; data2 = data2 + data1*16; //data2最终等于69这个数 把69这个8421型BCD码换算回十进制数: data1 = data2/16; data2 = data2%16; data2 = data2 + data1*10; //data2最终等于45 六、程序设计流程 •写DS1302一字节数据 • •读DS1302一字节数据 •BCD码转换 •关闭写保护 •设置DS1302时钟日历寄存器(初始显示时间) •设置写保护 • •关闭写保护 •读取DS1302时钟日历 •设置写保护 • •用数码管显示DS1302 时.分.秒 七、结语 考虑到一些读者需要相关资料和解决一些疑问,因此我新建立了一个学习交流群,我在群文件里上传了一些资料,需要的读者可以入群下载。 群中文件资料我会时常更新,主要资料是51单片机开发、32单片机开发、编程、嵌入式学习、算法控制等。 由于群中文件还在不断更新上传,有些方面的资料还不太完善,希望大家理解。若群中涉及违规行为,欢迎举报!
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/47457.html