ds1302与单片机的连接,51单片机操作ds1302流程展示

在许多单片机系统中常需要一些与时间有关的控制这就有需要使用实时时钟,因为在测控系统中需要做一些特殊数据的记录及其出现时间的记录。那么实时时钟就能够很好的解决这个问题,今天我们就来谈谈ds1302与单片机之间是如何作用联系的,单片机又是如何对时钟芯片进行操作的,一起来了解一下。
51单片机操作ds1302流程展示 ds1302通过3根线与mcu连接串行数据发送,接收时钟信号由mcu发送,可外接备用电池以便主电源断电后不丢失数据,并可编程对备用电源充电。ds1302的结构如下:
外部结构:
内部结构:
对ds1302的操作一般只有两种:读数据和写数据。读数据即读出芯片ram中的日期,时间等信息,写数据即修改这些信息。数据的读写是以字节为单位操作的,读操作函数要完成的功能便是传入一个一字节表示特定的地址,函数返回该地址ram中一字节或多字节的数据。写操作函数需要传入两个参数:地址和要写的数据;函数将要写的一字节数据写入给定的地址。
对于同一个内容,读和写通过地址中一个标志位来区分,因此表现出来就是读和写的地址不一样,这样芯片通过地址来区分你是要还是要写;例如读秒的地址是0x81,而写秒的地址是0x80;因此我们首先就要写读数据和写数据的两个函数:
首先要分析读操作的时序:
ce,sclk,i/o是单片机与ds1302连接的三条线,要进行读操作,首先把ce和sclk置0,准备读数据。ce是使能信号,只有他为高才能进行操作。读数据操作实际上是先写后读的操 作,因为要先写入地址,然后读该地址的数据。图中带箭头的脉冲跳变表示起作用的脉冲跳变,因此读数据时上升沿有效,即sclk从0变1的瞬间,i/o线上 的数据就会被写入ds1302。
而读出是下降沿有效,即ds1302会在每个下降沿的时候修改数据线上的数据,因此,从此刻到下一个下降沿的这段时间 内,mcu读数据线上的数据都是正确的。要注意mcu写完一个字节后第一个下降沿ds1302就开始送出数据了读写都是从低位到高位。所以就可以写程序了:
写数据简单,一次性把两个字节全部写进去就行了:
写数据程序:
有了读数据和写数据功能,就成功了一半了,接下来就是要搞懂每个地址所对应数据的结构和含义:首先是与时间有关的,一般也就操作这些寄存器就可以读写时间。
前两栏是地址,后面是各位所代表的含义:例如秒寄存器的最后一位bit7叫ch表示暂停时钟的,比如说用代码:
这样就把地址为0x80寄存器的ch位置为1,其他位为0,这样的操作就使时钟暂停了,并且秒也置为0;但是单这样操作是不能修改数据的,ds1302只有地址为0x8e的wp即写保护开关可以随意修改,其他数据要在写保护开关关闭时才能写,如:
另外使用寄存器0xbf/0xbe可以批量读写数据:
如果备用电池是充电电池或者电容,可以通过寄存器90h设置涓流充电二极管(1~2个)和电阻(2k,4k,8k)可选,要充电的话高四位必须是1010,低四位选择二极管和电阻:
控制方式:
只有这六种控制方式,只要不在这六中之内,则断电。从表中可以看到,我们从寄存器取得的时分秒等信息不能直接使用,因为它的高四位一般代表一位代表10,而低四位代表1,也就是用bcd码表示的。如代表年的寄存器高四位以为就代表10年,而第四位只代表1年,所以在写入的时候和读取的时候还要做一些转换。
所以,如果要在秒寄存器中写入23,可以直接写入0x23,也可以使用上面写的预处理函数hex(23),效果一样(hex(23)的作用就是把23转换成0x23)。

iPhone8什么时候上市?最新消息:iphone 8真机惊艳亮相,新功能各种逆天!不是无边屏,但Home键真没了!发布日期倒计时
鑫金晖 ▏PCB丝印“黄金孔”现象解决方案成果分享
盘点5G手机及全球前20大技术贡献公司
虹科干货| 虹科物联网HMI/网关结合JMobile软件实现趋势功能
STR6020电源电路原理图与电路组成
ds1302与单片机的连接,51单片机操作ds1302流程展示
油烟污染在线监控系统设计方案
看图识电容
多功能程控闪光集成电路应用电路
炫彩音质 音色绽放 JBL携手陈意涵Estelle发布新品PULSE4
例解电路去耦技术,看了保证不后悔
极速调试数字式微波雷达对射探测器的技术优势
IBM发布业界首个量子安全系统—IBM® z16™
国博电子科创板IPO再进一程!
国内几款常用热门音频功放芯片-低功耗、高保真
MIT推出人形机器人“爱马仕” 远程遥控操作救援
区块链历史上曾出现的重大黑客攻击事件盘点
智慧物联 自助你我,微步自助终端方案沙龙圆满举行
CEVA发布业界首款针对可授权DSP的基于C语言的应用程序优
三极管的截止区、放大区、饱和区的判断方法