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

    文章

    449

    浏览量

    50561
收藏 人收藏

    评论

    相关推荐

    DS1302芯片与FPGA之间SPI通信原理

    本文通过以DS1302芯片为基础,介绍该芯片与FPGA之间SPI通信原理,详细描述硬件设计原理及FPGA SPI接口驱动设计。
    的头像 发表于 10-24 14:16 157次阅读
    <b class='flag-5'>DS1302</b>芯片与FPGA之间SPI通信原理

    串行接口的工作原理结构

    串行接口(Serial Interface)的工作原理结构是理解其在计算机与外部设备之间数据传输方式的重要基础。以下将详细阐述串行接口的工作原理及其典型结构
    的头像 发表于 08-25 17:01 1266次阅读

    MOSFET的基本结构工作原理

    ,这些材料在生产方便性和可靠性上都更具有优势。不妨碍对MOSFET结构和基本工作原理的理解,在此仍认为其是金属材料。和结型场效应晶体管一样,在MOSFET中载流子也是从源极经过沟道流向漏极,所以与源极
    发表于 06-13 10:07

    基于51单片机的路灯【固定时间,红外,DS1302,LCD1602】(仿真)

    基于51单片机的路灯【固定时间,红外,DS1302,LCD1602】(仿真)
    的头像 发表于 04-10 00:44 451次阅读
    基于51单片机的路灯【固定时间,红外,<b class='flag-5'>DS1302</b>,LCD1602】(仿真)

    基于51单片机的电子钟【调时,DS1302,数码管,独立按键】(仿真)

    基于51单片机的电子钟【调时,DS1302,数码管,独立按键】(仿真)
    的头像 发表于 04-10 00:41 1992次阅读
    基于51单片机的电子钟【调时,<b class='flag-5'>DS1302</b>,数码管,独立按键】(仿真)

    IGBT器件的结构工作原理

    IGBT器件的结构工作原理
    的头像 发表于 02-21 09:41 1692次阅读
    IGBT器件的<b class='flag-5'>结构</b>和<b class='flag-5'>工作原理</b>

    全面解析***结构工作原理

    光刻与光刻机 ➢对准和曝光在光刻机(Lithography Tool)内进行。 ➢其它工艺在涂胶显影机(Track)上进行。 光刻机结构工作原理 ➢光刻机简介 ➢光刻机结构
    发表于 12-19 09:28 606次阅读
    全面解析***<b class='flag-5'>结构</b>及<b class='flag-5'>工作原理</b>

    【科普小贴士】MOSFET的结构工作原理

    【科普小贴士】MOSFET的结构工作原理
    的头像 发表于 12-13 14:20 897次阅读
    【科普小贴士】MOSFET的<b class='flag-5'>结构</b>和<b class='flag-5'>工作原理</b>

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

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

    DS1302时钟芯片的电路原理

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

    DS1302时钟芯片的工作原理

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

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

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

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

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

    DS1302根据时序写的程序读出来的时间不对是为什么?

    DS1302根据时序写的程序读出来的时间不对 查了一下说是需要进行bcd转换 请问怎么转?
    发表于 11-08 07:36

    ds1302如果不装电池上电不显示时间是为什么?

    ds1302如果不装电池上电不显示时间是为什么,如果初始化一次时间,装上电池就正常
    发表于 11-03 06:44