基于51单片机的DS1302涓流充电计时芯片详细学习(时钟制作)

本文介绍了基于51单片机的DS1302实时时钟芯片的学习,讲解了DS1302的基本特性、脉冲串模式数据传输,包括单字节写入和读取,以及BCD码转换。通过理论和实践结合,提供了时钟模块的初始化、写入和读取操作,并展示了最终的LCD显示效果。
摘要由CSDN通过智能技术生成

目录

前言

一、初学者需要了解DS1302的一些基本特性

二、脉冲串模式数据传输

1.单字节写入

2.单字节读取

3.BCD码的转换

三、理论存在实践开始(代码模块)

1.DS1302时钟模块原理图

2.时钟的初始化

3.字节写入操作

4.字节读取操作

四、最终效果

1.模块整合

2.LCD代码模块

3.效果图


前言

        DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以通过简单的串行接口与微处理器通讯。内部包含的实时时钟/日历和31字节静态RAM可以提供年月日,时分秒信息。对于少于 31 天的月份月末会自动调整,还有闰年校正功能。

         基于51单片机来对简单芯片的学习可以极大的增强初学者的信心,使广大学者有继续坚持下去的动力。


一、初学者需要了解DS1302的一些基本特性

DS1302基本特性详解(学习篇):

1、实时时钟计算能力,与精确度不高的定时器不同,它能精确的计算秒、分、时、月、年,还具有平闰年调节功能。但它也不是永久计时,最终寿命将在2100年结束。

2、操作范围在2.0V至2.5V之间,在2.0V时工作电流小于300nA,使用的是31*8通用暂存RAM。拥有简单的3线接口,与TTL兼容(VCC=5V)

3、读写时钟RAM数据时有单字节或者多字节(脉冲串模式)数据传送方式!!!重点。

4、典型工作电路:串行计时器的主要元素:移位寄存器,控制逻辑,实时时钟,RAM

 

 这里只介绍实现本节时钟实现最重要的几点:

①:CE在信号读写时必须保持高电平!CE输入实现两个功能。第一, CE 开启允许对地址/命令序 列的移位寄存器进行读写的控制逻辑.。第二 CE提供终止数据传输的方法。

②:IO让寄存器知道,接下来是写入还是读出以及数据的存入

③:SCLK用来同步串行接口上的数据动作,上文提到的脉冲传输模式就是通过SCLK的上升沿以及下降沿控制完成,如何进行实现下文将详细阐述。

5、总而言之,操作DS1302的基本步骤就是:我要在哪? 做什么事?做的这个事是什么?

简单理解:在哪  写入or读出  数据

二、脉冲串模式数据传输

1.单字节写入

                                                                       图2-1

如图2-1,CE在数据写入中一定要保持高电平,直至脉冲串结束。

①:首先IO口的数据读取规则按照的是低位优先!以左半边为例

                                                                       图2-2

如图2-2:正常的逻辑应该是,从右往左依次是0位—7位。最低为则是二级制中的0000 0001,也就是图2-1中的R/W,这就能解释为什么图一中的R/W是在最前但十六进制用的则是0x01了。理解这个对接下来的学习很有帮助。

值得注意的是:原图中(R/W—1)左半边为命令,(D0—D7)右半边为数据,SCLK进入到指定的脉冲后就由命令行转入数据行。何为命令何为数据如图所示:

                                                                     图2-3

(R/W—1)左半边为命令:例如:如果你要进行读取操作,那么左半边的命令行字节为0x81对时钟的秒钟进行读取,也就是该图的第二行。同理如果你要进行写入秒钟,命令字节就为0x80。分,时,月,年皆同理。

②:写入中的SCLK脉冲如何操作?SCLK口处于低电平时也就是下降沿,此时R/W字节还没有正式被写入,一旦SCLK进入上升沿,字节立马被推进存储,随后进入下降沿等待下一次数据的推入。

                                                                      图2-4

2.单字节读取

了解了单字节的写入,那么对单字节的读取那便是手到擒来:

图2-5

读取与单字节的写入基本类似,只是读取是把写入的字节拿出来而已。不过仔细的同学可能会发现单字节读取中的SCLK脉冲比写入少一个,这里也很有意思,可谓是Live to old ,Study to old。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Samuel·糕狩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值