📄 时钟芯片ds1302.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0038)http://ztyc51.51.net/c51doc/ds1302.htm -->
<HTML><HEAD><TITLE>冬瓜MCUstudio</TITLE><!-- InstanceBegin template="/Templates/index.dwt" codeOutsideHTMLIsLocked="false" --><!-- InstanceBeginEditable name="doctitle" --><!-- InstanceEndEditable -->
<META content="text/html; charset=gb2312" http-equiv=Content-Type><LINK
href="时钟芯片DS1302.files/style1.css" rel=stylesheet type=text/css><!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
<META content="MSHTML 5.00.2614.3500" name=GENERATOR></HEAD>
<BODY>
<TABLE align=center bgColor=#6687ba border=0 cellPadding=0 cellSpacing=1
height=84 width=755>
<TBODY>
<TR>
<TD>
<TABLE align=center bgColor=#ffffff border=0 cellPadding=0 cellSpacing=0
height=82 width=753><!--DWLayoutTable-->
<TBODY>
<TR>
<TD height=60 vAlign=top width=753>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%"><!--DWLayoutTable-->
<TBODY>
<TR>
<TD height=3 width=12></TD>
<TD width=80></TD>
<TD width=43></TD>
<TD rowSpan=4 vAlign=top width=468><A
href="http://www.cctf.org.cn/" target=_blank><IMG border=0
height=60 src="时钟芯片DS1302.files/banner.gif" width=468></A></TD>
<TD width=62></TD>
<TD width=77></TD>
<TD width=11></TD></TR>
<TR>
<TD height=13></TD>
<TD rowSpan=2 vAlign=top><IMG height=54
src="时钟芯片DS1302.files/dg.jpg" width=80></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD></TR>
<TR>
<TD height=41></TD>
<TD></TD>
<TD></TD>
<TD class=style1 rowSpan=2 vAlign=top>
<SCRIPT class=style1 language=JavaScript><!--today=new Date();var week; var date;if(today.getDay()==0) week="星期日"if(today.getDay()==1) week="星期一"if(today.getDay()==2) week="星期二"if(today.getDay()==3) week="星期三"if(today.getDay()==4) week="星期四"if(today.getDay()==5) week="星期五"if(today.getDay()==6) week="星期六"date=("今天是"+today.getYear())+"年"+(today.getMonth()+1)+"月"+today.getDate()+"日 "+" "document.write("<span style='font-size: 9pt;'>"+date+week+"</span>");// --> // floating image Dreamweaver Extension ,by jet(dezone@sina.com) var brOK=false; var mie=false; var aver=parseInt(navigator.appVersion.substring(0,1)); var aname=navigator.appName; //check browser function checkbrOK() {if(aname.indexOf("Internet Explorer")!=-1) {if(aver>=4) brOK=navigator.javaEnabled(); mie=true; } if(aname.indexOf("Netscape")!=-1) {if(aver>=4) brOK=navigator.javaEnabled();} } var vmin=5; var vmax=2; var vr=2; var timer1; function Chip(chipname,width,height) {this.named=chipname; this.vx=vmin+vmax*Math.random(); this.vy=vmin+vmax*Math.random(); this.w=width; this.h=height; this.xx=0; this.yy=0; this.timer1=null; } function movechip(chipname) { if(brOK) {eval("chip="+chipname); if(!mie) {pageX=window.pageXOffset; pageW=window.innerWidth; pageY=window.pageYOffset; pageH=window.innerHeight; } else {pageX=window.document.body.scrollLeft; pageW=window.document.body.offsetWidth-8; pageY=window.document.body.scrollTop; pageH=window.document.body.offsetHeight; } chip.xx=chip.xx+chip.vx; chip.yy=chip.yy+chip.vy; chip.vx+=vr*(Math.random()-0.5); chip.vy+=vr*(Math.random()-0.5); if(chip.vx>(vmax+vmin)) chip.vx=(vmax+vmin)*2-chip.vx; if(chip.vx<(-vmax-vmin)) chip.vx=(-vmax-vmin)*2-chip.vx; if(chip.vy>(vmax+vmin)) chip.vy=(vmax+vmin)*2-chip.vy; if(chip.vy<(-vmax-vmin)) chip.vy=(-vmax-vmin)*2-chip.vy; if(chip.xx<=pageX) {chip.xx=pageX; chip.vx=vmin+vmax*Math.random(); } if(chip.xx>=pageX+pageW-chip.w) {chip.xx=pageX+pageW-chip.w; chip.vx=-vmin-vmax*Math.random(); } if(chip.yy<=pageY) {chip.yy=pageY; chip.vy=vmin+vmax*Math.random(); } if(chip.yy>=pageY+pageH-chip.h) {chip.yy=pageY+pageH-chip.h; chip.vy=-vmin-vmax*Math.random(); } if(!mie) {eval('document.'+chip.named+'.top ='+chip.yy); eval('document.'+chip.named+'.left='+chip.xx); } else {eval('document.all.'+chip.named+'.style.pixelLeft='+chip.xx); eval('document.all.'+chip.named+'.style.pixelTop ='+chip.yy); } chip.timer1=setTimeout("movechip('"+chip.named+"')",100); } } function stopme(chipname) {if(brOK) {//alert(chipname) eval("chip="+chipname); if(chip.timer1!=null) {clearTimeout(chip.timer1)} }} var floater; function floater() {checkbrOK(); floater=new Chip("floater",0,0); if(brOK) { movechip("floater"); }} </SCRIPT>
</TD>
<TD></TD></TR>
<TR>
<TD height=3></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD height=2></TD></TR>
<TR>
<TD background=时钟芯片DS1302.files/menu0.on.bg.gif height=20
vAlign=top><TABLE border=0 cellPadding=0 cellSpacing=0 width="100%"><!--DWLayoutTable-->
<TBODY>
<TR>
<TD class=style1 height=20 width=753><FONT
color=#000000> <A
href="http://ztyc51.51.net/index.htm">首页</A> | <A
href="http://ztyc51.51.net/websoure/webindex.htm"
target=_blank>文章资料</A> | 51 DIY<A
href="http://ztyc51.51.net/c51doc/websoure/webindex.htm"
target=_blank></A> | ARM
DIY
| <A
href="http://ztyc51.51.net/cpld/cpldindex.htm"
target=_blank>CPLD DIY</A> | <A
href="http://ztyc51.51.net/lianxi.htm">联系我们</A></FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!--content--><!--000 --><!-- InstanceBeginEditable name="EditRegion3" -->
<TABLE border=0 cellPadding=0 cellSpacing=0 width=755><!--DWLayoutTable-->
<TBODY>
<TR>
<TD height=600 width=755>
<TABLE border=0 cellPadding=1 cellSpacing=1 width="100%">
<TBODY>
<TR>
<TD>
<DIV align=center class=stlye2><FONT face=黑体
size=3>时钟芯片DS1302及其在数据记录中的应用</FONT></DIV></TD></TR>
<TR>
<TD class=style1>作者:山东济南山东工业大学机械工程学院(250061) 于复生 宋现春 艾 兴
山东济南山东通信电子产业集团 (250061) 王 伟 来源:《电子技术应用 》<BR></TD></TR>
<TR>
<TD>
<P class=style1>摘 要:
介绍了美国DALLAS公司推出的低功耗时钟芯片DS1302的结构和工作原理及其在测量系统中的应用。它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的原因的查找有重要意义。</P>
<P class=style1> 关键词: 数据记录 时钟芯片DS1302 硬件电路
软件设计</P>
<P class=style1>
在测量控制系统中,特别是长时间无人职守的测控系统中,经常需要记录某些具有特殊意义的数据及其出现的时间。记录及分析这些特殊意义的数据,对测控系统的性能分析及正常运行具有重要的意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许。而在系统中采用DS1302则能很好地解决这个问题。</P>
<P class=style1> <B>1 DS1302的结构及工作原理</B></P>
<P class=style1>
.DS1302[1]是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。</P>
<P class=style1> 1.1 引脚功能表及内部结构图</P>
<P class=style1>
DS1302的引脚及内部结构如图1所示,引脚功能如表1所示。<BR><IMG height=276
src="时钟芯片DS1302.files/1.bmp" width=332><BR><IMG height=182
src="时钟芯片DS1302.files/2.bmp" width=295><BR></P>
<P class=style1> 1.2 DS1302的控制字节说明</P>
<P><SPAN class=style1>
.DS1302的控制字如图2所示。</SPAN><SPAN class=main1><BR><IMG height=84
src="时钟芯片DS1302.files/3.bmp" width=272></SPAN></P>
<P><SPAN class=main1> </SPAN><SPAN
class=style1>控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -