实时时钟芯片DS1302

合集下载

ds1302时钟芯片介绍

ds1302时钟芯片介绍

ds1302时钟芯片介绍
DS1302是由美国公司Maxim Integrated(原先Dallas Semiconductor)生产的一种时钟芯片。

它是用于计时和日期记录的低功耗时钟芯片,可以广泛应用于计算机、家用电器、电子设备和工业控制等领域。

DS1302采用SPI接口与微控制器进行通信,采用电池供电,具有低功耗特性。

它内部包含了时钟计数器、时钟发生器、RAM和控制逻辑等核心部件。

DS1302具有精确的时钟计数器,可以提供准确的时间和日期记录。

它采用32.768kHz的晶体振荡器作为时钟源,可以提供精确至秒级别的计时功能。

同时,它还具有256字节的RAM 用于存储用户数据和设置参数。

DS1302支持BCD码和二进制码两种时间格式,并可以进行自动切换。

除此之外,它还具有闹钟功能,可以设置多个闹钟,同时支持中断输出,可通过外部中断引脚触发。

DS1302有一套完善的控制指令集,通过SPI接口与微控制器进行通信。

微控制器可以通过发送指令来读取和写入时钟和RAM中的数据。

此外,它还具有写保护功能,可以设置只读或只写模式,保护计时和日期数据的安全性。

DS1302具有多种封装形式,如DIP、SOIC和TSSOP等,方便不同应用场景的安装和布局。

此外,它还具有宽工作温度范围和抗辐射等特性,适应各种恶劣环境下的工作。

总结起来,DS1302是一种集计时、日期记录和闹钟功能于一体的低功耗时钟芯片。

它准确可靠、功能丰富、易于使用,可广泛应用于各种电子设备和工业控制系统中。

DS1302中文手册

DS1302中文手册

DS1302中文手册DS1302 是一款高性能、低功耗的实时时钟芯片,被广泛应用于各种需要准确计时的电子设备中。

一、DS1302 的基本特性1、实时时钟功能能够精确记录年、月、日、时、分、秒等时间信息。

2、低功耗设计在电池供电的情况下,仍能保持长时间的计时准确性。

3、数据存储具备 31 字节的非易失性静态 RAM,可用于存储一些关键数据。

4、简单的接口通过串行接口与微控制器进行通信,易于集成到系统中。

二、DS1302 的引脚功能1、 Vcc1 和 Vcc2Vcc1 是主电源引脚,Vcc2 是备用电源引脚。

当主电源正常供电时,芯片使用 Vcc1 供电;当主电源断电时,自动切换到 Vcc2(通常为电池)以保持时钟运行。

2、 GND接地引脚。

3、 CLK时钟输入引脚,用于同步数据传输。

4、 I/O数据输入/输出引脚。

5、 RST复位引脚,高电平有效。

三、DS1302 的通信协议DS1302 采用串行通信方式,通信数据以字节为单位进行传输。

1、起始位在每个字节传输开始时,RST 引脚被置为高电平,启动通信过程。

2、控制字节首先发送一个控制字节,用于指定后续操作是读操作还是写操作,以及要操作的寄存器地址。

3、数据字节根据控制字节的指示,接着传输数据字节。

4、停止位在传输完一个字节的数据后,将 RST 引脚置为低电平,结束本次通信。

四、DS1302 的寄存器1、时钟/日历寄存器包括年、月、日、时、分、秒等寄存器,用于存储时间信息。

2、控制寄存器用于设置时钟的工作模式,如是否开启振荡器、是否进行写保护等。

3、充电寄存器用于控制备用电源的充电特性。

4、 31 字节的 RAM 寄存器用于用户自定义数据存储。

五、DS1302 的初始化与设置在使用 DS1302 之前,需要进行初始化设置,包括设置初始时间、开启振荡器、关闭写保护等操作。

1、写入初始时间通过串行通信将准确的初始时间写入到相应的时钟/日历寄存器中。

2、开启振荡器将控制寄存器的相应位设置为 1,使振荡器开始工作。

