专栏首页初学单片机DS 1302时钟芯片的51单片机程序设计

DS 1302时钟芯片的51单片机程序设计

今天我们来讲的是时钟芯片DS1302.在之前的文章中已经简单介绍过这块芯片的原理,在此我们主要讲的是程序设计部分。关于DS1302的一个简介大家可以自行百度,在此小代就不做过多的说明。

一、 DS1302时钟芯片的原理

DS1302是美国推出的一片带有RAM的实时时钟芯片,它能对年月日周,时分秒进行技术,具有闰年补偿那功能,动作电压2.5-5.5V,采用三线接口和MCU连接。计时的时钟来源为外接的32.768K晶振产生。三线接口分别为RST、IO和SCLK。RST是复位/片选信号,当RST为高电平是,允许DS1302进行操作,在传送数据过程中RST置为低电平则会终止此次数据的传送,IO变为高阻态。IO为串行数据输入输出端口,SCLK为串行传输的时钟信号线,只有在SCLK为低电平是,才能将RST置为高电平。

DS1302内部有14个和时间相关的寄存器,还有2个控制寄存器,还有31个RAM单元,本文我们只对和时间相关的寄存器做介绍。

具体请看下表

DS102芯片内部寄存器

在以上表格中需注意:

1、秒寄存器的最高位CH为时钟停止位,为0时振荡器工作,为1是停止。

2、时寄存器的最高位是12小时制和24小时制的选择位,此位为1是12小时制,此时第5位AP=1位下午,AP=0为上午,反之亦然。

DS1302的串行数据传输是从低位开始的,不管是读操作还是写操作。具体看时序图:

DS1302时序图

我们来总结下如何对DS1302操作:

1)首先要通过8eH将写保护去掉,这样我们才能将日期,时间的初值写时各个寄存器。

2)然后就可以对80H、82H、84H、86H、88H、8AH、8CH进行初值的写入。同时也通过秒寄存器将位7的CH值改成0,这样DS1302就开始走时运行了。

3)将写保护寄存器再写为80H,防止误改写寄存器的值。

4)不断读取80H-8CH的值,将他们转化为十进制后显示出来就可以啦,之前我们说过,DS1302读出的数据是BCD码,所以需要转换一下。

二、DS1302的接口电路

DS1302接口电路

三、DS1302的C51程序设计

此处提供的程序主要是DS1302芯片的读写操作的驱动程序,完整程序将会在后面的教程里提供。(小代提供的程序保证是源码,可完全运行的源码,将会在视频教程中全部讲解,在此提供图片形式代码,需要请自行动手敲进去,小代不提倡初学直接来复制粘贴)。

DS1302初始化函数

DS1302读操作函数

DS1302写操作函数

DS1302写数据到某个地址函数

DS1302读某地址数据函数

本文分享自微信公众号 - 单片机技术宅(chuxue_MCU),作者:小代

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ①DS1302解析--电子时钟的时钟来源

    之前我们写的如何用单片机设计一款电子产品中说到的时钟芯片DS1302,它是我们DIY这个时钟的时间数据的来源。现在我们就来详细的解析DS1302芯片是如何给我产...

    单片机技术宅
  • 解答|免费获取电子时钟问题解答,你遇到的都在这

    本公众号第二期的免费送电子时钟活动以过半。申请散件的小伙伴好多已经收到散件,还有几个已经焊接完成。请上图

    单片机技术宅
  • 如何编写自己的C语言头文件

    其中,DELAY为一个唯一的标号,命名规则跟变量的命名规则一样。常根据它所在的头文件名来命名,例如,如果头文件的文件名叫做stc15w.h,那么可以这样使用:

    单片机技术宅
  • 浅谈重构造成的灾难性毁灭

    这章我在7月20号的时候就准备好了标题,在那之前有写过一篇重构的文章,这段时间一直在等重构造成的弊端。

    CrazyCodes
  • 从使用者到开发者,知乎参与 TiDB 社区背后的故事

    关注 TiDB 的朋友们可能发现继 Follower Read 在 TiKV 端的 PR 合并后,TiDB 端相关的 PR 也于近期完成了到主干的合并工作。如果...

    PingCAP
  • vue学习笔记-prop

    以下说明组件有title,likes等等属性,并且指定对应属性的类型,当给到错误类型的值时控制台会报错

    听着music睡
  • 矩阵乘法加速器的设计框架

    矩阵乘法加速器,一般至少包括计算单元,缓存(SRAM等构成)和内存(譬如DDR等)。其中缓存的读写速率较高,可以和计算单元的运算速度相匹配,但容量较小;内存的容...

    sea-wind
  • 如何掌握高级react设计模式: Render Props【译】

    原文链接:How To Master Advanced React Design Patterns: Render Props

    IMWeb前端团队
  • HTC投入一亿设立加速器,正式宣布成立APVRA

    镁客网
  • 「走进k8s」Docke数据共享和持久化(五)

    PS:数据卷在容器管理平台使用非常频繁,如果是本机安装一个软件的话,建议使用主机目录,因为自己来管理,目录还是比较方便的。

    IT故事会

扫码关注云+社区

领取腾讯云代金券