|
手把手教你使用PIC单片机做DS1302数字钟实验
在很多单片机系统中都要求带有实时时钟电路,如最常见的数字钟、钟控设备、数据记录仪表,这些仪表往往需要采集带时标的数据,同时一般它们也会有一些需要保存起来的重要数据,有了这些数据,便于用户后期对数据进行观察、分析。本小节就介绍市面上常见的时钟芯片DS1302的应用。DS1302是美国DALLAS公司推出的一款高性能、低功耗、带内部RAM的实时时钟芯片(RTC),也就是一种能够为单片机系统提供日期和时间的芯片。通过本小节的学习,我们将会把RTC相关的一些技术粗略介绍一下,然后介绍DS1302与单片机之间的软硬件应用。
1、实时时钟(RTC)简介
实时时钟芯片的主要功能是完成年、月、周、日、时、分、秒的计时,通过外部接口为单片机系统提供日历和时钟,所以一个最基本的实时时钟芯片通常会具有如下的一些部件:电源电路、时钟信号产生电路、实时时钟、数据存储器、通讯接口电路、控制逻辑电路等,同时大部分的RTC还会提供一些额外的RAM。
 9-35 RTC的基本组成
如果直接利用单片机的定时器,是不是也可以用软件自己来写时钟、日历程序?是的,但是会有几个问题,首先为了使时钟不至于停走,就得在停电时给单片机供电,而相对RTC来说,单片机的功耗大很多,电池往往无法长时间工作;其次单片机计时的准确度比较差,通常很难达到需要的精度,因此目前RTC的使用已经十分广泛。 由于在需要RTC的场合一般不允许时钟停走,所以即使在单片机系统停电的时候,RTC也必须能正常工作,因此一般都需要电池供电,同时考虑到电池使用寿命,所以有不少RTC把电源电路设计成能够根据主电源电压自动切换的形式,自动切换RTC使用主电源或备用电池,即当断电的时候,后备电池能够自动给RTC供电,而像DS1302还增加了电池充电电路,用来对可充锂电池充电。 综上所述,RTC电路的主要特点是功耗低,精度高。那么,RTC在使用过程中是如何控制精度的呢?一般,RTC都使用32768Hz的晶振,本身误差小(5PPM~20PPM),同时很多设备在生产过程中对这个频率进行过校准,主要方法就是改变两个从晶振引脚到地的电容值的大小,通过测试RTC输出的秒信号的频率,然后把电容改成合适的数值,使精度控制在合理的范围里,当然目前也有些时钟芯片在片内内置了电容阵列,可以自动调整。影响精度还有另外一个原因,就是温度,因此有很多产品在采用无内置温补电路的时候,会使用软件对计时进行温度补偿。当然,现在也有些RTC内置了温度补偿,甚至还可以为系统提供环境温度值。 我们最多见到的RTC可能是DS1302和DS12887了,当然其实还有很多其它的同类产品,下面按功能不同对几个也比较常见的RTC予以简单的比较。 一些常用RTC的功能比较
[1] [2] [3] [4] [5] [6] 下一页
“单片机之路”的网址:www.mcuway.com |