ds1302数字时钟芯片

ds1302数字时钟芯片

《DS1302数字时钟芯片》1. 内置电池备份功能,确保时间信息在断电情况下依然准确无误;2. 精度高,每月误差不超过±30秒;3. 支持秒、分、时、日、月、周、年的计时,满足日常生活和工作需求;4. 通过串行通信接口与单片机或其他设备进行数据交换,操作简单;5. 超低功耗设计,节能环保。

下面,让我们详细了解DS1302数字时钟芯片的内部结构、工作原理及实际应用。

《DS1302数字时钟芯片》二、内部结构与关键特性1. 时钟模块:包含了时钟振荡器、分频器以及时钟计数器。

振荡器采用32.768kHz的晶振,保证了时间的精确度。

分频器将振荡器输出的频率分频至1Hz,供时钟计数器使用。

2. RAM存储器:DS1302内置31字节静态RAM,可用于存储临时数据或用户自定义信息,方便在不干扰时钟运行的情况下进行数据保存。

3. 电源管理模块:DS1302具备掉电保护功能,当外部电源断电时,内置的锂电池可以自动为芯片供电,确保时钟正常运行。

4. 串行接口:采用三线接口(时钟线、数据线、复位线),简化了与外部设备的连接,便于实现数据的同步传输。

三、工作原理1. 初始化:通过复位线将DS1302复位,使其进入待命状态,准备接收命令。

2. 命令发送:单片机或其他控制器通过串行接口向DS1302发送命令,包括读/写时钟数据、RAM数据等。

3. 数据交换:在命令发送后,DS1302根据命令类型进行数据读出或写入操作。

数据传输过程中,时钟线控制数据同步,数据线传输数据位。

4. 数据处理:单片机接收到DS1302的数据后,可进行时间显示、闹钟设置等操作。

四、实际应用1. 智能家居:作为时间基准,用于家庭安防、照明、温控等系统的定时控制。

2. 儿童手表:为孩子提供准确的时间显示,便于家长监控和管理孩子的作息。

3. 工业自动化:在生产线控制、设备维护等领域,实现精确的时间记录和任务调度。

4. 环境监测:结合其他传感器,实现对环境数据的实时采集和记录,为环境保护提供数据支持。

关于实时时钟模块DS1302的介绍

关于实时时钟模块DS1302的介绍

关于实时时钟模块DS1302的介绍DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。

它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。

DS1302工作原理DS1302 工作电压为2.0V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个318的用于临时性存放数据的RAM寄存器。

DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。

DS1302主要性能指标DS1302实时时钟芯片广泛应用于电话、传真、便携式仪器等产品领域,他的主要性能指标如下:1、DS1302是一个实时时钟芯片,可以提供秒、分、小时、日期、月、年等信息,并且还有软年自动调整的能力,可以通过配置AM/PM来决定采用24小时格式还是12小时格式。

2、拥有31字节数据存储RAM。

3、串行I/O通信方式,相对并行来说比较节省IO口的使用。

4、DS1302的工作电压比较宽,大概是2.0V~5.5V都可以正常工作。

采用双电源供电,当主电源比备用电源高0.2V时,由主电源供电,否则采用备用电源,一般是一个纽扣电池。

5、DS1302这种时钟芯片功耗一般都很低,它在工作电压2.0V的时候,工作电流小于300nA。

6、DS1302共有8个引脚,有两种封装形式,一种是DIP-8封装,芯片宽度(不含引脚)是300mil,一种是SOP-8封装,有两种宽度,一种是150mil,一种是208mil。

DS1302引脚及定义这是单字节写入的时序图,可见,先拉高使能端,进行使能选择,然后在时钟上升沿写入一个字节。

DS1302在进行读写操作时最少读写两个字节,第一个是控制字节,就是一个命令,说明是读还是写操作,第二个时需要读写的数据。

