0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DS1302结构与工作原理

云创硬见 2019-06-24 21:57 次阅读

DS1302结构与工作原理

DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM实时时钟,有计时的作用,和日常接触的电子表,万年历差不多,可以对年月日、时分秒、星期计时。可以用单片机往DS1302里面写入时间进行时间设置,也可以用单片机从DS1302中读取时间,读出来的时间也可以放在液晶上显示。这样就可以实现一块电子表的功能了。

DS1302引脚及功能:

wx_article_20190606193229_QMTCnG.jpg

X1,X2: 振荡源管脚,外接32.768KHz晶振

GND: 地

RST: 复位/片选线(通过置高电平来启动所有的数据传送。)

IO: 数据输入输出

SCLK: 串行时钟

VCC1: 电池引脚

VCC2: 主电源引脚 (双电源供电,在主电源关闭的情况下,有VCC1的电池供电,也能保持时钟的连续运行)

DS1302的工作原理很简单,它外接32768Hz的晶振提供震荡时钟。芯片内部的电路对晶振频率32768分频后获得周期为1S的秒信号,然后对秒信号计数,获得分钟、小时、天、星期、月、年等的数值。

实现方法:

DS1302的时间信息寄存器的形式存储在芯片内部。DS1302的通讯接口由3根线组成,即RST,SCLK,I/O。单片机与DS1302通讯,采用的是SPI通讯接口,只不过是半双工了,只能分时进行收发。通过SPI接口,对相应的寄存器进行读操作,可以获得当前时间数值;写操作,可以设定当前时间。

下面介绍怎么对DS1302发号施令。

DS1302的命令字节格式:

一个完整的通讯帧由由2字节组成。第一字节是控制字节,第二字节为数据位。控制字格式如下:

wx_article_20190606193229_dvD49u.jpg

1.bit0:读写标志。高电平为读,第二字节(蓝色圈内)会由DS1302输出数据;低电平为写,第二字节由单片机输出数据, DS1302接收;

2.bit1~5: 5位操作元地址,就是要对哪个寄存器进行操作。寄存器地址列表如图2.1。(红色圈内)

3.bit6:选择RAM区或寄存器区。如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;

4. bit7:必须是逻辑1,如果它为0,则不能把数据写入DS1302中。

wx_article_20190606193230_IDOqG4.jpg

图2.1

(CH:时钟停止位;为0时振荡器工作;为1时振荡器停止;AP=1时为下午模式,为0时上午模式。图2.1内还应该有第八个寄存器,地址为8E。它的bit7是需要重视的。bit7是一个保护位,如果这一位是1,那么是禁止给任何其他的寄存器或者那31个字节的RAM写数据的。因此在写数据之前,这一位必须先写成0。)

因为是SPI接口,单片机与DS1302通讯也是上升沿发送(写入1302数据),下降沿接收(读取1302数据)。控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据。读出的数据也是从最低位到最高位。数据读写时序如下图:

wx_article_20190606193231_Wx9ogj.jpg

单片机往DS1302写入数据,先写地址,后写命令/数据。单片机读取DS1302某地址的数据,先写地址,后读命令/数据。

知道了需要控制的指令寄存器,读写的数据寄存器,通讯方式为SPI。所谓欲破曹公,只欠东风。咱是欲破DS1302,只欠实践了。

原理图如下:

wx_article_20190606193232_GZ0Cgs.jpg

以上所有信息仅作为学习交流使用,不作为任何学习和商业标准。若您对文中任何信息有异议,欢迎随时提出,谢谢!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DS1302
    +关注

    关注

    8

    文章

    448

    浏览量

    50192
