0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

电子万年历设计方案(3)

CHANBAEK 来源:IOput 作者:Bruno 2023-03-30 14:31 次阅读

4.2 DS1302时钟电路

4.2.1 DS1302芯片介绍

低功耗时钟芯片DS1302可以对年、月、日、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的原因的查找有重要意义。

采用DS1302作为记录测控系统中的数据记录,其软硬件设计简单,时间记录准确,既避免了连续记录的大工作量,又避免了定时记录的盲目性,给连续长时间的测量、控制系统的正常运行及检查都来了很大的方便,可广泛应用于长时间连续的测控系统中。在测量控制系统中,特别是长时间无人职守的测控系统中,经常需要记录某些具有特殊意义的数据及其出现的时间。记录及分析这些特殊意义的数据,对测控系统的性能分析及正常运行具有重要的意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许。而在系统中采用DS1302则能很好地解决这个问题。

(1) DS1302的性能特性

·实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数;

·用于高速数据暂存的31×8位RAM;

·最少引脚的串行I/O;

·2.5~5.5V 电压工作范围;

·2.5V时耗电小于300nA;

·用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;

·简单的3线接口;

·可选的慢速充电(至VCC1)的能力。

DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。它经过一个简单的串行接口微处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年等信息。对于小于31天的月和月末的日期自动进行调整,还包括闰年校正的功能。时钟的运行可以采用24h或带AM(上午)/PM(下午)的12h格式。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302有主电源/后备电源双电源引脚:VCC1 在单电源与电池供电的系统中提供低电源,并提供低功率的电池备份;VCC2在双电源系统中提供主电源,在这种运用方式中,VCC1 连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由VCC1或VCC2中较大者供电。当VCC2大于VCC1+0.2V时,VCC2给DS1302供电;当VCC2小于VCC1时,DS1302由VCC1供电。

(2) DS1302数据操作原理

DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输入。无论是读周期还是写周期,开始8位指定40个寄存器中哪个被访问到。在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为8加8,在多字节方式下为8加字节数,最大可达248字节数

wKgaomQlLFyAITDWAAAMvPGMhwM075.jpg

( 图4-3 DS1302管脚图 )

如果在传送过程中置RST为低电平,则会终止本次数据传送,并且I/O引脚变为高阻态。上电运行时,在VCC >=2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。DS1302的管脚图如图4-3所示,内部结构图如图4-4所示,表4-2为各引脚的功能。

wKgZomQlLFyAFzG7AADlKUOwoX4681.jpg

(图4-4 DS1302内部结构图)

wKgaomQlLFyAaF-GAADNPTnVHcU520.jpg

(表4-2 DS1302引脚功能表)

DS1302的控制字如图4-5所示。控制字节的最高有效位(位7)必须是逻辑1;如果它为逻辑0,则不能把数据写入到DS1302中。位6如果为0,则表示存取日历时钟数据;为1表示存取RAM数据。位5~1(A4~A0)指示操作单元的地址。最低有效位(位0)如为0,表示要进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。

wKgZomQlLFyAePRdAAAved15O_0152.jpg

(图4-5 控制字节的含义)

为了提高对32个地址的寻址能力(地址/命令位1~5=逻辑1),可以把时钟/日历或RAM寄存器规定为多字节(burst)方式。位6规定时钟或RAM,而位0规定读或写。在时钟/日历寄存器中的地址9~31或RAM寄存器中的地址31不能存储数据。在多字节方式中,读或写从地址0的位0开始。必须按数据传送的次序写最先的8个寄存器。但是,当以多字节方式写RAM时,为了传送数据不必写所有31字节。不管是否写了全部31字节,所写的每一字节都将传送至RAM。数据读写程序如图4-6所示。

wKgZomQlLFyATWraAAAeSu_2abw400.jpg

(图4-6 数据读写程序)

DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表4-3,其中奇数为读操作,偶数为写操作。

wKgZomQlLFyAVND6AAGpR48mGMc417.jpg

(表4-3 DS1302的日历、时钟寄存器及其控制字)

时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,DS1302停止振荡,进入低功耗的备份方式。通常在对DS1302进行写操作时(如进入时钟调整程序),停止振荡。当它为0时,时钟将开始启动。

AM-PM/12-24[小]时方式:[小]时寄存器的位7定义为12或24[小]时方式选择位。它为高电平时,选择12[小]时方式。在此方式下,位5是AM/PM位,此位是高电平时表示PM,低电平表示AM,在24[小]时方式下,位5为第二个10[小]时位(20~23h)。