对于单字节写,只有在SCLK为低电平时才能将CE 置高电平,所以刚开始将SCLK 置低,CE置高,然后把需要写入的字节送入IO口,然后跳变SCLK,在SCLK下降沿时,。

实时时钟电路DS1302芯片的原理及应用

实时时钟电路DS1302芯片的原理及应用

实时时钟电路DS1302芯片的原理及应用DS1302是一种实时时钟(RTC)电路芯片,由Dallas Semiconductor (现被Maxim Integrated收购)设计和制造。

它提供了一个准确的时间和日期计时功能,适用于许多应用,例如电子设备、仪器仪表、通讯设备和计算机系统等。

DS1302芯片的原理如下:1.时钟发生器:DS1302芯片内部集成了一个时钟发生器电路,它使用外部XTAL晶体和一个频率分频器来产生准确的时钟信号。

晶体的频率通常为32.768kHz,这是由于此频率具有较好的稳定性。

2.电源管理:DS1302芯片可以使用3V到5.5V的电源供电。

它内部具有电源管理电路,可以自动切换到低功耗模式以延长电池寿命。

3.时间计数器:DS1302芯片内部包含一个时间计数器,用于计算并保存当前时间、日期和星期。

它采用24小时制,并提供了BCD编码的小时、分钟、秒、日、月和年信息。

4.控制和数据接口:DS1302芯片使用串行接口与外部器件进行通信,如微控制器或外部检测电路。

控制和数据信息通过三根线SCLK(串行时钟)、I/O(串行数据输入/输出)和CE(片选)进行传输。

5.电源备份:为了确保即使在电源中断的情况下仍能保持时间数据,DS1302芯片通过附带的外部电池来提供电源备份功能。

当主电源中断时,芯片会自动切换到电池供电模式,并将时间数据存储在内部RAM中。

DS1302芯片的应用包括但不限于以下几个方面:1.时钟和日历显示:DS1302芯片可以直接连接到LCD显示屏、LED显示器或数码管等设备,用于显示当前时间和日期。

2.定时控制:DS1302芯片可以用作定时器或闹钟,在特定的时间触发一些事件。

例如,可以使用它作为控制家庭设备的定时开关。

3.数据记录:由于DS1302芯片具有时间计数功能,它可以用于记录事件的时间戳,如数据采集、操作记录或系统状态记录。

4.电源失效保护:DS1302芯片的电源备份功能可确保即使在电源中断的情况下,时间数据也能被保存,以避免系统重新启动后时间重置的问题。

ds1302芯片

ds1302芯片

ds1302芯片DS1302芯片是一种实时时钟(RTC)芯片,由Maxim集成电路公司生产。

它是一款非常强大和广泛应用的芯片,具有可靠的性能和低功耗。

本文将对DS1302芯片进行详细介绍。

首先,DS1302芯片主要用于系统中对时间进行实时监控和记录。

它可以精确地记录年、月、日、小时、分钟和秒,并且可以显示星期几。

可以使用8位的数据总线进行通信,方便地与其他设备进行连接。

其次,DS1302芯片具有非常低的功耗。

在正常工作模式下,它只需要2.0V至5.5V的供电电压,并且可以使用电池备份供电,以防止停电时数据丢失。

在备份供电模式下,芯片的功耗非常低,仅为0.2μA。

此外,DS1302芯片具有时钟校正功能。

它可以通过外部的32.768kHz晶体振荡器来校准内部时钟,以确保精准的时间记录。

这样可以减少时间误差,使得芯片的性能更加可靠。

同时,DS1302芯片还具有多种功能。

它支持两种不同的数据格式:BCD(二进制编码十进制)和二进制。

可以根据系统的需求选择不同的格式。

此外,芯片还具有写保护功能,可以防止未经授权的数据修改。

此外,DS1302芯片还具有温度传感器。

它可以测量环境温度,并将结果以数字形式传回主控制器。

这对于需要监控环境温度的应用非常有用。

最后,DS1302芯片可广泛应用于各种电子设备中。

例如,它可以用于电子钟、计时器、温控系统、数据记录器等。

