工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->微机单片机电路图->单片机综合电路图->DS1302 时钟芯片的原理与应用

DS1302 时钟芯片的原理与应用

作者:dolphin时间:2011-05-05

DS1302 时钟芯片的原理与应用


DS1302 是DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31 字节静态RAM 通过简
单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天
数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式DS1302 与单片机之
间能简单地采用同步串行的方式进行通信仅需用到三个口线1 RES 复位2 I/O 数据线3 SCLK
串行时钟时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信DS1302 工作时功耗很
低保持数据和时钟信息时功率小于1mW
DS1302 是由DS1202 改进而来增加了以下的特性双电源管脚用于主电源和备份电源供应Vcc1 为可
编程涓流充电电源附加七个字节存储器它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等
产品领域下面将主要的性能指标作一综合
实时时钟具有能计算2100 年之前的秒分时日日期星期月年的能力还有闰年调整的能力
31 8 位暂存数据存储RAM
串行I/O 口方式使得管脚数量最少
宽范围工作电压2.0 5.5V
工作电流2.0V 时,小于300nA
读/写时钟或RAM 数据时有两种传送方式单字节传送和多字节传送字符组方式
8 脚DIP 封装或可选的8 脚SOIC 封装根据表面装配
简单3 线接口
与TTL 兼容Vcc=5V
可选工业级温度范围-40 +85
与DS1202 兼容
在DS1202 基础上增加的特性
对Vcc1 有可选的涓流充电能力
双电源管用于主电源和备份电源供应
备份电源管脚可由电池或大容量电容输入
附加的7 字节暂存存储器
1 DS1302 的基本组成和工作原理
DS1302 的管脚排列及描述如下图及表所示

管脚描述
X1 X2 32.768KHz 晶振管脚
GND 地
RST 复位脚
I/O 数据输入/输出引脚
SCLK 串行时钟
Vcc1,Vcc2 电源供电管脚
订单信息
部分# 描述
DS1302 串行时钟芯片8 脚DIP
DS1302S 串行时钟芯片8 脚SOIC 200mil
DS1302Z 串行时钟芯片8 脚SOIC 150mil
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 写入允许

ACALL Send_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 R0,#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



评论

技术专区