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中文资料概述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中文手册

I特性★ 实时时钟计算年、月、日、时、分、秒、星期,直到2100年,并有闰年调节功能★ 31 x 8位 通用暂存RAM ★ 串行输入输出使管脚数最少 ★ 2.0V 至 5.5V 宽电压范围操作 ★ 在2.0V 时工作电流小于300nA★ 读写时钟或RAM 数据时有单字节或 多字节(脉冲串模式)数据传送方式 ★ 8管脚 DIP 封装或可选的8管脚 表面安装SO 封装 ★ 简单的3线接口★ 与TTL 兼容 (VCC = 5V)★ 可选的工业温度范围:-40°C to +85°C ★ 与DS1202兼容★ 美国保险商试验室(UL®)认证 订货信息型号 温度范围 管脚封装 顶端标志+表示无铅/符合RoHS 标准的封装.*顶端标识上的N 表示工业温度范围器件,A 表示无铅器件.UL 是美国保险商试验室的注册商标.详细描述DS1302涓流充电计时芯片包含一个实时时钟/日历和31字节的静态RAM.通过简单的串行接口与微处理器通讯.这个实时时钟/日历提供年月日,时分秒信息.对于少于31天的月份月末会自动调整,还有闰年校正.由于有一个AM/PM 指示器,时钟可以工作在12小时制或者24小时制。

使用同步串行通讯简化了DS1302与微处理器的接口。

与时钟/RAM 通讯只需要三根线: CE, I/O (数据线), and SCLK (串行时钟). 数据输出输入时钟/RAM 一次1字节或者在脉冲串中多管脚定义 D S 1302涓流充电计时芯片达31字节. DS1302被设计工作在非常低的电能下,在低于1μW 时还能保持数据和时钟信息. DS1302是DS1202的后继者. 除了DS1202的基本计时功能以外, DS1302有额外特点比如,双管脚主电源和备用电源,可编程涓流充电器V CC1,还附加7字节的暂存器.操作图1显示了串行计时器的主要元素:移位寄存器,控制逻辑,振荡器,实时时钟,还有RAM.典型工作电路图1 框图:典型工作性能(V C C = 3.3V , T A = +25°C ,除非另外声明.)电源控制输入 移位 寄存器命令控制逻辑实时时钟管脚描述管脚 名称 功能1V CC2双供电配置中的主电源供应管脚,V CC1连接到备用电源,在主电源失效时保持时间和日期数据.D S1302工作于V CC1和V CC2中较大者.当V CC2比V CC1高0.2V时,V CC2 给 D S1302供电.当V CC1比V CC2高时, V CC1给D S1302供电.2X1 3X2与标准的32.768k H z石英晶体相连.内部振荡器被设计与指定的6p F 装载电容的晶体一起工作.更多关于晶体选择和布局注意事项的信息请参考应用笔记58页:D a l l a s实时时钟晶振注意事项.D S1302也可以被外部的32.768k H z振荡器驱动.这种配置下,X1与外部震荡信号连接,X2悬浮.4G N D电源地5C E输入.C E信号在读写时必须保持高电平.此管脚内部有一个40kΩ(典型值)的下拉电阻连接到地.注意:先前的数据手册修正把C E当作R S T.管脚的功能没有改变.6I/O输入/推挽输出.I/O管脚是三线接口的双向数据管脚.此管脚内部有一个40kΩ(典型值)的下拉电阻连接到地.7S C L K输入.S C L K用来同步串行接口上的数据动作.此管脚内部有一个40kΩ(典型值)的下拉电阻连接到地.8V CC1低功率工作在单电源和电池工作系统和低功率备用电池.在使用涓流充电的系统中,这个管脚连接到可再充能量源.U L认证在使用锂电池时确保避免反向充电电流.详见w w w.m a x i m i c.c o m/T e c h S u p p o r t/Q A/n t r l.h t m.振荡电路D S1302使用一个外部32.768k H z晶体.振荡电路工作时不需要任何外接的电阻或者电容表1 详细指明了几个外部晶体的参数.图1 显示了震荡电路的功能简图.如果使用指定规格的晶体,启动时间通常少于1秒钟.时钟精确度时钟的精确度取决于晶振的精确度,以及振荡电路容性负载与晶振校正的容性负载之间匹配的精确度。

DS1302时钟芯片资料

DS1302时钟芯片资料

DS1302DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。

实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。

工作电压宽达2.5~5.5V。

采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。