其性能可靠,并具有广泛的兼容性。

总之,DS1302芯片是一款非常强大和广泛应用的实时时钟芯片。

它具有高度精确的时间记录功能、低功耗、时钟校正功能、多种数据格式支持、写保护功能和温度传感器等特点。

通过DS1302芯片,可以为各种电子设备提供准确、可靠的时间显示和记录功能。

DS1302芯片资料

DS1302芯片资料

DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31 字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路.提供秒分时日日期.月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式.DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:1 RES 复位,2 I/O 数据线,3 SCLK串行时钟.时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信.DS1302 工作时功耗很低,保持数据和时钟信息时功率小于1mW.DS1302 是由DS1202 改进而来,增加了以下的特性.双电源管脚用于主电源和备份电源供应Vcc1,为可编程涓流充电电源附加七个字节存储器.它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域.下面将主要的性能指标作一综合:实时时钟具有能计算2100 年之前的秒分时日日期星期月年的能力还有闰年调整的能力;31 8 位暂存数据存储RAM;串行I/O 口方式使得管脚数量最少;宽范围工作电压2.0 5.5V;工作电流2.0V 时,小于300nA;读/写时钟或RAM 数据时有两种传送方式单字节传送和多字节传送字符组方式;8 脚DIP 封装或可选的8 脚SOIC 封装根据表面装配;简单3 线接口;与TTL 兼容Vcc=5V;可选工业级温度范围-40 +85;与DS1202 兼容;在DS1202 基础上增加的特性;对Vcc1 有可选的涓流充电能力;双电源管用于主电源和备份电源供应;备份电源管脚可由电池或大容量电容输入;附加的7 字节暂存存储器;1 DS1302 的基本组成和工作原理DS1302 的引脚功能排列及描述如下图所示.ds1302引脚图管脚描述X1 X2 32.768KHz 晶振管脚GND 地RST 复位脚I/O 数据输入/输出引脚SCLK 串行时钟Vcc1,Vcc2 电源供电管脚DS1302 串行时钟芯片8 脚DIPDS1302S 串行时钟芯片8 脚SOIC 200milDS1302Z 串行时钟芯片8 脚SOIC 150mil2. DS1302 内部寄存器CH: 时钟停止位存器2 的第7 位12/24 小时标志CH=0 振荡器工作允许bit7=1,12 小时模式CH=1 振荡器停止 bit7=0,24 小时模式WP: 写保护位寄存器2 的第5 位:AM/PM 定义WP=0 寄存器数据能够写入 AP=1 下午模式WP=1 寄存器数据不能写入AP=0 上午模式TCS: 涓流充电选择 DS: 二极管选择位TCS=1010 使能涓流充电 DS=01 选择一个二极管TCS=其它禁止涓流充电DS=10 选择两个二极管时钟:DS1302 与微控制器的接口软件及功能应用举例下面首先给出基本的接口软件然后举例说明各种功能的应用1 写保护寄存器操作当写保护寄存器的最高位为0 时允许数据写入寄存器写保护寄存器可以通过命令字节8E,8F 来规定禁止写入/读出写保护位不能在多字节传送模式下写入Write_Enable:MOV Command,#8Eh ;命令字节为8EMOV ByteCnt,#1 ;单字节传送模式MOV R0,#XmtDat 数据地址覆给R0MOV XmtDat,#00h 数据内容为0 写入允许ACALL Send_Byte 用写入数据子程序RET 返回调用本子程序处当写保护寄存器的最高位为1 时禁止数据写入寄存器Write_Disable:MOV Command,#8Eh ;命令字节为8EMOV ByteCnt,#1 ;单字节传送模式MOV R0,#XmtDat 数据地址覆给R0MOV XmtDat,#80h 数据内容为80h 禁止写入ACALL Send_Byte 调用写入数据子程序RET返回调用本子程序处以上程序调用了基本数据发送(Send_Byte)模块及一些内存单元定义, 其源程序清单在附录中给出下面的程序亦使用了这个模块2 时钟停止位操作当把秒寄存器的第7 位时钟停止位设置为0 时起动时钟开始Osc_Enable:MOV Command,#80h ; 命令字节为80MOV ByteCnt,#1 ; 单字节传送模式MOV 0,#XmtDat 数据地址覆给R0 MOV XmtDat,#00h 数据内容为0 振荡器工作允许ACALL Send_Byte 调用写入数据子程序RET返回调用本子程序处当把秒寄存器的第7 位时钟停止位设置为1 时时钟振荡器停止HT1380 进入低功耗方式Osc_Disable:MOV Command,#80h ;命令字节为80MOV ByteCnt,#1 ;单字节传送模式MOV R0,#XmtDat 数据地址覆给R0MOV XmtDat,#80h 数据内容为80h 振荡器停止ACALL Send_Byte 调用写入数据子程序RET返回调用本子程序处3. 多字节传送方式当命令字节为BE 或BF 时DS1302 工作在多字节传送模式8 个时钟/日历寄存器从寄存器0 地址开始连续读写从0 位开始的数据当命令字节为FE 或FF 时DS1302 工作在多字节RAM 传送模式31 个RAM 寄存器从0 地址开始连续读写从0 位开始的数据例如写入00 年6 月21 日星期三13 时59 分59 秒程序设置如下Write_Multiplebyte:MOV Command,#0BEh ;命令字节为BEhMOV ByteCnt,#8 ;多字节写入模式此模块为8 个MOV R0,#XmtDat 数据地址覆给R0MOV XmtDat,#59h 秒单元内容为59hMOV XmtDat+1,#59h 分单元内容为59hMOV XmtDat+2,#13h 时单元内容为13hMOV XmtDat+3,#21h 日期单元内容为21hMOV XmtDat+4,#06h 月单元内容为06hMOV XmtDat+5,#03h 星期单元内容为03hMOV XmtDat+6,#0 年单元内容为00h MOV XmtDat+7,#0 写保护单元内容为00hACALL Send_Byte 调用写入数据子程序RET返回调用本子程序处读出寄存器0-7 的内容程序设置如下Read_Multiplebyte:MOV Command,#0BFh 命令字节为BFhMOV ByteCnt,#8 ; 多字节读出模式此模块为8 个MOV R1,#RcvDat 数据地址覆给R1ACALL Receive_Byte 调用读出数据子程序RET返回调用本子程序处以上程序调用了基本数据接收(Receive_Byte)模块及一些内存单元定义, 其源程序清单在附录中给出下面的程序亦使用了这个模块4. 单字节传送方式例如写入8 时12 小时模式程序设置如下Write_Singlebyte:MOV Command,#84h ; 命令字节为84hMOV ByteCnt,#1 ; 单字节传送模式MOV R0,#XmtDat 数据地址覆给R0 MOV XmtDat,#88h 数据内容为88h ACALL Send_Byte 调用写入数据子程序RET返回调用本子程序处上面所列出的程序模块Write_Enable Write_Disable Osc_Enable Osc_Disable 与单字节写入模块Write_Singlebyte 的程序架构完全相同仅只是几个入口参数不同本文是为了强调功能使用的不同才将其分为不同模块另外,与涓流充电相关的设定也是单字节操作方式,这里就不再单独列出,用户在使用中可灵活简略.下面模块举例说明如何单字节读出小时单元的内容.Read_Singlebyte:MOV Command,#85h ; 命令字节为85h MOV ByteCnt,#1 ; 单字节传送模式MOV R1,#RcvDat 数据地址覆给R1ACALL Receive_Byte 调用读出数据子程序RET返回调用本子程序处DS1302 应用电路原理图P87LPC764 单片机选取内部振荡及内部复位电路附录数据发送与接收模块源程序清单; CPU 工作频率最大不超过20MHz;; P87LPC762/4 主控器发送接受数据程序; 说明本程序是利用Philips 公司的P87LPC764 单片机任何具有51 内核或其它合适的单片机都可在此作为主控器的普通I/O 口(如P1.2/P1.3/P1.4)实现总线的功能对总线上的器件本程序采用DS1302进行读写操作命令字节在Command 传送字节数在ByteCnt 中所发送的数据在XmtDat 中所接收的数据在RcvDat 中;;P87LPC762/4 主控器总线发送接受数据程序头文件;内存数据定义BitCnt data 30h ; 数据位计数器ByteCnt data 31h ; 数据字节计数器Command data 32h ; 命令字节地址RcvDat DATA 40H ; 接收数据缓冲区XmtDat DATA 50H ; 发送数据缓冲区;端口位定义IO_DATA bit P1.3 ; 数据传送总线SCLK bit P1.4 ; 时钟控制总线RST bit P1.2 ; 复位总线;;发送数据程序;名称:Send_Byte;描述:发送ByteCnt 个字节给被控器DS1302;命令字节地址在Command 中;所发送数据的字节数在ByteCnt 中发送的数据在XmtDat 缓冲区中;Send_Byte:CLR RST ;复位引脚为低电平所有数据传送终止NOPCLR SCLK 清时钟总线NOPSETB RST ;复位引脚为高电平逻辑控制有效NOPMOV A,Command 准备发送命令字节MOV BitCnt,#08h 传送位数为8S_Byte0:RRC A 将最低位传送给进位位CMOV IO_DATA,C 位传送至数据总线NOPSETB SCLK 时钟上升沿发送数据有效NOPCLR SCLK 清时钟总线DJNZ BitCnt,S_Byte0 位传送未完毕则继续NOPS_Byte1:准备发送数据MOV A,@R0 传送数据过程与传送命令相同MOV BitCnt,#08hS_Byte2:RRC AMOV IO_DATA,CNOPSETB SCLKNOPCLR SCLKDJNZ BitCnt,S_Byte2INC R0发送数据的内存地址加1DJNZ ByteCnt,S_Byte1 字节传送未完毕则继续NOPCLR RST逻辑操作完毕清RSTRET;接收数据程序;;名称:Receive_Byte;描述:从被控器DS1302 接收ByteCnt 个字节数据;命令字节地址在Command 中;所接收数据的字节数在ByteCnt 中接收的数据在RcvDat 缓冲区中Receive_Byte:CLR RST;复位引脚为低电平所有数据传送终止NOPCLR SCLK 清时钟总线NOPSETB RST ;复位引脚为高电平逻辑控制有效MOV A,Command 准备发送命令字节MOV BitCnt,#08h 传送位数为8R_Byte0:RRC A将最低位传送给进位位CMOV IO_DATA,C 位传送至数据总线NOPSETB SCLK 时钟上升沿发送数据有效NOPCLR SCLK 清时钟总线DJNZ BitCnt,R_Byte0 位传送未完毕则继续NOPR_Byte1: 准备接收数据CLR A清类加器CLR C清进位位CMOV BitCnt,#08h 接收位数为8R_Byte2:NOPMOV C,IO_DATA 数据总线上的数据传送给C RRC A从最低位接收数据SETB SCLK 时钟总线置高NOPCLR SCLK 时钟下降沿接收数据有效DJNZ BitCnt,R_Byte2 位接收未完毕则继续MOV @R1,A 接收到的完整数据字节放入接收内存缓冲区INC R1 接收数据的内存地址加1DJNZ ByteCnt,R_Byte1 字节接收未完毕则继续NOPCLR RST 逻辑操作完毕清RSTRETEND直流参数表:主要电参数表:交流参数表:电容配置表:。

