「硬见小百科」DS1302结构与工作原理_ds1302z内置晶振-程序员宅基地

技术标签: DS1302  

DS1302结构与工作原理

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

DS1302引脚及功能:

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字节组成。第一字节是控制字节,第二字节为数据位。控制字格式如下:

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

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

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

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

图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的数据。读出的数据也是从最低位到最高位。数据读写时序如下图:

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

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

原理图如下:

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

关于云创硬见

云创硬见是国内最具特色的电子工程师社区,融合了行业资讯、社群互动、培训学习、活动交流、设计与制造分包等服务,以开放式硬件创新技术交流和培训服务为核心,连接了超过30万工程师和产业链上下游企业,聚焦电子行业的科技创新,聚合最值得关注的产业链资源, 致力于为百万工程师和创新创业型企业打造一站式公共设计与制造服务平台。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44367275/article/details/91947728

智能推荐

初始化时checkbox选中问题-程序员宅基地

文章浏览阅读746次。首先我们大家在写页面的时候可能回经常遇到checkbox、radio等一些使选中或者是不选中的问题。这是我在项目当中做的时候发现的一个小知识点,把它赶紧记录下来。以便以后复习与巩固。 现把代码写出来再解释: function operateCheckOrRadio() { var sForm = document.getElementById("sform"); var sStatus = d..._flutter checkbox用变量初始化无法设置为选中状态

UE5——问题——MediaPlayer的使用播放视频注意点_ue mediaplayer-程序员宅基地

文章浏览阅读1.1k次。UE5——问题——MediaPlayer的使用播放视频注意点_ue mediaplayer

毕设仿真分享 单片机非接触式红外感应体温计-程序员宅基地

文章浏览阅读311次,点赞9次,收藏7次。非接触式电子体温计主要利用红外测温原理,一切温度高于绝对零度(-273.35℃)的物体,由于分子热运动,物体会不停地向外辐射能量。物体辐射能量的大小与它的表面温度有十分密切的关系。因此,通过测量物体辐射的能量,就能够测量出物体的温度。本用户手册中的非接触式电子体温计就是利用这种测量方法,实现测量人体体温的功能。

Vista/Win7下普通权限进程动态提升权限_findwindow 没有权限-程序员宅基地

文章浏览阅读2k次。本文出自 “碧海笙箫” 博客,请务必保留此出处http://pyhcx.blog.51cto.com/713166/197073一、前提在Vista/Win7下,加强了对安全的管理,对注册表修改,系统目录的文件操作,都需要管理员权限才能完成(当然虚拟存储机制,表面上也相当于能操作)。所以,对于程序中有相关操作的,这时候,就要求我们的程序必须拥有管理员权限。通过mainfest文件,我们可以让程序总是需要管理员权限执行,但是,这将导致程序每次运行时,都需要弹出UAC框老骚扰用户,另外,有时候我们的程序只是在某_findwindow 没有权限

PCS7 入门指南 v9.0 SP3 v9.1 中文版 学习资料 (官方公开可用资料)_pcs7v9.1-程序员宅基地

文章浏览阅读1.8w次,点赞13次,收藏82次。链接:https://pan.baidu.com/s/1-p4h_QDL8BN04tnn3vSkOA提取码:nou3PCS7入门指南v9.0含APL(包含PDF和项目文件)官方地址:SIMATIC 过程控制系统 PCS 7 入门指南第1部分 (V9.0,含APL)https://support.industry.siemens.com/cs/document/109756196/simatic-%E8%BF%87%E7%A8%8B%E6%8E%A7%E5%88%B6%E7%B3%BB..._pcs7v9.1

c# 调用非托管代码_c# 声明kernel32 函数-程序员宅基地

文章浏览阅读956次,点赞3次,收藏5次。编程过程中,一般c#调用非托管的代码有两种方式:1.直接调用从DLL中导出的函数。2.调用COM对象上的接口方法。首先说明第1种方式,基本步骤如下:1.使用关键字static,extern声明需要导出的函数。2.把DllImport 属性附加到函数上。3.掌握常用的数据类型传递的对应关系。4.如果需要,为函数的参数和返回值指定自定义数据封送处理信息,这将重写.net framework默认的封送处理。简单举例如下:托管函数原型:DWORD GetShortPathName(LPCTST_c# 声明kernel32 函数

随便推点

ES6——Map和Set-程序员宅基地

文章浏览阅读608次。ES6新增的数据类型,Map、Set之间的关系,如何使用?Map和Set的属性和方法。

FP-Growth算法全解析:理论基础与实战指导_pyfpgrowth库-程序员宅基地

文章浏览阅读574次。FP-Growth(Frequent Pattern Growth,频繁模式增长)算法是一种用于数据挖掘中频繁项集发现的有效方法。它是由Jian Pei,Jiawei Han和Runying Mao在2000年的论文中首次提出的。该算法主要应用于事务数据分析、关联规则挖掘以及数据挖掘领域的其他相关应用。_pyfpgrowth库

MySQL安装与环境变量配置_mysql-installer-web-community-5.7.35.0.msi .net-程序员宅基地

文章浏览阅读299次。一、下载MySQL:mysql-installer-web-community-5.7.35.0.msi二、安装双击下载的msi安装文件,弹出安装界面根据指示进行下一步的安装。选择安装的产品,分别为:MySQL Server、MySQL Workbench,然后Next一路执行execute和next。直到设置root用户的密码一路next三、配置环境变量为了能在cmd中使用mysql,需要将安装路径的bin配置到环境变量path中。在 ._mysql-installer-web-community-5.7.35.0.msi .net

JSON(一):JSON的定义及常用的Java-JSON库_java和.net怎么去定义json的格式-程序员宅基地

文章浏览阅读254次。目录 一、JSON是什么?二、序列化和反序列化三、JSON两种数据结构和表示形式四、Java语言的常见JSON库五、JSON的应用场景资料一、JSON是什么?1、JSON:JavaScript Object Notation(JavaScript对象表示法)。2、JSON 是轻量级的文本数据交换格式。和 XML类似,比 XML更小、更快,更易解析。3、J..._java和.net怎么去定义json的格式

优化算法——拟牛顿法之BFGS算法-程序员宅基地

文章浏览阅读6.2w次,点赞25次,收藏188次。一、BFGS算法简介 BFGS算法是使用较多的一种拟牛顿方法,是由Broyden,Fletcher,Goldfarb,Shanno四个人分别提出的,故称为BFGS校正。 同DFP校正的推导公式一样,DFP校正见博文“优化算法——拟牛顿法之DFP算法”。对于拟牛顿方程:可以化简为:令,则可得:在B_bfgs算法

联想RD430服务器的Raid 5阵列+Esxi6.7部署_esxi6 raid m5015-程序员宅基地

文章浏览阅读3.9k次。一、主要解决的问题:(一)硬盘存储总容量提高+读写速率快1、原RD430服务器主板自带阵列卡仅支持Raid 0、Raid 1、Raid 10,主要特点:Raid 0速率快但是某一块硬盘物理故障后,所有数据都将丢失;Raid 1需要一半的硬盘做冗余,容量牺牲较多,速率比Raid 0降一倍。Raid 10容量牺牲一半,速率比Raid1稍快。2、独立阵列卡的Raid 5特点:Raid 5改进的特点:比如8个硬盘做成的阵列,总容量少1块硬盘的空间,某数据分布于不同的7个硬盘上,另1块硬盘进行数据校验,校验_esxi6 raid m5015