下面是标准的接线电路图:DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h~8Dh,写时80h~8Ch)是存放秒、分,小时、日、月、年、周数据的,存放的数据格式为BCD码形式它的内部时间寄存器如下:将初始设置的时间、日期数据写入这几个寄存器,然后再不断地读取这几个寄存器来获取实时时间和日期。

这几个寄存器的说明如下:1、秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。

当初始上电时该位置为1,时钟振荡器停止,DS1302处于低功耗状态;只有将秒寄存器的该位置改写为0时,时钟才能开始运行。

2、控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。

在任何的对时钟和RAM的写操作之前,WP位必须为0。

当WP位为1时,写保护位防止对任一寄存器的写操作。

也就是说在电路上电的初始态WP是1,这时是不能改写上面任何一个时间寄存器的,只有首先将WP改写为0,才能进行其它寄存器的写操作。

3、控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。

在任何的对时钟和RAM的写操作之前,WP位必须为0。

当WP位为1时,写保护位防止对任一寄存器的写操作。

也就是说在电路上电的初始态WP是1,这时是不能改写上面任何一个时间寄存器的,只有首先将WP改写为0,才能进行其它寄存器的写操作。

下面来说说如果对DS1302进行读写:上面的电路图可以看出,除了电源和接地,DS1302只有三根线和单片机连接,SCLK、I/O 和RST(有的也写成CE),先看时序图:DS1302的数据读写是通过I/O串行进行的。

DS1302_数据手册

DS1302_数据手册

X1
X2
OSCILLATOR AND
COUNTDOWN CHAIN
1Hz
REAL-TIME CLOCK
31 x 8 RAM
2 of 13
SUPPLY CURRENT (nA) SUPPLY CURRENT (uA)
ቤተ መጻሕፍቲ ባይዱ
TYPICAL OPERATING CHARACTERISTICS
(VCC = 3.3V, TA = +25°C, unless otherwise noted.)
-40°C to +85°C 8 PDIP
DS1302S
0°C to +70°C 8 SO (200 mils)
DS1302SN
-40°C to +85°C 8 SO
DS1302Z
0°C to +70°C 8 SO (150 mils)
DS1302Z+
0°C to +70°C 8 SO (150 mils)
OPERATION
Figure 1 shows the main elements of the serial timekeeper: shift register, control logic, oscillator, real-time clock, and RAM.
TYPICAL OPERATING CIRCUIT
Connections for Standard 32.768kHz Quartz Crystal. The internal oscillator is designed for operation with a crystal having a specified load capacitance of 6pF. For more information on crystal selection and crystal layout considerations, refer to Application Note 58: Crystal Considerations for Dallas Real-Time Clocks. The DS1302 can also be driven by an external 32.768kHz oscillator. In this configuration, the X1 pin is connected to the external oscillator signal and the X2 pin is floated.

DS1302中文资料