实时时钟芯片 DS1302 介绍

实时时钟芯片 DS1302 介绍

实时时钟芯片DS1302 介绍
DS1302 是个实时时钟芯片,我们可以用单片机写入时间或者读取当前的时间数据,下面带着大家通过阅读这个芯片的数据手册来学习和掌握这个器件。

由于IT 技术国际化比较强,因此数据手册绝大多数都是英文的,导致很多英语基础不好的同学看到英文手册头就大了。

这里我要告诉大家的是,只要精神不退缩,方法总比困难多,很多英语水平不高的,看数据手册照样完全没问题,因为我们用到的专业词汇也就那么几个,多看几次就认识了。

我们现在不是考试,因此大家可以充分利用一些英文翻译软件,翻译过来的中文意思有时候可能不是那么准确,那你就把翻译的内容和英文手册里的一些图表比较参考学习。

此外数据手册除了介绍性的说明外,一般还会配相关的图形或者表格,结合起来看也有利于理解手册所表达的意思。

这节课我会把DS1302 的英文资料尽可能的用比较便于理解的方式给大家表达出来,同学们可以把我的表达和英文手册多做一下对比,尽可能快的开始学会了解英文手册。

DS1302 的特点DS1302 是DALLAS(达拉斯)公司推出的一款涓流充电时钟芯片,2001 年DALLAS 被MAXIM(美信)收购,因此我们看到的DS1302 的数据手册既有DALLAS 的标志,又有MAXIM 的标志,大家了解即可。