收藏 人收藏

    评论

    相关推荐

    如何在树莓派Pico上编程使用DS1302时钟模块?

    常用的计时时钟芯片有 DS1302DS1307、DS3231,各型号还有衍生型号。
    的头像 发表于 11-28 09:16 942次阅读

    DS1302时钟芯片的电路原理

    DS1302时钟芯片内部的时钟电路原理是基于晶振的振荡原理。晶振是一种利用晶体的共振特性产生稳定的振荡信号的元件。在DS1302中,晶振的频率为32.768kHz,这是一个非常稳定的频率,适合用于实时时钟应用。
    的头像 发表于 11-18 09:40 1090次阅读

    DS1302时钟芯片的工作原理

    DS1302时钟芯片是一种实时时钟芯片,采用三线串行接口与微处理器相连,可以提供年、月、日、时、分、秒等时间信息。
    的头像 发表于 11-18 09:39 1864次阅读

    DS1302时钟模块及其驱动代码介绍

    现在流行的串行时钟电路很多,如DS1302DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。
    的头像 发表于 11-08 17:18 1701次阅读
    <b class='flag-5'>DS1302</b>时钟模块及其驱动代码介绍

    DS1302芯片说明 DS1302实时时钟的使用

    DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。
    的头像 发表于 11-08 15:42 1328次阅读
    <b class='flag-5'>DS1302</b>芯片说明 <b class='flag-5'>DS1302</b>实时时钟的使用

    DS1302写数据写BCD码还是十进制吗?

    DS1302写入数据和读数据求解 问题一:DS1302写数据写BCD码还是十进制?下面是一段初始化DS1302的程序,这么写对吗? 问题二:DS1302读数据的时候,读出来的是BCD
    发表于 10-26 06:35

    关于ds1302的初始化问题

    ds1302写时钟的过程中,发现每一次上电后,时间都被赋了初值,每次上电ds1302都被被初始化,通过百度知道需要判断秒的第8位是否为1,来使得ds1302只初始化一次,从而实现掉电保持的功能,但是不成功,我不知道是不是代码的
    发表于 10-25 06:06

    DS1302实时时钟相关资料

    DS1302实时时钟
    发表于 10-10 07:49

    DS1302的中文手册

    DS1302中文手册
    发表于 10-10 07:40

    DS1302的中文手册

    ,还有闰年校正.由于有一个 AM/PM 指示器,时钟可以工作在 12 小时制或者 24小时制。使用同步串行通讯简化了 DS1302 与微处理器的接口。与时钟/RAM 通讯只需要三根线: CE,I/O
    发表于 09-28 07:52

    时钟DS1302模块实验python代码

    第32讲:时钟DS1302模块实验python代码
    发表于 09-25 08:13

    DS1302实时时钟资料包分享

    电子发烧友网站提供《DS1302实时时钟资料包分享.zip》资料免费下载
    发表于 09-15 16:01 3次下载
    <b class='flag-5'>DS1302</b>实时时钟资料包分享

    ds1302中文手册 ds1302时钟芯片引脚功能

    电子发烧友网站提供《ds1302中文手册 ds1302时钟芯片引脚功能.zip》资料免费下载
    发表于 09-15 15:44 11次下载
    <b class='flag-5'>ds1302</b>中文手册 <b class='flag-5'>ds1302</b>时钟芯片引脚功能

    基于单片机的DS1302实时时钟实验 实时时钟芯片DS1302工作原理

    在许多系统当中都需要精确的时钟功能,因此时钟芯片孕育而生。其中美国达拉斯 DALLAS 公司设计的 DS1302 是一款非常流行的数字时钟芯片。DS1302 是一款具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、星期、时、分、秒进行计时,并且具有闰年功能。年
    的头像 发表于 07-27 18:27 3396次阅读
    基于单片机的<b class='flag-5'>DS1302</b>实时时钟实验 实时时钟芯片<b class='flag-5'>DS1302</b>的<b class='flag-5'>工作原理</b>

    DS1302时钟芯片的应用

    DS1302是DALLAS公司推出的一款时钟芯片,内部包括时钟/日历寄存器和31字节的数据暂存寄存器,数据通信只需要一根串行输入输出口。
    的头像 发表于 06-13 17:25 1446次阅读
    <b class='flag-5'>DS1302</b>时钟芯片的应用