DS1302中文资料
三、DS1302操作:
1.开发板电路图:
图4开发板电路图
从电路图中我们可以看到,RST片选使能引脚接到了单片机的P3.0引脚,
SCLK时钟引脚接到而来单片机的P3.3引脚,IO引脚接到了单片机的P2.4
引脚。
2.时序与数据读写:
对于操作一个芯片而言,最重要的应该是如何根据它的时序图向它里面写
入数据和读取数据。时序就是高低电平随时间的变化,和我们见到的波形随
DS1302中文资料
一、首先看几张图片给大家一个整体印象:
1.直插的DS1302时钟芯片:
图1
2.贴片封装的DS1302时钟芯片:
图2
3.用DS1302和1602做的数字时钟:
图3
图3为用单片机从DS1302中读取时间,然后把时间显示在1602液晶上。
1602上第一行显示的是年月日和星期,第二行显示的为时分秒。
时间变化差不多。下面教大家如何往芯片里面写数据,如何从芯片里面读数
据。温馨提示:在读写芯片时,一般需要先写入寄存器或RAM的地址(有时
也成为写入命令),然后才能对芯片的寄存器或RAM进行读写操作!
2.1往芯片里写数据:
因为芯片只识别0和1,所以写数据无非就是往芯片里面写0和1。那芯片
又是如何识别0和1的呢?其实我们只要在特定的时间把控制线置为高电平或
写操作的代码:
//地址、数据发送子程序
voidWrite1302(ucharaddr,dat)
{
uchari,temp,m,n;
RST=0;//RST引脚为低,数据传送中止
SCLK=0;//清零时钟总线
RST=1;//RST引脚为高,逻辑控制有效
//发送地址
for(i=8;i>0;i--)//循环8次移位

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中文资料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中文资料

功能特色:●时钟计数功能,可以对秒、分钟、小时、月、星期、年的计数。

年计数可达到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是一种实时时钟芯片,主要用于计算机系统、通信设备、智能家居等领域。

本手册旨在提供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的特性、引脚定义、工作原理以及使用方法,并提供了一些注意事项供用户参考。

DS 中文资料 带源代码

DS 中文资料 带源代码

DS1302中文资料DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM可通过简单的串行接口与单片机进行通信可提供:--秒分时日日期月年的信息--每月的天数和闰年的天数可自动调整--可通过AM/PM指示决定采用24或12小时格式--保持数据和时钟信息时功率小于1mWDS1302引脚X1X232.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 Vcc_5V _5V _5V::为电路中的为电路中的主电源;主电源;主电源;Vcc2Vcc2Vcc2,也就是,也就是BT1为备份电源。

当Vcc2>Vcc1+0.2V 时,由Vcc2向DS1302供电,当Vcc2<Vcc1时,由Vcc1向DS1302供电CLK 和I/O 虽然和IIC 总线接在一条引脚上总线接在一条引脚上,,但DS1302其实并不是使用IIC 总线,而是一种三线式总线,DS1302内部结构:DS1302内部包括:Power control:电源控制模块Input shift registers:输入移位寄存器Command and control logic:通讯与逻辑控制器Oscillator and divider:晶体振荡器及分频器DS1302的内部主要组成部分虽然有:移位寄存器、控制逻辑、振荡器、实时时钟以及RAM。

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内部结构图2.各引脚的功能为:Vcc1:主电源;Vcc2:备用电源。

当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2< Vcc1时,由Vcc1向DS1302供电。

SCLK:串行时钟,输入,控制数据的输入与输出;I/O:三线接口时的双向数据线;CE:输入信号,在读、写数据期间,必须为高。

该引脚有两个功能:一、CE开始控制字访问移位寄存器的控制逻辑;二、CE提供结束单字节或多字节数据传输的方法。

3.DS1302有下列几组寄存器有关日历、时间的寄存器,存放的数据格式为BCD码形式如果我们送字节到DS1302中,DS1302就会把他储存为BCD码格式,那么我们对DS1302进行读取的时候,我们就需要把BCD码转换回来;BCD码介绍:用4位二进制数表示一位10进制数的0-9,这10个数字简称BCD码;最小值为0000,最大表示值为1001;一个字节中低4位表示个位,高4为表示10位,比如10的BCD码=0001 0000;4.BCD码的转换:例55转BCD unsigned char data1,data2=45;data1=data2/10; data2=data2%10; data2=data2+data1*16;data2最终等于69;换算回10进制 data1=data2/16;data2=data2%16;data1=data1*10+data2;=455.操作方式小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。

DS1302中文资料

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中文资料,带源代码

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中文资料_数据手册_参数

DS1302中文资料_数据手册_参数
万联芯城-电子元器件采购网,提供一站式配套, 解决物料烦恼,万联芯城销售电子元器件范围包括IC集成电路,电阻 电容,二三极管,可进行一站式BOM表配单,万联芯城BOM报价流程 :联系商城客服-提交物料清单-等待报价-下单-商城发货,解决客户采购 烦恼,为客户节省采购成本,点击进入万联芯城。
DS1302涓流充电计时芯片 6 13 CE和时钟控制驱动CE输入高电平会启动所有数据传输. CE输入有两个功能.首先,CE打开控制逻辑允 许访问地址/命令序列的移位寄存器.其次,CE信号提供了一种终止单字节或多字节CE数据传输的方法.时钟周期是一系列的上升沿, 然后是下降沿. DS1302对于数据输入,数据在过程中必须有效时钟的上升沿和数据位在时钟的下降沿输出.如果CE输入低,所有数据 传输终止,I / O引脚进入高阻状态.图4显示了数据传输.在通电时,CE 在V CC &GT; 2.0V 之前必须为逻辑0 . 而且,当CE被驱动到逻 辑1状态时,SCLK必须处于逻辑0.数据输入在输入写命令字节的8个SCLK周期之后,数据字节在下一个的上升沿输入八个SCLK周期. 如果DS1302无意中出现其他SCLK周期,则会被忽略.数据以输入开始位0.数据输出在输入一个读命令字节的八个SCLK周期后,一个 数据字节在该输出的下降沿输出接下来的八个SCLK周期.请注意,要传输的个数据位发生在后一位之后的个下降沿的命令字节被写 入.额外的SCLK周期会在无意中发生数据字节时重新传输只要CE仍然很高.该操作允许连续突发模式读取能力.另外,I / O引脚是三态 的,在SCLK的每个上升沿发表.数据从位0开始输出.突发模式通过寻址31位十进制数可以为时钟/日历或RAM寄存器指定突发模式 (地址/命令位1至5 =逻辑1). DS1302如前所述,位6指定时钟或RAM,位0指定读取或写.时钟/日历寄存器中的位置9到31或位置31中 没有数据存储容量 RAM寄存器.在突发模式下读取或写入个寄存器,以便数据到达被转移.但是,在突发模式下写入RAM时,不需要为数据写入全部31个字节转让.无论是否写入全部31个 字节,写入的每个字节都将传输到RAM.时钟/日历时间和日历信息是通过读取适当的寄存器字节获得的.表3说明了RTC寄存 DS1302有主电源的情况下维护时间和日期.该 DS1302采用V CC1 或V CC2中 的较大者工作 . 当V CC2 大于V CC1 +时 0.2V,V CC2 为 DS1302供电. 当V CC2 小于V CC1时 ,V CC1 为 DS1302. 2 X1 3 X2标准32.768KHZ石英晶体的连接.内部振荡器是设计用于使用具有6PF 的指定负载电容的晶体进行操作.有关晶体选择和晶体布局注意事项的更多信息,请参阅应用笔记58:达拉斯实时时钟的晶体注意事 项 .该 DS1302也可以由外部32.768KHZ振荡器驱动.在这配置,X1引脚连接到外部振荡器信号和X2引脚漂浮. 4 GND地面五 CE输入.在 读取或写入期间,CE信号必须置为高电平.这个针有一个内部40K Ω(典型值)下拉电阻接地.注意:以前的数据表修订简称CE RST. 引脚的功能没有改变. 6 I / O输入/推挽输出. I / O引脚是3线的双向数据引脚接口.该引脚有一个内部40K Ω(典型值)下拉电阻接地. 7 SCLK输入. SCLK用于同步串行接口上??的数据移动.这个引脚有一个内部40K Ω(典型值)下拉电阻接地. 8 V CC1单电源和电池供电 系统中的低功耗操作以及低功耗,电池备份.在使用涓流充电器的系统中,可充电电池能源连接到此引脚. UL认可,以确保逆向充电 电流与锂电池一起使用

ds1302资料

ds1302资料

DS1302中文资料DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM可通过简单的串行接口与单片机进行通信可提供:--秒分时日日期月年的信息--每月的天数和闰年的天数可自动调整--可通过AM/PM指示决定采用24或12小时格式--保持数据和时钟信息时功率小于1mWDS1302引脚X1X232.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 Vcc_5V _5V _5V::为电路中的为电路中的主电源;主电源;主电源;Vcc2Vcc2Vcc2,也就是,也就是BT1为备份电源。

当Vcc2>Vcc1+0.2V 时,由Vcc2向DS1302供电,当Vcc2<Vcc1时,由Vcc1向DS1302供电CLK 和I/O 虽然和IIC 总线接在一条引脚上总线接在一条引脚上,,但DS1302其实并不是使用IIC 总线,而是一种三线式总线,DS1302内部结构:DS1302内部包括:Power control:电源控制模块Input shift registers:输入移位寄存器Command and control logic:通讯与逻辑控制器Oscillator and divider:晶体振荡器及分频器DS1302的内部主要组成部分虽然有:移位寄存器、控制逻辑、振荡器、实时时钟以及RAM。

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

图6
控制字(即地址及命令字节)
控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把 数据写入到 DS1302中。 位6:如果为0,则表示存取日历时钟数据,为1表示存取 RAM 数 据; 位5至位1(A4~A0) :指示操作单元的地址; 位0(最低有效位) :如为0,表示要进行写操作,为1表示进行读 操作。 控制字总是从最低位开始输出。在控制字指令输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从最低位(0 位)开始。同样,在紧跟8位的控制字指令后的下一个 SCLK 脉冲的 下降沿,读出 DS1302的数据,读出的数据也是从最低位到最高位。 数据读写时序如图7 。
星期寄存器 年寄存器 写保护寄存器 慢充电寄存器 时钟突发寄存器
// DS1302时钟信号 // DS1302数据信号 // DS1302片选
//地址、数据发送子程序 void Write1302 ( unsigned char addr,dat ) { unsigned char i,temp; CE=0; //CE 引脚为低, 数据传送 中止 SCLK=0; //清零时钟总线 CE = 1; //CE 引脚为高,逻辑控制 有效 //发送地址 for ( i=8; i>0; i-- ) //循环8次移位 { SCLK = 0; temp = addr; DIO = (bit)(temp&0x01); //每次传输低字 节 addr >>= 1; //右移一位 SCLK = 1; }
图4 ③ DS1302的工作模式寄存器 所谓突发模式是指一次传送多个字节的时钟信号和 RAM 数据。 突发模式寄存器如图5所示。
图5 ④此外,DS1302还有充电寄存器等。 2 读写时序说明 DS1302是 SPI 总线驱动方式。它不仅要向寄存器写入控制字, 还需要读取相应寄存器的数据。 要想与 DS1302通信, 首先要先了解 DS1302的控制字。 DS1302 的控制字如图6。
//循环8次移位
//每次传输低字 //右
//数据进制转换
dat1=dat1%16; 进制 dat1=dat1+dat2*10; return (dat1); } //初始化 DS1302 void Initial(void) { Write1302 (WRITE_PROTECT,0X00); 护 Write1302 (WRITE_SECOND,0x56); 化 Write1302 (WRITE_MINUTE,0x34); Write1302 (WRITE_HOUR,0x12); 小时初始化 Write1302 (WRITE_PROTECT,0x80); 允许写保护 }
图1 51单片机综合学习系统主机部分图片
图2 51单片机综合学习系统配套书本教程——《单片机快速入门》 上图是我们将要使用的51单片机综合学习系统硬件平台,如图1所示,本期实验我们用 到了综合系统主机、板载的 DS1302时钟芯片,综合系统其它功能模块原理与使用详见前几 期《电子制作》杂志及后期连载教程介绍。 在很多单片机系统中都要求带有实时时钟电路,如最常见的数字钟、钟控设备、数据记 录仪表, 这些仪表往往需要采集带时标的数据, 同时一般它们也会有一些需要保存起来的重 要数据,有了这些数据,便于用户后期对数据进行观察、分析。本小节就介绍市面上常见的 时钟芯片 DS1302的应用。DS1302是美国 DALLAS 公司推出的一款高性能、低功耗、带内 部 RAM 的实时时钟芯片(RTC),也就是一种能够为单片机系统提供日期和时间的芯片。通 过本小节的学习,我们将会把 RTC 相关的一些技术粗略介绍一下,然后介绍 DS1302与单片 机之间的软硬件应用。 DS1302时钟芯片简介 DS1302是 DALLAS 公司推出的涓流充电时钟芯片, 内含一个实时时钟/日历和31字节静 态 RAM,可以通过串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、 星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过 AM/PM 标 志位决定采用24或12小时时间格式。DS1302与单片机之间能简单地采用同步串行的方式进 行通信,仅需三根 I/O 线:复位(RST) 、I/O 数据线、串行时钟(SCLK) 。时钟/RAM 的读 /写数据以一字节或多达31字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时 钟信息时,功耗小于1mW。
图1
DS1302的外部引脚分配
图2
DS1302的内部结构
各引脚的功能为: Vcc1:主电源;Vcc2:备份电源。当 Vcc2>Vcc1+0.2V 时, 由 Vcc2向 DS1302供电,当 Vcc2< Vcc1时,由 Vcc1向 DS1302供电。 SCLK:串行时钟,输入,控制数据的输入与输出; I/O:三线接口时的双向数据线; CE:输入信号,在读、写数据期间,必须为高。该引脚有两 个功能:第一,CE 开始控制字访问移位寄存器的控制逻辑;其次,
图7 具体操作见驱动程序。
数据读写时序
3 电路原理图: 电路原理图如图8, DS1302与单片机的连接也仅需要3条线: CE 引脚、 SCLK 串行时钟引脚、I/O 串行数据引脚,Vcc2为备用电源,外接 32.768kHz 晶振,为芯片提供计时脉冲。
图8
4 驱动程序 //寄存器宏定义 #define WRITE_SECOND #define WRITE_MINUTE #define WRITE_HOUR #define READ_SECOND #define READ_MINUTE #define READ_HOUR #define WRITE_PROTECT //位寻址寄存器定义 sbit ACC_7 = ACC^7; //管脚定义 sbit SCLK = P3^5; 7脚 sbit DIO= P3^6; 6脚 sbit CE = P3^7; 5脚 0x80 0x82 0x84 0x81 0x83 0x85 0x8E
1 DS1302 简介: DS1302是美国 DALLAS 公司推出的一种高性能、 低功耗的实时 时钟芯片,附加31字节静态 RAM,采用 SPI 三线接口与 CPU 进行 同步通信,并可采用突发方式一次传送多个字节的时钟信号和 RAM 数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与 31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~ 5.5V。采用双电源供电(主电源和备用电源) ,可设置备用电源充电 方式,提供了对后背电源进行涓细电流充电的能力。DS1302的外部 引脚分配如图1所示及内部结构如图2所示。DS1302用于数据记录, 特别是对某些具有特殊意义的数据点的记录上, 能实现数据与出现该 数据的时间同时记录,因此广泛应用于测量系统中。
//发送数据 for ( i=8; i>0; i-- ) { SCLK = 0; temp = dat; DIO = (bit)(temp&0x01); dat >>= 1; SCLK = 1; } CE = 0; } //数据读取子程序 unsigned char Read1302 ( unsigned char addr ) { unsigned char i,temp,dat1,dat2; CE=0; SCLK=0; CE = 1; //发送地址 for ( i=8; i>0; i-- ) { SCLK = 0; temp = addr; DIO = (bit)(temp&0x01); 节 addr >>= 1; 移一位 SCLK = 1; } //读取数据 for ( i=8; i>0; i-- ) { ACC_7=DIO; SCLK = 1; ACC>>=1; SCLK = 0; } CE=0; dat1=ACC; dat2=dat1/16;
DS1302的内部结构 DS1302的外部引脚功能说明如图3所示: X1,X2 GND RST I/O SCLK VCC1 32.768kHz 晶振引脚 地 复位 数据输入/输出 串行时钟 电池引脚
VCC2 图3 DS1302封装图
主电源引脚
DS1302的内部结构如图4所示,主要组成部分为:移位寄存器、控制逻辑、振荡器、实
//十六进制转片机综合学习系统之 DS1302时钟应用篇 《电子制作》2008年10月 站长原创,如 需引用请注明出处
大家好, 通过以前的学习, 我们已经对51单片机综合学习系统的使用方法及学习方式有 所了解与熟悉,学会了使用 AD 模数转换的基本知识,体会到了综合学习系统的易用性与易 学性,这一期我们将一起学习 DS1302时钟的基本原理与应用实例。 先看一下我们将要使用的51单片机综合学习系统能完成哪些实验与产品开发工作: 分别 有流水灯,数码管显示,液晶显示,按键开关,蜂鸣器奏乐,继电器控制,IIC 总线,SPI 总线,PS/2实验,AD 模数转换,光耦实验,串口通信,红外线遥控,无线遥控,温度传感, 步进电机控制等等。主体系统如图1所示,其配套书本教程《单片机快速入门》如图2所示。
时时钟以及 RAM。虽然数据分成两种,但是对单片机的程序而言,其实是一样的,就是对 特定的地址进行读写操作。
图4 DS1302的内部结构图 DS1302含充电电路,可以对作为后备电源的可充电电池充电,并可选择充电使能和串 入的二极管数目,以调节电池充电电压。不过对我们目前而言,最需要熟悉的是和时钟相关 部分的功能,对于其它参数请参阅数据手册。 DS1302的工作原理 DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且 将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指 定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时 输出数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据) ,在多字节方式下为 8加最多可达248的数据。 DS1302的寄存器和控制命令 对 DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式。此外,DS1302还有年份寄存器、 控制寄存器、充电寄存器、时钟突发寄存器及与 RAM 相关的寄存器等。时钟突发寄存器可 一次性顺序读写除充电寄存器以外的寄存器。日历、时间寄存器及控制字如表1所示: 7 寄存器名称 秒寄存器 分寄存器 小时寄存器 日寄存器 月寄存器 1 1 1 1 1 1 6 RAM/C K 0 0 0 0 0 5 A4 0 0 0 0 0 4 A3 0 0 0 0 0 3 A2 0 0 0 0 1 2 A1 0 0 1 1 0 1 A0 0 1 0 1 0 0 RD/W
相关文档
最新文档