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 的基本特性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芯片是一种实时时钟(RTC)芯片,由Maxim集成电路公司生产。
它是一款非常强大和广泛应用的芯片,具有可靠的性能和低功耗。
本文将对DS1302芯片进行详细介绍。
首先,DS1302芯片主要用于系统中对时间进行实时监控和记录。
它可以精确地记录年、月、日、小时、分钟和秒,并且可以显示星期几。
可以使用8位的数据总线进行通信,方便地与其他设备进行连接。
其次,DS1302芯片具有非常低的功耗。
在正常工作模式下,它只需要2.0V至5.5V的供电电压,并且可以使用电池备份供电,以防止停电时数据丢失。
在备份供电模式下,芯片的功耗非常低,仅为0.2μA。
此外,DS1302芯片具有时钟校正功能。
它可以通过外部的32.768kHz晶体振荡器来校准内部时钟,以确保精准的时间记录。
这样可以减少时间误差,使得芯片的性能更加可靠。
同时,DS1302芯片还具有多种功能。
它支持两种不同的数据格式:BCD(二进制编码十进制)和二进制。
可以根据系统的需求选择不同的格式。
此外,芯片还具有写保护功能,可以防止未经授权的数据修改。
此外,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有关RAM的地址 DS1302中附加31字节静态RAM的地址
DS1302的工作模式寄存器 所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。 突发模式寄存器
DS1302充电寄存器
寄存器地址是08H 读操作是91H 写操作是90H
2-3位:
0-1位:
DS=01 为一个二极管 DS=10 为二个二极管 DS=00 无二极管,不能充电 DS=11 无二极管,不能充电 RS=00 无电阻,不能充电 RS=01 2K RS=10 4K RS=11 8K
DS1302读写时序 DS1302是SPI总线驱动方式。它不仅要向寄存器写入控制字, 还需要读取相应寄存器的数据。 要想与DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如图
控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。 位6:如果为0,则表示存取日历时钟数据,为1表示存取RAM数据; 位5至位1(A4~A0):指示操作单元的地址; 位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。 读数据: 读数据时在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据, 读出的数据是从最低位到最高位。 写数据: 控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时, 数据被写入DS1302,数据输入也是从最低位(0位)开始。
DS1302时钟芯片
DS1302时钟芯片
DS1302是美国DALLAS公司推出的一种高性能、 低功耗的实时时钟芯片,附加31字节静态RAM, 采用SPI三线接口与CPU进行通信,并可采用突发 方式一次传送多个字节的时钟信号和RAM数据。 实时时钟可提供秒、分、时、日、星期、月和年, 一个月小与31天时可以自动调整,且具有闰年补 偿功能。工作电压宽达2.5~5.5V。采用双电源供 电(主电源和备用电源),可设置备用电源充电 方式,提供了对后备电源进行涓细电流充电的能 力。
DS1302时钟芯片
第十四讲时钟芯片DS1302DS1302 是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★ 双电源管用于主电源和备份电源供应以上是DS1302的某些全方面的预览,下列为DS1302管脚图:1)VCC2:主用电源引脚2)X1、X2:DS1302外部晶振引脚3)GND:地4)RST:复位引脚5)I/O:串行数据引脚,数据输出或者输入都从这个引脚6)SCLK:串行时钟引脚7)VCC1:备用电源1)VCC 为主电源接5V,CX10 为滤波电容2)2、外接32.768K 的晶振3)3、 5、6、7 脚分别与控制器相联,注意外部4.7K 上拉电阻4)4、备用电源脚,注意是3.3V,DS1302 规定备用电源电压稍微低于主用电源下面讲讲DS1302 的具体操作。
DS1302中文资料
VVcccc11:主电源;VVcccc22:备份电源。当VVcccc22>>VVcccc11++00..22VV时,由VVcccc22
DS1302 Vcc2<Vcc1 Vcc1 DS1302
能力。
----------------------- Page 9-----------------------
DS1302动程序分析
开 始
CCLLKK和和II//OO虽虽然然和和IIIICC总总线线接接在在一一条条引引脚脚上上,,但但DDSS11330022其其实实并并不不是是
使用IIC总线,而是一种三线式总线,
使用IIC总线,而是一种三线式总线,
使使用用IIIICC总总线线,,而而是是一一种种三三线线式式总总线线,,
Vcc2>Vcc1+0.2V 时,
Vcc2>Vcc1+0.2V 时,
VVcccc22>>VVcccc11++00..22VV时时,,
由 Vcc2向 DS1302供电,当 Vcc2<Vcc1时,由 Vcc1向
由 Vcc2向 DS1302供电,当 Vcc2<Vcc1时,由 Vcc1向
I/O 数据输入/输出引脚
SCLK 串行时钟
Vcc1,Vcc2电源供电管脚
各引脚的功能为
各引脚的功能为
各各引引脚脚的的功功能能为为:
Vcc1 Vcc2 Vcc2>Vcc1+0.2V Vcc2
----------------------- Page 3-----------------------
DS1302
DS1302芯片介绍DS1302是DALLAS公司推出的串行接口实时时钟芯片。
它既提供实时时钟,又把关键的数据位存储于RAM。
芯片使用简单,外部连线少,在智能化仪表及自动控制领域具有广泛用途。
其主要特点是:●简单的三线串行I/O接口;● 2.5~5.5V的电压工作范围(在2.5V工作时耗电小于300nA);●与TTL兼容(Vcc=5V)时;●实时时钟包括秒、分、小时、日、月、星期和年(闰年)等信息;●31*8静态RAM可供用户使用;●可选的涓流充电方式;●工作电源和备份电源双引脚输入;●备份电源可由大容量电容来替代。
1、引脚功能表及内部结构图DS1302的引脚及内部结构如图1所示,引脚功能如表1所示。
2.操作及控制(1)复位和时钟控制向DS1302写入数据时,数据应在时钟下降沿发生变化,上升沿将数据写入DS1302内部移位寄存器。
读取DS1302数据时,数据也在时钟下降沿变化,即在下降沿数据从移位寄存器输出,但当CLK时钟为正半周时,I/O线为高阻态,所以应在上升沿前读取,否则将读出全为FFH。
通过把输入驱动置高电平来启动所有的数据传送。
输入有两种功能:首先,接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,提供了终止单字节或多字节数据的传送手段。
当为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中置为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。
上电运行时,在Vcc≥2.5V之前,必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
(2)DS1302的控制字节DS1302 的控制字如图2所示。
控制字节的最高有效位(位7)必须是逻辑1如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
实时时钟芯片DS1302
实时时钟芯片DS1302
DS1302 是一种三线制的串行时钟芯片,即CE(片选),SCLK(时钟),
I/O(双向数据)。
从严格意义上来说,它不是SPI 总线类型的,因为SPI 的数
据线的输入输出是分开的,但是我们操作的时候可以用带SPI 的硬件接口的MCU,比如PIC16F877 的MSSP 模块。
命令字节的基本格式
存储器结构
需要注意的地方:
1.在上电时,RST 必须为逻辑0 直至Vcc>
2.0V。
同时SCLK 在RST 驱动至逻辑1 状态时必须为逻辑0。
2.数据输入是在SCLK 的上升沿,数据输出是在SCLK 的下降沿。
3.传输方式:低位先传输。
4.时钟运行:秒寄存器的最高位(BIT7)是作为时钟控制位,当为逻辑1 时,时钟停止,为0 时钟运行。
所以如果要时钟运行的话就必须将秒寄存器的最高
位清0
5.12/24 小时模式:小时寄存器的第7 位(最高位)是选择12 小时制还是24 小时制。
当为逻辑1 时选择12 小时,逻辑0 选择24 小时。
当为12 小时制时,小时寄存器的第5 位用来表示上午AM 和下午PM,逻辑1 的时候表示PM,
逻辑0 的时候表示AM。
6.在企图对DS1302 操作之前,必须将WP 位清零。
7.读写模式:有两种模式,可以单字节读写,以及连续多字节读写(burst mode)。
在连续多字节读写时,即burst mode,地址是必须从地址0 的0 位开。
DS1302中文资料(加解释版)文档
DS1302涓流充电时钟保持芯片的原理与应用摘要:本文概括介绍了DS1302时钟芯片的特点和基本组成,通过实例详细说明了有关功能的应用软件。
关于DS1302各寄存器的详细位控功能请参考DALLAS达拉斯公司的相应产品资料。
概述:DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。
实时时钟/日历电路提供秒、分、时、日、星期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM 指示决定采用24或12小时格式。
DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线(1)RES复位、(2)I/O数据线、(3)SCLK串行时钟。
时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。
DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。
DS1302是由DS1202改进而来,增加了以下的特性:双电源管脚用于主电源和备份电源供应,Vcc1为可编程涓流充电电源,附加七个字节存储器。
它广泛应用于电话,传真,便携式仪器以及电池供电的仪器仪表等产品领域,下面将主要的性能指标作一综合:**实时时钟具有能计算2100年之前的秒、分、时、日、日期,星期,月,年的能力,还**有闰年调整的能力**318位暂存数据存储RAM**串行I/O口方式使得管脚数量最少**宽范围工作电压2.05.5V**工作电流2.0V时,小于300nA**读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式**8脚DIP封装或可选的8脚SOIC封装根据表面装配**简单3线接口**与TTL兼容Vcc=5V**可选工业级温度范围-40+85**与DS1202兼容**在DS1202基础上增加的特性——对Vcc1有可选的涓流充电能力——双电源管用于主电源和备份电源供应——备份电源管脚可由电池或大容量电容输入——附加的7字节暂存存储器1DS1302的基本组成和工作原理DS1302的管脚排列及描述如下图及表所示管脚描述X1X232.768KHz晶振管脚GND地RST复位脚I/O数据输入/输出引脚SCLK串行时钟Vcc1,Vcc2电源供电管脚订单信息部分#描述DS1302串行时钟芯片8脚DIPDS1302S串行时钟芯片8脚SOIC(200mil)DS1302Z串行时钟芯片8脚SOIC(150mil)2.DS1302内部寄存器CH:时钟停止位:CH=0振荡器工作允许,CH=1振荡器停止;WP:写保护位:WP=0寄存器数据能够写入,WP=1寄存器数据不能写入;寄存器2的第7位,12/24小时标志:bit7=1,12小时模式,bit7=0,24小时模式;寄存器2的第5位:AM/PM定义:AP=0上午模式,AP=1下午模式;(**若为24小时模式,则此位为小时的10位**)TCS:涓流充电选择DS:二极管选择位TCS=1010使能涓流充电DS=01选择一个二极管TCS=其它禁止涓流充电DS=10选择两个二极管DS=00或11,即使TCS=1010,充电功能也被禁止以下为10个寄存器和31字节的SRAM内容,左边的为地址,右边的为每位对应的意思地址字节中的最低一位为读写控制位,0写,1读。
时钟芯片ds1302
时钟芯片ds1302
时钟芯片DS1302是一种具有实时时钟(RTC)功能的集成电路。
该芯片由Maxim Integrated公司生产,广泛用于各种电子
设备中,包括计算机、电视、仪表盘等。
DS1302的主要特性如下:
1. 时钟功能:DS1302可以提供准确的时间和日期信息,并能
够自动调整闰年。
2. 电源管理:芯片内部集成了电源管理电路,可以有效地管理电池的使用,以延长电池寿命。
3. 低功耗:DS1302在运行时非常省电,可通过外部电池供电,在断电时仍能维持时钟运行。
4. 串行接口:芯片通过串行接口与主控制器(如微处理器或单片机)进行通信,方便集成到各种系统中。
5. 多种时间格式:DS1302支持24小时制和12小时制的时间
显示,可以根据需要选择合适的格式。
6. 报警功能:芯片内置了报警功能,可在特定的时间点触发外部中断,用于提醒用户进行相关操作。
7. 温度补偿:DS1302能够通过内部温度传感器进行温度补偿,以提高时钟的准确性。
总的来说,DS1302是一款功能强大且易于使用的时钟芯片,
可以在各种电子设备中提供准确的时间和日期信息。
它的特点包括低功耗、实时时钟功能、串行接口以及报警功能等,非常适合用于需要精准时间计算和管理的应用。
ds1302中文资料
1 DS1302 简介:DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM 数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5~5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。
DS1302的外部引脚分配如图1所示及内部结构如图2所示。
DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。
图1 DS1302的外部引脚分配图2 DS1302的内部结构各引脚的功能为:Vcc1:主电源;Vcc2:备份电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2< Vcc1时,由Vcc1向DS1302供电。
SCLK:串行时钟,输入,控制数据的输入与输出;I/O:三线接口时的双向数据线;CE:输入信号,在读、写数据期间,必须为高。
该引脚有两个功能:第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。
DS1302有下列几组寄存器:① DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h~8Dh,写时80h~8Ch),存放的数据格式为BCD码形式,如图3所示。
图 3 DS1302有关日历、时间的寄存器小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。
当为高时,选择12小时模式。
在12小时模式时,位5是,当为1时,表示PM。
在24小时模式时,位5是第二个10小时位。
秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。
当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。
时钟芯片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 选择两个二极管DS=00 或11, 即使TCS=1010, 充电功能也被禁止时钟: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 数据地址覆给R0MOV 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 年单元内容为00hMOV 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 数据地址覆给R0MOV XmtDat,#88h 数据内容为88hACALL Send_Byte 调用写入数据子程序RET 返回调用本子程序处上面所列出的程序模块Write_Enable Write_Disable Osc_Enable Osc_Disable 与单字节写入模块Write_Singlebyte 的程序架构完全相同仅只是几个入口参数不同本文是为了强调功能使用的不同才将其分为不同模块另外,与涓流充电相关的设定也是单字节操作方式,这里就不再单独列出,用户在使用中可灵活简略.下面模块举例说明如何单字节读出小时单元的内容.Read_Singlebyte:MOV Command,#85h ; 命令字节为85hMOV 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 数据总线上的数据传送给CRRC A 从最低位接收数据SETB SCLK 时钟总线置高NOPCLR SCLK 时钟下降沿接收数据有效DJNZ BitCnt,R_Byte2 位接收未完毕则继续MOV @R1,A 接收到的完整数据字节放入接收内存缓冲区INC R1 接收数据的内存地址加1DJNZ ByteCnt,R_Byte1 字节接收未完毕则继续NOPCLR RST 逻辑操作完毕清RSTRETEND直流参数表:主要电参数表:交流参数表:电容配置表:。
ds1302中文资料
功能特色:●时钟计数功能,可以对秒、分钟、小时、月、星期、年的计数。
年计数可达到2100年。
●有31*8位的额外数据暂存寄存器●最少I/O引脚传输,通过三引脚控制●工作电压:2.0-5.5V●工作电流小于320 纳安(2.0V)●读写时钟寄存器或内部RAM(31*8位的额外数据暂存寄存)可以采用单字节模式和突发模式●8-pin DIP封装或8-pin SOICs●兼容TTL (5.0V)●可选的工业级别,工作温度-40 – 85摄氏度●兼容DS1202较DS1202增加的功能:1.可通过Vcc1进行涓流充电2.双重电源补给3.备用电源可采用电池或者超级电容(0.1F以上),可以用老式电脑主板上的3.6V充电电池。
如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。
100 μF就可以保证1小时的正常走时。
DS1302在第一次加电后,必须进行初始化操作。
初始化后就可以按正常方法调整时间。
功能简述:DS1302包括时钟/日历寄存器和31字节(8位)的数据暂存寄存器,数据通信仅通过一条串行输入输出口。
实时时钟/日历提供包括秒、分、时、日期、月份和年份信息。
闰年可自行调整,可选择12小时制和24小时制,可以设置AM、PM。
只通过三根线进行数据的控制和传递:、、。
通过备用电源可以让芯片在小于1MW的功率下运作。
工作过程:主要工作原理图如Figure 1 所示:移位寄存器,控制逻辑,晶振,时钟和RAM。
在进行任何数据传输时,必须被制高电平(注意虽然将它置为高电平,内部时钟还是在晶振作用下走时的,此时,允许外部读写数据),在每个SCLK上升沿时数据被输入,下降沿时数据被输出,一次只能读写一位,适度还是写需要通过串行输入控制指令来实现(也是一个字节),通过8个脉冲便可读取一个字节从而实现串行输入与输出。
最初通过8个时钟周期载入控制字节到移位寄存器。
如果控制指令选择的是单字节模式,连续的8个时钟脉冲可以进行8位数据的写和8位数据的读操作,SCLK时钟的上升沿时,数据被写入DS1302,SCLK脉冲的下降沿读出DS1302的数据。
DS1302中文资料
DS1302中文资料DS1302是一款低功耗的串行实时时钟芯片,广泛用于各种电子设备中,例如电子表、温度计、计时器等。
该芯片具有高准确度、稳定性和低功耗的特点,功能强大,使用简便。
以下是DS1302芯片的详细中文资料及使用说明。
1.特性:-时钟/日历功能:提供秒、分、时、日期、月份和年份的精确计时和日期记录功能。
-31个可编程的时间/日期寄存器:用于存储时钟和日期信息。
-控制根据电源情况自动选择电池或外部电源。
-8字节RAM用于存储额外的用户信息。
-提供电池低电压检测功能。
-通过3线串行接口与微控制器通讯。
-工作电流小于1.5μA。
2.引脚功能:-VCC:电源正极,3.3V至5V的电源供应。
-GND:地。
-RST:复位引脚,用于启动或复位芯片。
-CLK:时钟引脚,与外部晶振连接。
-DAT:数据引脚,与外部时钟连接。
-VBAT:备用电池引脚,用于提供备用电源。
3.时钟和日历操作:-初始化时钟芯片:首先将RST引脚置为高电平,然后将时钟和日期信息写入相应寄存器。
-读取时钟和日期信息:向相应寄存器发送读取指令,然后从DAT引脚读取数据。
-设置闹钟:将闹钟时间和日期写入相应寄存器,设置闹钟标志位。
-清除闹钟标志位:将闹钟标志位清零,重置闹钟状态。
-自动切换电源:设置使能位,将芯片自动切换为外部电源或电池供电。
4.通信协议:-DS1302使用3线串行接口与微控制器通讯,包括时钟(CLK)、数据(DAT)和复位(RST)引脚。
-通信数据以字节为单位,高位在前,低位在后。
-时钟和数据引脚都是双向引脚,需要使用上拉电阻来保证电平的稳定。
-通信基于时钟的脉冲信号,每个时钟周期有四个时钟脉冲。
5.典型应用:-电子表:DS1302提供精确的时钟和日期计时功能,可用于制作各种类型的电子表。
-温度计:结合温度传感器,可以通过DS1302记录和显示温度信息。
-计时器:通过设置定时器和闹钟功能,可以实现计时和提醒功能。
6.注意事项:-正确连接电源和地引脚,确保电源电压在允许范围内。
DS1302中文资料
DS1302中文资料DS1302是一款数字时钟芯片,具有时钟/日历芯片的功能。
它采用3线串行接口与主控器连接,可提供同步的时钟输出、电池供电的实时时钟、完整的日历功能以及一系列的控制和管理功能。
它广泛应用于各种电子设备和系统中。
1.低功耗:DS1302在备份供电模式下工作时的功耗非常低,可使电池的使用寿命更长。
2.时钟功能:DS1302能够提供年、月、日、小时、分钟和秒的时钟信息,精确到秒。
它还可以设置闹钟功能,方便用户设定定时提醒。
3.电压监测:DS1302可以监测电池电压,当电池电压低于一些阈值时,会产生中断信号,以便提醒用户更换电池。
4.温度监测:DS1302内置温度传感器,可以监测环境温度,并提供相应的温度值。
5.数据存储:DS1302具有非易失性存储器,可以保存时钟和日历信息,即使在断电情况下也能保持数据稳定。
使用DS1302的步骤如下:1.硬件连接:将DS1302芯片与主控器连接。
DS1302需要连接VCC(3.3V或5V电源)、GND(地)以及主控器的数据线(DIO)、时钟线(SCLK)和复位线(RST)。
2.时钟设置:在正常工作模式下,向DS1302写入相应的年、月、日、小时、分钟和秒的数据,即可设置时钟。
DS1302支持24小时制和12小时制,可以根据需要选择。
3.读取时钟:通过读取DS1302的相应寄存器,可以获取当前的时钟信息。
可以先读取秒寄存器,再读取分、时、日、月和年的寄存器,以获得完整的时钟信息。
5.闹钟设置:DS1302支持设置闹钟功能。
通过读取和写入相应的寄存器,可以设置闹钟的小时和分钟,并可以选择是否启用闹钟功能。
6.温度监测:DS1302可以读取内置温度传感器的数值,并将其转换为摄氏温度。
通过读取相应的寄存器,可以获取当前的温度值。
7.电压监测:DS1302可以监测电池电压,并在电池电压低于设定阈值时产生中断信号。
通过读取相应的寄存器,可以获取当前的电池电压值。
单片机入门培训专题(二十二)-DS1302时钟芯片详解①
单片机入门培训专题(二十二)-DS1302时钟芯片详解①单片机入门培训专题已接近尾声,预计在五期之内结束,如果你希望看到其他方面的电子DIY相关专题,欢迎通过平台回复给我们,我们将尽力满足大家的需求。
对于很多单片机系统的设计,会涉及到绝对时间的应用,比较常用的一款时钟芯片莫过于DS1302,今天我们来重点了解一下DS1302时钟芯片的电气连接相关内容22.1DS1302芯片概述DS1302是DALLAS(达拉斯)公司出的一款涓流充电时钟芯片,2001年DALLAS被MAXIM(美信)收购,因此我们看到的DS1302的数据手册既有DALLAS的标志,又有MAXIM的标志,大家了解即可。
DS1302实时时钟芯片广泛应用于电话、传真、便携式仪器等产品领域,他的主要性能指标如下1、DS1302是一个实时时钟芯片,可以提供秒、分、小时、日期、月、年等信息,并且还有软件自动调整的能力,可以通过配置AM/PM来决定采用24小时格式还是12小时格式。
2、拥有31字节数据存储RAM。
3、串行I/O通信方式,相对并行来说比较节省IO口的使用。
4、DS1302的工作电压比较宽,大概是2.0V~5.5V都可以正常工作。
5、DS1302这种时钟芯片功耗一般都很低,它在工作电压2.0V的时候,工作电流小于300nA。
6、DS1302共有8个引脚,有两种封装形式,一种是DIP-8封装,芯片宽度(不含引脚)是300mil,一种是SOP-8封装,有两种宽度,一种是150mil,一种是208mil。
7、当供电电压是5V的时候,兼容标准的TTL电平标准,这里的意思是,可以完美的和单片机进行通信。
8、由于DS1302是DS1202的升级版本,所以所有的功能都兼容DS1202。
此外DS1302有两个电源输入,一个是主电源,另外一个是备用电源,比如可以用电池或者大电容,这样是为了保证系统掉电的情况下,我们的时钟还会继续走。
如果使用的是充电电池,还可以在正常工作时,设置充电功能,给我们的备用电池进行充电。
ds1302时钟芯片介绍
寄存器名称 取值范围 D7 D6 D5 D4 D3 D2 D1 D0
秒寄存器 00~59 CH 秒的十位
秒的个位
分寄存器 00~59 0
分的十位
分的个位
小时寄存器
01~12或 00~23
12/24
0
A/P
HR
小时的个位
日寄存器 01~31 0 0 日的十位 日的个位
寄存器名称
取值 D7 D6 D5 D4 D3 D2 D1 D0 范围
月寄存器 01~12 0 0 0 1或0 月的个位
星期寄存器 01~07 0 0 0 0
星期几
年寄存器 01~99
年的十位
年的个位
写保护寄存器
WP 0 0 0 0 0 0 0
慢充电寄存器
TCS TCS TCS TCS DS DS RS RS
时钟突发寄存器
说明: (1)数据都以BCD码形式。 (2)小时寄存器的D7位为12小时制/24小时制 的选择位,当为1时选12小时制,当为0时选24小 时制。当12小时制时,D5位为1是上午,D5位为0 是下午,D4为小时的十位。当24小时制时,D5、 D4位为小时的十位。 (3)秒寄存器中的CH位为时钟暂停位,当为1 时钟暂停,为0时钟开始启动。
4)写保护寄存器中的WP为写保护位,当WP=1,写保 护,当WP=0未写保护,当对日历、时钟寄存器或片 内RAM进行写时WP应清零,当对日历、时钟寄存器 或片内RAM进行读时WP一般置1。
(5)慢充电寄存器的TCS位为控制慢充电的选择,当 它为1010才能使慢充电工作。DS为二极管选择位。 DS为01选择一个二极管,DS为10选择二个二极管, DS为11或00充电器被禁止,与TCS无关。RS用于选 择连接在VCC2与VCC1之间的电阻,RS为00,充电器 被禁止,与TCS无关,电阻选择情况见表.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
若采用单片机计时,一方面需要采用计数器,占用硬件资 源,另一方面需要设置中断、查询等,同样耗费单片机的 资源,而且,某些测控系统可能不允许。但是,如果在系 统中采用时钟芯片DS1302,则能很好地解决这个问题。 DS1302内含一个实时时钟/日历和31个字节静态RAM,通 过简单的串行接口与单片机进行通信,实时时钟./日历电 路提供秒、分、时、日、日期、月、年信息,每月的天数 和闰年的天数可自动调整,时钟操作可通过AM/PM设置 决定采用24小时或12小时式,DS1302 与单片机之间能简单 地采用同步串行的方式进行通信,仅需要用到3 个口线: RES复位、I/O数据线、SCLK串行时钟;对时钟、RAM的 读/写,可以采用单字节方式或多达31 个字节的字符组方 式。DS1302工作时,功耗很低,保持数据和时钟信息时功 率小于1mW。DS1302广泛用于电话传真、便携式仪器及电 池供电的仪器仪表等产品领域中。
// 单字节读,读取DS1302某个地址的数据,先写地址, 后读命令/数据 //----------------------------------------------------------------------------------------------------------------uchar R1302(uchar ucAddr) { uchar ucDa; T-RST=0; T-CLK=0; T-RST=1; Nop ( ); WriteB(ucAddr); //写地址 ucDa= ReadB( ); //读 1字节命令/数据 T-CLK=1; T-RST=0; return(ucDa); }
(2) DS1302与单片机的接口 图14.15中在单电源与电池供电的系统中,VCC1提供低功 率的备用电池,VCC2提供主电源,在没有主电源时能保 证时间信息以及数据。 (3) DS1302读写时序 DS1302单字节读写时序见图14.16,多字节读写时序见图 14.17。
(1)控制寄存器 控制寄存器用于存放DS1302 的控制命令, DS1302 的引脚回到高电
其中: D7:固定为1,是控制命令标志。 D6:RAM/位,片内RAM或日历、时钟寄存器选择位,当RAM/=1时, 对片内RAM进行读写,当RAM/=0 时,对日历、时钟寄存器进行读写。 D5~D1:地址位,用于选择进行读写的日历、时钟寄存器或片内 RAM。对日历时钟寄存器或片内RAM的选择见表14.4。
说明:
数据都以BCD码形式表示 小时寄存器的D7 位为12小时制/24小时制的选择位,当为1时选12 小时制,当为0 时,选24小时制。当12小时制时,D 5位为1时为上 午,D5位为0时为下午,D4为小时的十位;当24小时制时, D5\D4\位为小时的十位。 秒寄存器中的CH位为时钟暂停位,当为1 时,时钟暂停,为0时时 钟开始启动。 写保护寄存器中的WP为写保护位,当WP =1 时,写保护。当 WP=0时未写保护,当对日历、时钟寄存器或片内RAM 进行写时 WP 应清零,对日历、时钟寄存器或片内RAM进行读时WP一般置 为1。 慢充电寄存器的TCS为控制慢充电的选择,当它为1010时才能使慢 充电工作。DS为二极管选择位,DS为01 选择一个二极管,DS 为 10 选择两个二极管,DS 为11 或00 充电器被禁止,与TCS无关。 RS 用于选择连接在VCC2 与VCC1之间的电阻,RS为00,充电器被 禁止,与TCS无关。电阻选择情况见表14.6,慢充电电路示意图见 图14.14。
// 从DS1302读1字节数据 //----------------------------------------------------------------------------------------------------------------uchar ReadB (void) { uchar i; T-RST=1;//开始读写操作 Nop ( ); for ( i=8; i>0; i--) { ACC= ACC>>1; //结果右移一位,先读低位,后读高位 ACC7=T-IO; //读一位,放累加器最高位 Nop ( ); CLK=1;//读有效 Nop ( ); CLK=0;// 时钟=0,准备下次读 Nop ( ); } return(ACC);//返回读的结果 }
// 单字节写,向DS1302 某地址写入命令/数据,先写地址, 后写命令/数据 //----------------------------------------------------------------------------------------------------------------void W1302(uchar ucAddr , uchar ucDa) { T-RST=0; T-CLK=0; T-RST=1; //开始读写操作 WriteB(ucAddr); //写地址 WriteB(ucda); //写1字节数据 T-CLK=1; Nop ( ); T-RST=0; }
图中要特别说明的是备用电源B1,可以用电池或者超 级电容器(0.1F以上)。虽然DS1302在主电源掉电后的耗电 很小,但是,如果要长时间保证时钟正常,最好选用小型 充电电池。可以用老式电脑主板上的3.6V充电电池。如果 断电时间较短(几小时或几天)时,就可以用漏电较小的普 通电解电容器代替。100 μF就可以保证1小时的正常走时。 DS1302在第一次加电后,必须进行初始化操作。初始化后 就可以按正常方法调整时间。 DS1302 存在时钟精度不高,易受环境影响,出现时钟混 乱等缺点。DS1302可以用于数据记录,特别是对某些具有 特殊意义的数据的记录,能实现数据与出现该数据的时间 同时记录。这种记录对长时间的连续测控系统结果的分析 及对异常数据出现的原因的查找具有重要意义。传统的数 据记录方式是隔时采样或定时采样,没有具体的时间记录, 因此,只能记录数据而无法准确记录其出现的时间;
14.3.1 串行日历时钟芯片 DS 1302 简 介
现在流行的串行时钟电路很多,如DS1302、 DS1307、 PCF8485等。这些电路的接口简单、价格低廉、使用方便, 被广泛地采用。本文介绍的实时时钟电路DS1302是 DALLAS公司的一种具有涓细电流充电(trickle charge;maintenance charge 连续小电流充电,又称维护充电) 能力的电路,主要特点是采用串行数据传输,可为掉电保 护电源提供可编程的充电功能,并且可以关闭充电功能。 采用普通32.768kHz晶振。 DS1302的引脚排列中有二个电源脚,其中VCC1为后备电 源,VCC2为主电源。在主电源关闭的情况下,也能保持 时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供 电。当V cc2大于V cc1+0.2V时,V cc2给DS1302供电。当 Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源, 外接32.768kHz晶振。RST是复位/片选线。
(4)DS1302读写参数 DS1302读写参数对于驱动程序的正确编写有很重要的参考 价值,如果程序执行不稳定,请仔细分析时序和读写参数, 调整指令之间延时,协调硬件动作。读操作时序见图14.18, 写操作时序见图14.19;参数见表14.7。 (5)DS 1302 的驱动程序如下:在程序中用Nop()函数 来延时,该函数在头文件<intrins.h>中定义,因此在程序 中引用该文件。在主频12M时,每调用Nop()一次,大 约延时1。 #include <reg51.h> #include <intrins.h> #deffine Nop ( ) –nop-( ) //定义指令 #defined uchar unsigned char sbit T-CLK= p1^0; //DS1302时钟引脚 sbit T-IO = p1^1; //DS1302数据线引脚 sbit T-RST= p1^2; //DS1302复位线引脚 sbit ACC7= ACC^7; sbit ACC0= ACC^0;
2.引脚功能 DS1302 的引脚如图14.13所示。
其中: X1、X2 :32.76KHZ晶振接入引脚。 GND:地。 RST:复位引脚,低电平有效。 I/O:数据输入/输出引脚,具有三态功能。 SCLK:串行时钟输入引脚。 VCC1:工作电源引脚。 VCC2:备用电源引脚。 3.DS1302 的寄存器及片内RAM DS1302有一个控制寄存器,12个日历、时钟寄存 器和31个字节RAM。
1.DS1302的主要性能指标 (1)DS1302实时时钟具有计算2100年之前的秒、分、时、 日、日期、星期、月、年的能力,还有闰年调整功能。 (2)内部采用含有31个字节静态RAM,可提供用户访问。 (3)采用串行数据传送方式,使得管脚数量最少,使用 简单3 线制接口。 (4)工作电压范围宽:2.0~5.5V。 (5)工作电流:2.0V时,小于 300 mA。 (6)时钟或RAM数据的读写有两种传送方式:单字节传 送和多字节传送方式。 (7)采用8 脚DIP封装或SOIC封装。 (8)与TTL兼容,VCC=5V。 (9)可选工业级温度范围:-40.C~+85℃。 (10)具有涓流充电功能。 (11)采用主电源和备份电源双电源供应。 (12)备份电源可由电池或大容量电容实现。
Байду номын сангаас
DS 1302 通过引脚驱动输入输出过程,当置高电平 启动输入输出过程,在SCLK时钟的控制下,首先 把控制命令字写入DS1302的控制寄存器中,其次 根据写入的控制命令字,一次读写内部寄存器或 片内RAM单元的数据,对于日历、时钟寄存器、 根据控制命令字,一次可以读写一个日历、时钟 寄存器、也可以一次读写8 个字节,对所有的日 历、时钟寄存,写的控制命令为0XBE,读的控制 命令字为0XBF;对于片内RAM 单元,根据控制 命令字,一次可读写一个字节,一次也可以读写 31 个字节,当数据读写完后,变为低电平结束输 入输出过程。无论是命令还是数据,一个字节传 送时都是低位在前。