DS1302 实时时钟芯片广泛应用于电话、传真、便携式仪器等产品领域,它的主要性能指标如下:
1)DS1302 是一个实时时钟芯片,可以提供秒、分、小时、日期、月、年等信息,并且还有软件自动调整的能力,可以通过配置AM/PM 来决定采用24 小时格式还是12 小时格式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实时时钟芯片DS1302的结构,工作原理及应用(含源程序)
1.ds1302实时时钟简介
现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485等。

这些电路的接口简单、价格低廉、使用方便,被广泛地采用。

本文介绍的实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。

采用普通32.768kHz晶振。

2 DS1302的结构及工作原理
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。

DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。

2.1 引脚功能及结构
图1示出DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。

在主电源关闭的情况下,也能保持时钟的连续运行。

DS1302由Vcc1或Vcc2两者中的较大者供电。

当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。

当Vcc2小于Vcc1时,DS1302由Vcc1供电。

X1和X2是振荡源,外接32.768kHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

当RST 为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

如果在传送过程中RST 置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。

只有在SCLK为低电平时,才能将RST置为高电平。

I/O为串行数据输入输出端(双向),后面有详细说明。

SCLK始终是输入端。

2.2 DS1302的控制字节
DS1302的控制字如图2所示。

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

2.3 数据输入输出(I/O)
在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。

