找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4948|回复: 1
打印 上一主题 下一主题
收起左侧

DS1302涓流充电时钟保持芯片的原理与应用

[复制链接]
跳转到指定楼层
楼主
ID:392097 发表于 2018-9-11 21:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要    本文概括介绍了 DS1302  时钟芯片的特点和基本组成    通过实例详细说明了有关功能的应用 软件    关于 DS1302 各寄存器的详细位控功能请参考 DALLAS 达拉斯 公司的相应产品资料


概述
DS1302 是 DALLAS 公司推出的涓流充电时钟芯片    内含有一个实时时钟/日历和 31 字节静态 RAM   通过简 单的串行接口与单片机进行通信    实时时钟/日历电路提供秒    分    时    日    日期        月    年的信息    每月的天 数和闰年的天数可自动调整    时钟操作可通过 AM/PM 指示决定采用 24 或 12 小时格式 DS1302 与单片机之 间能简单地采用同步串行的方式进行通信 仅需用到三个口线     1  RE  复位    2    数据线     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 的管脚排列及描述如下图及表所示

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
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_Enable     Write_Disable     Osc_Enable     Osc_Disable
与单字节写入模块 Write_Singlebyte 的程序架构完全相同 仅只是几个入口参数不同 本文是为了强调功 能使用的不同才将其分为不同模块 另外,与涓流充电相关的设定也是单字节操作方式,这里就不再单独列出, 用户在使用中可灵活简略
下面模块举例说明如何单字节读出    小时    单元的内容. Read_Singlebyte:

完整的pdf格式文档51黑下载地址:
DS1302中文数据手册.pdf (205.99 KB, 下载次数: 18)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:461604 发表于 2019-1-4 10:35 | 只看该作者
还有别的涓流充电芯片吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表