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
Vcc1:主电源;Vcc2:备份电 Vcc1:主电源;Vcc2:备份电 源。当Vcc2>Vcc1+0.2V时,由 源。当Vcc2>Vcc1+0.2V时,由 Vcc2向DS1302供电,当Vcc2< Vcc2向DS1302供电,当Vcc2< Vcc1时,由Vcc1向DS1302供电。 Vcc1时,由Vcc1向DS1302供电。 SCLK:串行时钟,输入,控制 SCLK:串行时钟,输入,控制 数据的输入与输出; I/O:三线接口时的双向数据线; I/O:三线接口时的双向数据线; CE:输入信号,在读、写数据 CE:输入信号,在读、写பைடு நூலகம்据 期间,必须为高。
DS1302的寄存器 DS1302的寄存器
DS1302的控制字 DS1302的控制字
• 控制字的最高有效位(位7)必须是逻辑1,如果 控制字的最高有效位(位7)必须是逻辑1 • • •
它为0,则不能把数据写入到DS1302中。 它为0,则不能把数据写入到DS1302中。 位6:如果为0,则表示存取日历时钟数据,为1表 :如果为0,则表示存取日历时钟数据,为1 示存取RAM数据; 示存取RAM数据; 位5至位1(A4~A0):指示操作单元的地址; 至位1 A4~A0):指示操作单元的地址; 位0(最低有效位):如为0,表示要进行写操作, (最低有效位):如为0 为1表示进行读操作。
电路原理图
• DS1302与单片机的连接也仅需要3条线:CE引脚、 DS1302与单片机的连接也仅需要3条线:CE引脚、
SCLK串行时钟引脚、I/O串行数据引脚,Vcc2为 SCLK串行时钟引脚、I/O串行数据引脚,Vcc2为 备用电源,外接32.768kHz晶振,为芯片提供计时 备用电源,外接32.768kHz晶振,为芯片提供计时 脉冲。
时钟芯片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, 充电功能也被禁止RS位电阻典型位00没有没有01R12KΩ10R24KΩ11R38KΩ时钟: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 DA TA 40H ; 接收数据缓冲区XmtDat DATA 50H ; 发送数据缓冲区;端口位定义IO_DA TA 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_DA TA,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 发送数据的内存地址加1 DJNZ 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_DA TA,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直流参数表:主要电参数表:交流参数表:电容配置表:本文来自: 原文网址:/info/commonIC/0083003.html。
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芯片 - 引脚功能及结构
美国DALLAS 公司推出的具有涓细电流充电能力的低功耗实时时钟电路DS1302的结构、工作原理及其在实时显示时间中的应用。
它可以对年、月、日、周日、时、分、秒进行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为串行数据输入输出端(双向,后面有详细说明。
控制字节的最高有效位(位7 必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM 数据; 位5至位1指示操作单元的地址; 最低有效位(位0 如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
在控制指令字输入后的下一个SCLK 时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。
同样,在紧跟8位的控制指令字后的下一个SCLK 脉冲的下降沿读出DS1302DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD 码形式此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM 相关的寄存器等。
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中文资料
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涓流充电时钟芯片一、特性1、实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数,有效期2100年;2、用于高速数据暂存的31×8 RAM;3、最少引脚数的串行I/O;4、2.0-5.5V满度工作范围;5、2.5V时耗电小于300nA;6、用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送;7、8引脚DIP或可选的用于表面安装的8引脚SOIC封装;8、简单的3线接口;9、TTL兼容(VCC=5V);10、可选的工业温度范围-40℃至+85℃;11、与DS1202兼容。
二、引脚排列DS1302引脚封装图如下图1所示图1 DS1302引脚封装图三、引脚说明①X1,X2:32.768kHz晶振引脚;②GND:接地;③RST:复位;④I/O:数据输入/输出;⑤SCLK:串行时钟;⑥VCC1,VCC2:电源引脚。
四、说明DS1302慢速充电时钟芯片包括实时时钟/日历和31字节的静态RAM。
它经过一个简单的串行接口与微处理器通信。
实时时钟/日历提供秒、分、时、日、周、月和年等信息。
对于小于31天的月,月末的日期自动进行调整,还包括了闰年校正的功能。
时钟的运行可以采用24小时或带AM(上午)/PM(下午)的12小时格式。
使用同步串行通信,简化了DS1302与微处理器的通信。
与时钟/RAM通信仅需三根线:(1)RST(复位)、(2)I/O(数据线)、和(3)SCLK (串行时钟)。
数据可以以每次一个字节或多达31字节的多字节形式传送至时钟/RAM或从其中送出。
DS1302设计成能在非常低的功耗下工作,消耗小于1微瓦的功率便能保存数据和时钟信息。
DS1302是DS1202的升级产品,除了DS1202基本的慢速充电功能外,DS1302具有的其它特点包括:用于主电源和备份电源的双电源引脚,可编程的VCC1慢速充电器以及7个附加字节的高速暂存存储器(scratchpad memory)。
DS1302是Dallas公司生产的一种实时时钟芯片
DS1302是Dallas公司生产的一种实时时钟芯片。
它通过串行方式与单片机进行数据传送,能够向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息,并可对月末日期、闰年天数自动进行调整;它还拥有用于主电源和备份电源的双电源引脚,在主电源关闭的情况下,也能保持时钟的连续运行。
另外,它还能提供31字节的用于高速数据暂存的RAM。
鉴于上述特点,DS1302已在许多单片机系统中得到应用,为系统提供所需的实时时钟信息。
一、DS1302的主要特性1. 引脚排列500)this.width=500 border=0>图1 DS1302引脚排列图DS1302的引脚排列如图1所示,各引脚的功能如下:X1,X2——32768Hz晶振引脚端;RST——复位端;I/O——数据输入/输出端;SCLK——串行时钟端;GND——地;VCC2,VCC1——主电源与后备电源引脚端。
2. 主要功能DS1302时钟芯片内主要包括移位寄存器、控制逻辑电路、振荡器、实时时钟电路以及用于高速暂存的31字节RAM。
DS1302与单片机系统的数据传送依靠RST,I/O,SCLK三根端线即可完成。
其工作过程可概括为:首先系统RST引脚驱动至高电平,然后在作用于SCLK时钟脉冲的作用下,通过I/O引脚向DS1302输入地址/命令字节,随后再在SCLK时钟脉冲的配合下,从I/O引脚写入或读出相应的数据字节。
因此,其与单片机之间的数据传送是十分容易实现的。
二、时钟的产生及存在的问题(1) 在实际使用中,我们发现DS1302的工作情况不够稳定,主要表现在实时时间的传送有时会出现误差,有时甚至整个芯片停止工作。
我们对DS1302的工作电路进行了分析,其与单片机系统的连接如图2所示。
从图中可以看出,DS1302的外部电路十分简单,惟一外接的元件是32768Hz的晶振。
通过实验我们发现:当外接晶振电路振荡时,DS1302计时正确;当外接晶振电路停振时,DS1302计时停止。
ds1302
ds13022011-09-08 19:49ds1302是一种常见的时钟芯片,这里大致介绍一下基本用法,如果想要更加详细的资料,请别处寻找。
ds1302有八个引脚:Vcc1:主电源 2.5~5.5VVcc2:辅助电源,用电池供电。
而且主电源还可以向其充电X1:这两个引脚接32.768kHz 晶振,这个晶振值正好是一秒X2:这三个引脚是通信用的SCLK: 时钟端I/O: 数据端RST: 复位端GND:地数据的传输:读一个字节:在时钟的上升沿对数据线进行采样,连续八次,低位在先写一个字节:在时钟的下降沿对数据线进行赋值,连续八次,低位在先这里注意时序和延时,一开始我用proteus正确仿真出来,但是在硬件上总是数据不对,后来发现延时不够,ds1302的处理速度跟不上,所以注意延时是很重要的。
程序这样写,注意写一个精确的延时是很重要的,我用汇编写的,误差小于1微秒。
void DS1302_WriteByte(unsigned char dat){unsigned char i;IO_D = 1;for(i = 0;i < 8;i++) //写8位,低位在前{SCLK = 0;if(dat & 0x01) //写数据位{TIO = 1;}else{TIO = 0;}SCLK = 1;dat >>= 1; //数据右移1位}}unsigned char DS1302_ReadByte(void){unsigned char i,dat = 0; //dat存放读出的数据,初始化为0IO_D = 0;for(i = 0;i < 8;i++) //读8位,低位在前,右移{SCLK = 1;dat = dat>>1;Delayus(1);SCLK = 0;Delayus(1);dat |=RIO<<7;}return dat; //返回读出的数据}ds1302的内部寄存器,这里只介绍常用的几个:秒分时日月年还用“星期几”,注意有两组,分为读写,地址是不同的。
DS1302
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, 充电功能也被禁止RS位电阻典型位00没有没有01R12KΩ10R24KΩ11R38KΩ时钟: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 DA TA 40H ; 接收数据缓冲区XmtDat DATA 50H ; 发送数据缓冲区;端口位定义IO_DA TA 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_DA TA,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 发送数据的内存地址加1 DJNZ 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_DA TA,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直流参数表:主要电参数表:交流参数表:电容配置表:--------------------------------------------------------------------------------本文来自: 原文网址:/info/commonIC/0083003.html 本文来自: 原文网址:/info/commonIC/0083003.html 本文来自: 原文网址:/info/commonIC/0083003.html 本文来自: 原文网址:/info/commonIC/0083003.html。
ds1302芯片介绍,ds1302工作原理解析
ds1302 芯片介绍,ds1302 工作原理解析时钟小编相信大家见怪不怪了,那幺时钟芯片大家知道是什幺吗?今天我们就来谈谈最常用的时钟芯片ds1302,主要通过ds1302 芯片的介绍和ds1302 芯片的工作原理方面来解析。
ds1302 芯片介绍DS1302 是美国DALLAS 公司推出的一种高性能、低功耗的实时时钟芯片,附加31 字节静态RAM,采用SPI 三线接口与CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM 数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31 天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5~5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。
DS1302 的外部引脚分配如图1 所示及内部结构如图2 所示。
DS1302 用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。
ds1302 工作原理解析DS1302 工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8 位地址和命令信息装入移位寄存器。
数据在时钟(SCLK)的上升沿串行输入,前8 位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。
时钟脉冲的个数在单字节方式下为8+8(8 位地址+8 位数据),在多字节方式下为8 加最多可达248 的数据。
对DS1302 的操作就是对其内部寄存器的操作,DS1302 内部共有12 个寄存器,其中有7 个寄存器与日历、时钟相关,存放的数据位为BCD 码形式。
此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM 相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。
日历、时间寄存器及控制字如表1 所示:日历、时钟寄存器与控制字对照表DS14302 内部主要寄存器分布表DS1302 内部的RAM 分为两类,一类是单个RAM 单元,共31 个,每个单元为一个8 位的字节,其命令控制字为COH~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM,此方式下可一次性读写所有的RAM 的31 个字节,命令控制字为FEH(写)、FFH(读)。
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是一种实时时钟芯片,主要用于计算机系统、通信设备、智能家居等领域。
本手册旨在提供DS1302的详细说明和操作方法,帮助用户正确使用该芯片。
二、芯片特性1. 基本特性:- 日期格式:年-月-日- 时间格式:时:分:秒- 温度测量范围:-55℃至+125℃- 时钟频率:32768Hz2. 时钟控制:- 时钟源选择:外部或内部- 时钟暂停功能- 时钟调制功能三、引脚定义DS1302具有8个引脚,分别为:1. X1:外部时钟输入端2. X2:外部时钟输出端3. Vcc:供电正极4. GND:地5. SDA:串行数据输入/输出端6. SCLK:串行数据时钟输入端7. RST:复位控制端8. BAT:电池输入端四、工作原理DS1302基于Bipolar CMOS技术,通过外部提供的时钟信号进行时间计数和存储。
芯片内部包含时钟控制电路、RAM存储器、温度计和时钟计数器等功能模块,通过串行通信协议与外部设备进行数据传输。
五、使用方法1. 芯片初始化:- 将X1和X2连接外部时钟源- Vcc与电源正极相连- GND与地相连2. 设定时间:- 通过串行数据输入将年、月、日、时、分、秒信息写入相应寄存器- 通过串行数据输入将温度信息写入相应寄存器(可选)3. 读取时间:- 通过串行数据输出获取年、月、日、时、分、秒信息- 通过串行数据输出获取温度信息(可选)4. 设置时钟暂停:- 通过串行数据输入将时钟控制字节写入相应寄存器控制位,实现时钟暂停功能5. 时钟调制:- 通过串行数据输入将时钟调制字节写入相应寄存器控制位,实现时钟调制功能六、注意事项1. 确保正确接线,避免短路或浮空引脚2. 使用合适的外部时钟源,确保时钟的准确性3. 避免频繁的读写操作,以延长芯片的使用寿命4. 根据实际需求进行合理设置,避免不必要的功能开启5. 定期校准芯片时间,确保准确性七、总结本手册介绍了DS1302的特性、引脚定义、工作原理以及使用方法,并提供了一些注意事项供用户参考。
DS1302_zx
DS1302时钟芯片各引脚的功能为8 、Vcc1:备用电池端;1、Vcc2:5V电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2< Vcc1时,由Vcc1向DS1302供电。
7、SCLK:串行时钟,输入;6、I/O:数据输入输出口;5、CE/RST:复位脚2 3、X1、X2 是外接晶振脚(32.768KHZ的晶振)4 地(GND)5 DS1302 5V工作电压时最大速率是2M Hz这张表是DS1302内部的7个与时间、日期有关的寄存器图和一个写保护寄存器,我们要做的就是将初始设置的时间、日期数据写入这几个寄存器,然后再不断地读取这几个寄存器来获取实时时间和日期。
3、控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。
在对任何的时钟和RAM的写操作之前,WP位必须为0。
当WP位为1时,写保护位防止对任一寄存器的写操作。
也就是说在电路上电的初始态WP是1,这时是不能改写上面任何一个时间寄存器的,只有首先将WP改写为0,才能进行其它寄存器的写操作。
读数据:读数据时在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据是从最低位到最高位。
写数据:控制字总是从最低位开始输出。
在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入也是从最低位(0位)开始(一定要严格安然时序图的要求一步步写程序)DS18B20的写入的时间数据和读得的时间数据都是BCD码。
//当N=1时,是将十进制转换成BCD码,当N=0时,是将BCD码转换成十进制,uint8 BCD(uint8 date,uint8 N){uint8 date1;if(N)date1=date/10*16+date%10;elsedate1=date/16*10+date%16;return date1;}读一次数据就要写一次写保护。
ds1302时钟芯片介绍ppt课件
(6)时钟或RAM数据的读/写有两种传送方式: 单字节传送和多字节传送方式。
(7)采用8脚DIP封装或SOIC封装。 (8)与TTL兼容,Vcc=5V。 (9)可选工业级温度范围:-40C~+85C。 (10)具有涓流充电能力。 (11)采用主电源和备份电源双电源供应。 (12)备份电源可由电池或大容量电容实现。
当控制命令字为FEH、FFH时为多字节操作 (表中的RAM突发模式),多字节操作可一次 把所有的RAM单元内容进行读写。FEH为写操 作,FFH为读操作。
第16页
(四) DS1302的输入输出过程
1. 置RST高电平启动输入输出过程,
2. 在SCLK时钟的控制下,控制命令字写入DS1302的控制
寄存器,
第14页
RS位 00 01 10 11
电阻器 无 R1 R2 R3
阻值 无 2K 4K 8K
第15页
(三)片内RAM
DS1302 片 内 有 31 个 RAM 单 元 , 对 片 内 RAM的操作有两种方式:单字节方式和多字节 方式。当控制命令字为C0H~FDH时为单字节读 写 方 式 , 命 令 字 中 的 D5~D1 用 于 选 择 对 应 的 RAM单元,其中奇数为读操作,偶数为写操作。
3. 根据写入的控制命令字,依次读写内部寄存器或片内
RAM单元的数据,
4. 对于日历、时钟寄存器,根据控制命令字,一次可以读
寄存器名称 取值范围 D7 D6 D5 D4 D3 D2 D1 D0
秒寄存器 00~59 CH 秒的十位
秒的个位
分寄存器 00~59
0
分的十位
分的个位
小时寄存器
01~12或 00~23
12/24
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无关,电阻选择情况见表.
DS1302中文资料,带源代码
DS1302 引脚
X1 X2 32.768KHz 晶振管脚 GND 地 CE 复位脚 I/O 数据输入/输出引脚 SCLK 串行时钟 Vcc1,Vcc2 电源供电管脚
各引脚的功能为:
Vcc1:主电源;Vcc2:备份电源。当Vcc2>Vcc1+0.2V时,由Vcc2 向DS1302供电,当Vcc2< Vcc1时,由Vcc1向DS1302供电。 SCLK:串行时钟,输入,控制数据的输入与输出; I/O:三线接口时的双向数据线; CE:输入信号,在读、写数据期间,必须为高。该引脚有两个功能: 第一,CE开始控制字访问移位寄存器的控制逻辑;其次, CE 提供结束单字节或多字节数据传输的方法。
参考电路:
如上图所示: DS1302 与单片机的连接也仅需要 3 条线:CE 引脚、SCLK 串行时钟 引脚、I/O 串行数据引脚,Vcc2 为备用电源,外接 32.768kHz 晶振, 为芯片提供计时脉冲。
实际电路:
Vcc_5V:为电路中的主电源;Vcc2,也就是 BT1 为备份电源。当 Vcc2>Vcc1+0.2V 时, 由 Vcc2 向 DS1302 供 电 , 当 Vcc2< Vcc1 时 , 由 Vcc1 向 DS1302 供电 CLK 和 I/O 虽然和 IIC 总线接在一条引脚上,但 DS1302 其实并不是 使用 IIC 总线,而是一种三线式总线,
delayus(2); } return dat;//返回读取出的数据 }
寄存器和 RAM
对 DS1302 的操作就是对其内部寄存器的操作,DS1302 内部共有 12 个寄存器, 其中有: 7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式。 此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器 及与 RAM 相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。 如下所示:
ds1302资料
2 DS1302的结构及工作原理3 DS1302实时显示时间的软硬件4 调试中问题说明5 结论[编辑本段]1 摘要介绍美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路DS1302的结构、工作原理及其在实时显示时间中的应用。
它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多种功能。
给出DS1302在读写中的C51程序及流程图,以及在调试过程中的注意事项。
关键词:时钟电路;实时时钟;单片机;应用[编辑本段]1 引言现在流行的串行时钟电路很多,如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 引脚功能及结构DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1和X2是振荡源,外接32.768kHz晶振。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路DS1302的结构、工作原理及其在实时显示时间中的应用。
它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多种功能。
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为时钟输入端。
控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。
同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302
的数据,读出数据时从低位0位到高位7。
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。
DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。
为了实现系统报警计时等功能,此设计采用了DS302实时时钟芯片。
DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、
周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
2.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始终是输入端。
实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可。
只是选择晶振时,不同的晶振,误差也较大。
另外,还可以在上面的电路中加入DS18B20,同时显示实时温度。
只要占用CPU一个口线即可。
LCD还可以换成LED,还可以使用北京卫信杰科技发展有限公司生产的10位多功能8段液晶显示模块LCM101,内含看门狗(WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示RAM,可显示任意字段笔划,具有3-4线串行接口,可与任何单片机、IC接口。
功耗低,显示状态时电流为2μA (典型值),省电模式时小于1μA,工作电压为2.4V~3.3V,显示清晰。