欢迎来到天天文库
浏览记录
ID:37166107
大小:330.60 KB
页数:31页
时间:2019-05-11
《实时时钟DS1302的原理与应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在许多的单片机系统中,通常进行一些与时间有关的控制,这就需要使用实时时钟。例如在测量控制系统中,特别是长时间无人值守的测控系统中,经常需要记录某些具有特殊意义的数据及其出现的时间。在系统中采用实时时钟芯片能很好的解决这个问题。4.3实时时钟DS1302的原理与应用实时时钟(RTC)是一个由晶体控制精度的,向主系统提供BCD码表示的时间和日期的器件。主系统与RTC间的通信可通过并行口也可通过串行口,并行器件速度快但需较大的底板空间和较昂贵,串行器件体积较小且价格也相对便宜。读者在学完本节后,应能完成相关的电路设计,并掌握如下知
2、识点:(1)掌握时钟芯片DS1302的原理、特性及选择;(2)51单片机和时钟芯片DS1302的接口电路设计;(3)掌握时钟芯片DS1302的C51程序设计。4.3.1DS1302简介DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302
3、是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。图4-3-1DS1302的实物图及引脚排列图4-3-1示出DS1302的实物图及引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是
4、复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器,其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),SCLK始终是输入端。4.3.2DS13
5、02的寄存器和控制命令对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7个寄存器与日历和时钟有关,存放的数据位为BCD码形式。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器,日历、时钟寄存器及其控制字如下表4-3-1所示,DS1302内部主要寄存器功能如下表4-3-2所示。表4-3-1日历、时钟寄存器及其控制字对照表寄存器名称765432101RAM/CKA4A3A2A1A0RD/W
6、秒寄存器10000001/0分寄存器10000011/0时寄存器10000101/0日寄存器10000111/0月寄存器10001001/0周寄存器10001011/0年寄存器10001101/0写保护寄存器10001111/0慢充电寄存器10010001/0时钟突发秒寄存器10111111/0表4-3-2DS1302内部主要寄存器功能表名称命令字取值范围各位内容写读76543210秒寄存器80H81H00-59CH10SECSEC分寄存器82H83H00-59010MINMIN时寄存器84H85H1-12或0-2312/2
7、40A/PHRHR日寄存器86H87H1-28,29,30,310010DATEDATE月寄存器88H89H1-1200010MMONTH周寄存器8AH8BH1-700000DAY年寄存器8CH8DH0-9910YEARYEAR其中CH:时钟停止位;为0时振荡器工作;为1时振荡器停止;AP=1时为下午模式,为0时上午模式;DS1302的控制字节说明如下:1.DS1302的控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中:位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至
8、位1指示操作单元的地址:最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。2.在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS130
此文档下载收益归作者所有