同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。

2.4 DS1302的寄存器
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表1。

此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。

时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。

DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。

3 DS1302实时显示时间的软硬件
DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。

图3示出DS1302与89C2051的连接图,其中,时钟的显示用LCD。

3.1 DS1302与CPU的连接
实际上,在调试程序时可以不加电容器,只加一个32.768kHz的晶振即可。

只是选择晶振时,不同的晶振,误差也较大。

另外,还可以在上面的电路中加入DS18B20,同时显示实时温度。

只要占用CPU一个口线即可。

LCD还可以换成LED,还可以使用北京卫信杰科技发展有限公司生产的10位多功能8段液晶显示模块LCM101,内含看门狗(WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示RAM,可显示任意字段笔划,具有3-4线串行接口,可与任何单片机、IC接口。

功耗低,显示状态时电流为2μA(典型值),省电模式时小于1μA,工作电压为2.4V~3.3V,显示清晰。

3.2 DS1302实时时间流程
图4示出DS1302的实时时间流程。

根据此流程框图,不难采集实时时间。

下面结合流程图对DS1302的基本操作进行编程:
根据本人在调试中遇到的问题,特作如下说明:
DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入),D0=1,指定读操作(输出)。

在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。

若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。

DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。

要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1F以上)。

虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。

可以用老式电脑主板上的3.6V充电电池。

如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。

100
μF就可以保证1小时的正常走时。

DS1302在第一次加电后,必须进行初始化操作。

初始化后就可以按正常方法调整时间。

4 结论
DS1302存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。

DS1302可以用于
数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。

这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。

传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。

但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。

相关文档
最新文档