DS1302芯片资料.doc

上传人:b****3 文档编号:2486665 上传时间:2022-10-30 格式:DOC 页数:13 大小:764.50KB
下载 相关 举报
DS1302芯片资料.doc_第1页
第1页 / 共13页
DS1302芯片资料.doc_第2页
第2页 / 共13页
DS1302芯片资料.doc_第3页
第3页 / 共13页
DS1302芯片资料.doc_第4页
第4页 / 共13页
DS1302芯片资料.doc_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

DS1302芯片资料.doc

《DS1302芯片资料.doc》由会员分享,可在线阅读,更多相关《DS1302芯片资料.doc(13页珍藏版)》请在冰豆网上搜索。

DS1302芯片资料.doc

DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路.提供秒分时日日期.月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式.DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:

1RES复位,2I/O数据线,3SCLK串行时钟.时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信.DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW.DS1302是由DS1202改进而来,增加了以下的特性.双电源管脚用于主电源和备份电源供应Vcc1,为可编程涓流充电电源附加七个字节存储器.它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域.

下面将主要的性能指标作一综合:

􀁺实时时钟具有能计算2100年之前的秒分时日日期星期月年的能力还有闰年调整的能力;

􀁺318位暂存数据存储RAM;

􀁺串行I/O口方式使得管脚数量最少;

􀁺宽范围工作电压2.05.5V;

􀁺工作电流2.0V时,小于300nA;

􀁺读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式;

􀁺8脚DIP封装或可选的8脚SOIC封装根据表面装配;

􀁺简单3线接口;

􀁺与TTL兼容Vcc=5V;

􀁺可选工业级温度范围-40+85;

􀁺与DS1202兼容;

􀁺在DS1202基础上增加的特性;

对Vcc1有可选的涓流充电能力;

双电源管用于主电源和备份电源供应;

备份电源管脚可由电池或大容量电容输入;

附加的7字节暂存存储器;

1DS1302的基本组成和工作原理

DS1302的引脚功能排列及描述如下图所示.

                   ds1302引脚图

管脚描述

X1X232.768KHz晶振管脚

GND地

RST复位脚

I/O数据输入/输出引脚

SCLK串行时钟

Vcc1,Vcc2电源供电管脚

 

DS1302串行时钟芯片8脚DIP

DS1302S串行时钟芯片8脚SOIC200mil

DS1302Z串行时钟芯片8脚SOIC150mil

2.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

没有

没有

01

R1

2KΩ

10

R2

4KΩ

11

R3

8KΩ

时钟:

 

DS1302与微控制器的接口软件及功能应用举例

下面首先给出基本的接口软件然后举例说明各种功能的应用

1写保护寄存器操作

当写保护寄存器的最高位为0时允许数据写入寄存器写保护寄存器可以通过命令字节8E,8F来

规定禁止写入/读出写保护位不能在多字节传送模式下写入

Write_Enable:



MOV  Command,#8Eh      ;命令字节为8E

MOV   ByteCnt,#1            ;单字节传送模式

MOV   R0,#XmtDat          数据地址覆给R0

MOV   XmtDat,#00h         数据内容为0写入允许

ACALLSend_Byte            用写入数据子程序

RET                                    返回调用本子程序处

当写保护寄存器的最高位为1时禁止数据写入寄存器

Write_Disable:



MOV        Command,#8Eh         ;命令字节为8E

MOV         ByteCnt,#1              ;单字节传送模式

MOV          R0,#XmtDat             数据地址覆给R0

MOV         XmtDat,#80h             数据内容为80h禁止写入

ACALL       Send_Byte                 调用写入数据子程序

RET                                               返回调用本子程序处

以上程序调用了基本数据发送(Send_Byte)模块及一些内存单元定义,其源程序清单在附录中给出下面

的程序亦使用了这个模块

2时钟停止位操作

当把秒寄存器的第7位时钟停止位设置为0时起动时钟开始

Osc_Enable:



MOV       Command,#80h         ;命令字节为80

MOV        ByteCnt,#1                ;单字节传送模式

MOV       0,#XmtDat                  数据地址覆给R0

MOV       XmtDat,#00h              数据内容为0振荡器工作允许

ACALL    Send_Byte                  调用写入数据子程序

RET                                             返回调用本子程序处



当把秒寄存器的第7位时钟停止位设置为1时时钟振荡器停止HT1380进入低功耗方式

Osc_Disable:

MOV               Command,#80h    ;命令字节为80

MOV              ByteCnt,#1           ;单字节传送模式

MOV              R0,#XmtDat       数据地址覆给R0

MOV              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           ;命令字节为BEh

MOV        ByteCnt,#8                     ;多字节写入模式此模块为8个

MOV        R0,#XmtDat                    数据地址覆给R0

MOV         XmtDat,#59h                  秒单元内容为59h

MOV        XmtDat+1,#59h             分单元内容为59h

MOV        XmtDat+2,#13h             时单元内容为13h

MOV        XmtDat+3,#21h            日期单元内容为21h

MOV        XmtDat+4,#06h            月单元内容为06h

MOV        XmtDat+5,#03h            星期单元内容为03h

MOV        XmtDat+6,#0                年单元内容为00h

MOV         XmtDat+7,#0                写保护单元内容为00h

ACALL  Send_Byte                      调用写入数据子程序

RET                                                  返回调用本子程序处



读出寄存器0-7的内容程序设置如下

Read_Multiplebyte:

MOV           Command,#0BFh        命令字节为BFh

MOV            ByteCnt,#8;               多字节读出模式此模块为8个

MOV            R1,#RcvDat                数据地址覆给R1

ACALL         Receive_Byte             调用读出数据子程序

RET                                                  返回调用本子程序处

以上程序调用了基本数据接收(Receive_Byte)模块及一些内存单元定义,其源程序清单在附录中给

出下面的程序亦使用了这个模块

4.单字节传送方式

例如写入8时12小时模式程序设置如下

Write_Singlebyte:

MOV          Command,#84h          ;命令字节为84h

MOV          ByteCnt,#1                  ;单字节传送模式

MOV          R0,#XmtDat               数据地址覆给R0

MOV          XmtDat,#88h              数据内容为88h

ACALL       Send_Byte                 调用写入数据子程序

RET                                               返回调用本子程序处



上面所列出的程序模块Write_EnableWrite_DisableOsc_EnableOsc_Disable与单字节写入模块Write_Singlebyte的程序架构完全相同仅只是几个入口参数不同本文是为了强调功能使用的不同才将其分为不同模块另外,与涓流充电相关的设定也是单字节操作方式,这里就不再单独列出,用户在使用中可灵活简略.

下面模块举例说明如何单字节读出小时单元的内容.



Read_Singlebyte:



MOV            Command,#85h  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1