我们平时所用的不管是单片机,还是其它一些电子器件,根据使用条件的约束,可以分为商业级和工业级,主要是工作温度范围的不同,DS1302 的购买信息如下图15-4所示。
图15-4 DS1302 订购信息
我们在订购 DS1302 的时候,就可以根据图15-4所标识的来跟销售厂家沟通,商业级的工作温度范围略窄,是0~70摄氏度,而工业级可以工作在零下40~85摄氏度。TOP MARK 就是指在芯片上印的字。
DS1302 一共有8个引脚,下边要根据引脚分布图和典型电路图来介绍一下每个引脚的功能,如图15-5和图15-6所示。
图15-5 DS1302 引脚图
图15-6 DS1302典型电路
1脚 VCC2 是主电源正极的引脚,2脚 X1 和3脚 X2 是晶振输入和输出引脚,4脚 GND是负极,5脚 CE 是使能引脚,接单片机的 IO 口,6脚 I/O 是数据传输引脚,接单片机的 IO 口,7脚 SCLK 是通信时钟引脚,接单片机的 IO 口,8脚 VCC1 是备用电源引脚。考虑到 KST-51 开发板是一套以学习为目的的板子,加上备用电池对航空运输和携带不方便,所以8脚没有接备用电池,而是接了一个 10 uF 的电容,这个电容就相当于一个电量很小的电池,经过试验测量得出其可以在系统掉电后仍维持 DS1302 运行1分钟左右,如果大家想运行时间再长,可以加大电容的容量或者换成备用电池,如果掉电后不需要它再维持运行,也可以干脆悬空,如图15-7和图15-8所示。
图15-7 DS1302 电容作备用电源
图15-8 DS1302无备用电源
涓流充电功能,基本也用不到,因为实际应用中很少会选择可充电电池作为备用电源,成本太高,本课程也不讲了,大家作为选学即可。我们使用的时候直接用 5 V 电源接一个二极管,在主电源上电的情况下给电容充电,在主电源掉电的情况下,二极管可以防止电容向主电路放电,而仅用来维持 DS1302 的供电,这种电路的最大用处是在电池供电系统中更换主电池的时候保持实时时钟的运行不中断,1分钟的时间对于更换电池足够了。此外,通过我们的使用经验,在 DS1302 的主电源引脚串联一个 1 K 电阻可以有效的防止电源对 DS1302 的冲击,R6 就是这个电阻,而 R9、R26、R32 都是上拉电阻。
我们把8个引脚功能分别介绍,如表15-1所示。
表15-1 DS1302 引脚功能图
DS1302 电路的一个重点就是晶振电路,它所使用的晶振是一个 32.768 k 的晶振,晶振外部也不需要额外添加其它的电容或者电阻了。时钟的精度,首先取决于晶振的精度以及晶振的引脚负载电容。如果晶振不准或者负载电容过大或过小,都会导致时钟误差过大。在这一切都搞定后,最终一个考虑因素是晶振的温漂。随着温度的变化,晶振的精度也会发生变化,因此,在实际的系统中,其中一种方法就是经常校对。比如我们所用的电脑的时钟,通常我们会设置一个选项“将计算机设置与 internet 时间同步”。选中这个选项后,一般过一段时间,我们的计算机就会和 internet 时间校准同步一次。
关键字:DS1302 硬件信息
引用地址:
DS1302 的硬件信息
推荐阅读最新更新时间:2024-03-16 15:45
MSP430与DS1302之1602显示
#include msp430x14x.h typedef unsigned char uchar; typedef unsigned int uint; /**************宏定义***************/ #define DataDir P4DIR #define DataPort P4OUT #define Busy 0x80 #define CtrlDir P3DIR #define CLR_RS P3OUT&=~BIT0; //RS = P3.0 #define SET_RS P3OUT|=BIT0; #define CLR_RW P3OUT&=~BIT1; //RW = P3.1 #def
[单片机]
PIC18+DS1302程序设计
1、ds1302芯片使用相对简单,其采用spi三接口同步通信。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此可应用于测量系统中。ds1302内部读写寄存器存放的数据格式为bcd码,在读取后的数据转换时除以16得到相应10进制数。 2、部分核心程序: 发送地址及数据(向芯片里面写入数据): void write1302(unsigned char addr,unsigned dat){ RST=0;//不让数据传输进ds1302 SCLK=0;//初始化时钟总线 RST=1; for(int i=8;i 0;i--){ SCLK=0;
[单片机]
DS1302时钟芯片C51驱动程序
/********************************************** 程序名称:DS1302时钟芯片C51驱动程序 简要说明:read_clockS函数为读取时钟数据 调用Set_time即可调整时间并写入DS1302 sel为调整标志,可通过外部按键来更改其值 **********************************************/ //定义头文件 #include AT89X52.h /******************************************************************/ //定义DS1302时钟接口 sbit clock
[单片机]
第15章 实时时钟DS1302
在前面的课程中我们已经了解到了不少关于时钟的概念,比如我们用的单片机的主时钟是11.0592M、I2C总线有一条时钟信号线SCL等,这些时钟本质上都是一个某一频率的方波信号。那么除了这些在前面新学到的时钟概念外,还有一个我们早已熟悉的不能再熟悉的时钟概念——年-月-日 时:分:秒,就是我们的钟表和日历给出的时间,它的重要程度我想就不需要多说了吧,在单片机系统里我们把它称作实时时钟,以区别于前面提到的几种方波时钟信号。实时时钟,有时也被称作墙上时钟,很形象的一个名词,对吧,大家知道他们讲的一回事就行了。本章,我们将学习实时时钟的应用,有了它,你的单片机系统就能在漫漫历史长河中找到自己的时间定位啦,可以在指定时间干某件事,或者
[单片机]
51单片机做的智能时钟具有闹钟功能(DS1302+DS18B20+LCD1602)
本贴针对学完单片机并且有读懂代码的非新手同学。本人目前放寒假,这个是本人在上个学期的单片机课上要求做的综合实验,现在重新修改了下增加了菜单目前测试毫无问题可以完美使用。有志向做闹钟的同学可以参考一下,原码上由本人写的大量注释可以方便看懂。 使用了LCD1602、DS1302、DS18B20用来测试温度、内部含闹钟系统但本人没有做EEPROM有需要的同学可以自行添加。 单片机源程序如下: #include reg52.h #include key.h #include LCD1602.h #include DS1302.h #include music.h #include DS18B20.H #define no
[单片机]
PIC16F84A读取时钟芯片DS1302的简单示例
//引入文件*********************************************************** #include delay.h #include delay.c #include pic.h #include pic1684.h //熔丝配置*********************************************************** __CONFIG(XT & WDTDIS & PWRTEN & PROTECT); //引脚定义*******************************************************
[单片机]
51单片机学习:DS1302时钟实验
实验名称:DS1302时钟实验 接线说明: 实验现象:下载程序后,数码管上显示电子时钟时分秒,格式为“XX-XX-XX” 注意事项: ***************************************************************************************/ #include public.h #include smg.h #include ds1302.h /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 *
[单片机]
AVR+DS1302时钟芯片测试程序
#include iom16v.h #include macros.h #include delay.h #include lcd.h #define uchar unsigned char #define uint unsigned int #define DS1302_RST_SET PORTA |= ( 1 0 ) #define DS1302_RST_CLR PORTA &=~ ( 1 0 ) #define DS1302_SCLK_SET PORTA |= ( 1 1 ) #define DS1302_SCLK_CLR PORTA &=~ ( 1 1 ) #define DS1302_DATA_SET
[单片机]