4.2.2 DS1302 的应用

实时时钟芯片DS1302采用串行数据传输,可为掉电保护电源提供可编程的充电功能,也可以关闭充电功能,芯片采用32.768kHz晶振。要特别说明的是,备用电源BT1可以用电池或超级电容(10万μF以上)。虽然DS1302在主电源掉电后耗电很小,但如果要长时间保证时钟正常,最好选用小型充电电池。如果断电时间较短(几小时或几天),可以用漏电较小的普通电解电容代替(100μF就可以保证1小时的正常走时)。DS1302在第一次加电后,需进行初始化操作。初始化后就可以按正常方法调整时间及闹铃。DS1302的时钟电路如图4-7所示。

wKgaomQlLFyAD9AyAAAbz93HjMc190.jpg

(图4-7 DS1302时钟电路)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5030

    浏览量

    117734
  • 时钟芯片
    +关注

    关注

    2

    文章

    229

    浏览量

    39577
  • DS1302
    +关注

    关注

    8

    文章

    448

    浏览量

    50226
  • 时钟电路
    +关注

    关注

    10

    文章

    230

    浏览量

    50352
  • 电子万年历
    +关注

    关注

    3

    文章

    38

    浏览量

    15709
收藏 人收藏

    评论

    相关推荐

    电子万年历设计与制作资料

    电子万年历设计与制作资料
    发表于 08-20 11:18

    电子万年历设计

    电子万年历设计
    发表于 08-20 22:46

    电子万年历

    ``分享以前在电子工程师之家下载的万年历【超级版】``
    发表于 11-13 14:02

    电子万年历

    12864显示电子万年历,有温度,游戏,闹钟,用红外控制!!怎么做啊!!!
    发表于 12-08 15:44

    电子万年历

    电子万年历的资料谁有 怎么得E币 求给力
    发表于 12-18 16:18

    万年历

    万年历万年历万年历万年历
    发表于 03-20 21:08

    求一种基于STM32的智能万年历设计方案

    基于STM32的智能万年历是由哪些部分组成的?怎样去设计一种基于STM32的智能万年历
    发表于 09-29 07:40

    基于AT89C51单片机的多功能电子万年历设计方案资料分享

    适合初学者的设计
    发表于 04-04 10:19 1次下载

    指针式电子钟与万年历设计方案

    这是基于STM32设计的一个指针式电子钟+万年历小项目,采用3.5寸的LCD屏显示时钟,日历、温度、天气,支持触摸屏调整设置时间,设置闹钟,查看日历等等。整体项目主要是技术点就是LCD屏的图形绘制。比如: 时钟的时针绘制、分针、秒针、表盘、日历绘制等等。
    的头像 发表于 02-28 14:07 1916次阅读
    指针式<b class='flag-5'>电子</b>钟与<b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>

    电子万年历设计方案(1)

    本文设计的电子万年历属于小型智能家用电子产品。 利用单片机进行控制,实时时钟芯片进行记时,外加掉电存储电路和显示电路,可实现时间的调整和显示。
    的头像 发表于 03-30 14:28 1766次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>(1)

    电子万年历设计方案(2)

    XTAL1 接外部晶体的一个引脚。在单片机内部,它是构成片内振荡器的反相放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直接接到内部时钟发生器的输入端。
    的头像 发表于 03-30 14:29 659次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>(2)

    电子万年历设计方案(4)

    AT24C02是美国ATMEL公司的低功耗CMOS串行EEPROM,它是内含256×8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。
    的头像 发表于 03-30 14:32 635次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>(4)

    电子万年历设计方案(5)

     本设计共采用按键3个,分别与单片机的P1.7、P1.6、P1.5口相连,分别对应光标移动,时间、日期调整,退出、闹铃开关键的功能。
    的头像 发表于 03-30 14:33 507次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>(5)

    电子万年历设计方案(6)

      显示器部分是由HD61202液晶显示控制驱动器和HY12864液晶显示器组成的,下面我们对其分别进行介绍。
    的头像 发表于 03-30 14:34 783次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>(6)

    电子万年历设计方案(7)

    因为使用了时钟芯片DS1302,阳历程序只需从DS1302各寄存器中读出年、周、月、日、[小]时、分、秒等数据,再处理即可。在首次对DS1302进行操作之前,必须对它进行初始化,然后从DS1302中读出数据,再经过处理后,送给显示缓冲单元。阳历程序流程图见图5-1所示。
    的头像 发表于 03-30 14:36 669次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>万年历</b><b class='flag-5'>设计方案</b>(7)