分享好友 电工资讯首页 电工资讯分类 切换频道

时钟芯片DS1302中文资料

2024-08-13 10:26490建材之家
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 的引脚功能排列及描述如下图所示.

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

Read_Singlebyte:
MOV             Command,#85h             ; 命令字节为85h
MOV             ByteCnt,#1                    ; 单字节传送模式
MOV             R1,#RcvDat                   数据地址覆给R1
ACALL          Receive_Byte                调用读出数据子程序
RET                                                     返回调用本子程序处


DS1302 应用电路原理图P87LPC764 单片机选取内部振荡及内部复位电路
附录数据发送与接收模块源程序清单
; CPU 工作频率最大不超过20MHz
;
; P87LPC762/4 主控器发送接受数据程序
; 说明本程序是利用Philips 公司的P87LPC764 单片机任何具有51 内核或其它合适的单片机都可在此
作为主控器的普通I/O 口(如P1.2/P1.3/P1.4)实现总线的功能对总线 上的器件本程序采用DS1302
进行读写操作命令字节在Command 传送字节数在ByteCnt 中所发送的数据在XmtDat 中所接收
的数据在RcvDat 中
;
;P87LPC762/4 主控器总线发送接受数据程序头文件
;内存数据定义
BitCnt           data      30h         ; 数据位计数器
ByteCnt        data      31h         ; 数据字节计数器
Command     data      32h         ; 命令字节地址
RcvDat         DATA  40H        ; 接收数据缓冲区
XmtDat         DATA 50H         ; 发送数据缓冲区
;端口位定义
IO_DATA    bit          P1.3       ; 数据传送总线
SCLK           bit         P1.4       ; 时钟控制总线
RST              bit         P1.2        ; 复位总线
;
;发送数据程序
;名称:Send_Byte
;描述:发送ByteCnt 个字节给被控器DS1302
;命令字节地址在Command 中
;所发送数据的字节数在ByteCnt 中发送的数据在XmtDat 缓冲区中
;
Send_Byte:
CLR       RST       ;复位引脚为低电平所有数据传送终止
NOP
CLR       SCLK     清时钟总线
NOP


SETB           RST                     ;复位引脚为高电平逻辑控制有效
NOP
MOV           A,Command         准备发送命令字节
MOV            BitCnt,#08h         传送位数为8
S_Byte0:
RRC            A                          将最低位传送给进位位C
MOV          IO_DATA,C         位传送至数据总线
NOP
SETB           SCLK                 时钟上升沿发送数据有效
NOP
CLR            SCLK                   清时钟总线
DJNZ             BitCnt,S_Byte0              位传送未完毕则继续
NOP
S_Byte1:                                            准备发送数据
MOV              A,@R0                        传送数据过程与传送命令相同
MOV             BitCnt,#08h
S_Byte2:
RRC A
MOV              IO_DATA,C
NOP
SETB             SCLK
NOP
CLR               SCLK
DJNZ             BitCnt,S_Byte2
INC                R0                              发送数据的内存地址加1
DJNZ             ByteCnt,S_Byte1        字节传送未完毕则继续
NOP     
CLR               RST                            逻辑操作完毕清RST
RET

;接收数据程序;
;名称:Receive_Byte
;描述:从被控器DS1302 接收ByteCnt 个字节数据
;命令字节地址在Command 中
;所接收数据的字节数在ByteCnt 中接收的数据在RcvDat 缓冲区中

Receive_Byte:
CLR             RST                            ;复位引脚为低电平所有数据传送终止
NOP
CLR             SCLK                        清时钟总线
NOP
SETB           RST                           ;复位引脚为高电平逻辑控制有效
MOV           A,Command              准备发送命令字节


MOV            BitCnt,#08h              传送位数为8

R_Byte0:
RRC              A                             将最低位传送给进位位C
MOV            IO_DATA,C           位传送至数据总线
NOP
SETB            SCLK                    时钟上升沿发送数据有效
NOP
CLR              SCLK                    清时钟总线
DJNZ            BitCnt,R_Byte0      位传送未完毕则继续
NOP           

R_Byte1:                                    准备接收数据
CLR             A                            清类加器
CLR              C                           清进位位C
MOV            BitCnt,#08h            接收位数为8
R_Byte2:
NOP
MOV            C,IO_DATA         数据总线上的数据传送给C
RRC             A                           从最低位接收数据
SETB            SCLK                   时钟总线置高
NOP
CLR             SCLK                   时钟下降沿接收数据有效
DJNZ           BitCnt,R_Byte2     位接收未完毕则继续
MOV          @R1,A                  接收到的完整数据字节放入接收内存缓冲区
INC            R1                          接收数据的内存地址加1
DJNZ         ByteCnt,R_Byte1    字节接收未完毕则继续
NOP
CLR           RST                        逻辑操作完毕清RST
RET

END

 直流参数表:

主要电参数表:

交流参数表:

电容配置表:

举报
收藏 0
打赏 0
评论 0
电气施工图纸会审工作要点
1、要审查设计图纸是否符合相关规范或有关技术质量标准,设计是否合理,考虑经济承受能力和投资取得的回报,设计和选用的产品应是开放型的,便于有条件时系统扩展、互联和信息共享。 2、要根据工程的特点和使用功能,明确业主对其项目的定位和需求。应提供意见和建议与业主,及早协调明确要设置哪些系统,以便所设系统与主体工程同步进行,避免主体完工后再上系统,难于施工,造成对建筑主体结构的破坏,加大返工

0评论2024-11-03409

看电气施工图纸时的注意事项
1、动力配电系统是否满足其他相关专业要求,控制原理是否合理。配电系统图线径、预埋管型号、回路编号与平面图上标注是否统一。 2、电缆桥架、插接母线、线槽等的位置、标高是否合理及便于安装,避免与风管、水管等“打架”,电专业图纸安装位置与其他专业安装位置不一等现象,现在设计中出现这种情况,各专业设计师间缺少协调和沟通,各自出图,就会出现如上所说的现象。我们施工前一定要把几个专业的安装

0评论2024-11-03349

哪些项目需填入操作票?哪些操作可不填写操作票?
下列项目须填入操作票内:1)应拉合的开关和刀闸;2)检查开关和刀闸的位置;3)检查接地线是否拆除;4)检查负荷分配和表计指示;5)装拆接地线;6)拉合控制回路、合闸回路的操作保险、合闸保险或刀闸;7)拉合保护回路的直流保险或刀闸,投退或切换保护压板;8)拉合电压互感器回路保险器、刀闸或开关;9)投退重合闸,联锁、同期开关;10)验电、放电。 下列操作可不填写操作票,但应执行操作监

0评论2024-11-03444

电流互感器误差计算流程图
按书上的排版方式讲电流互感器误差计算感觉不简洁、不清晰,就做了这个流程图出来,自我感觉不错。欢迎同行指正。

0评论2024-11-03327

PLC编程学习的好处
一、可以提高电脑水平。  学习PLC编程,首先要学会各种PLC、触摸屏软件安装和卸载,打字当然也是必不可少的要求,软件中的菜单的应用相当于把电脑的基础知识好好的学习了一番,一些人用电脑只会用鼠标点击,久而久之,这其实还是电脑盲,而学好PLC编程,键盘鼠标都要配合使用。在电脑硬件方面,电脑配置要求,串口以及外置接口在学习中自然而然学好了。  二、自然而然也学好了英语。  PLC软件里面的指令L

0评论2024-11-03412

怎样学好PLC编程
一、PLC主要是指数字运算操作电子系统的可编程逻辑控制器,用于控制机械的生产过程。也是公共有限公司、电源线车等的名称缩写。怎样学好PLC专业?步骤/方法:学习PLC首先要选好学习那一个厂家的PLC,日系的PLC内部软件集成度高应用简单。早期的OMRON、三菱应用比较多、现在由于贸易和国际间的合作关系应用西门子PLC、罗克韦尔的多一点,(尽管说学一种品牌学精深了,其他的也会很快上手,但人的精力

0评论2024-11-03428

PLC高手进阶之路
1.面对工作时最好能有自己的思路,有自己的想法。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。  2.PLC书本是必须的,电子书会浪费你更多的时间,当然网上学习是必不可少的,可以查阅PDF文档。  3.学习新的开发软件时,一定要看帮助手册。买的书不够全面。刚接触一个软件什么都不懂很正常,手册正是我们的好帮手,实在弄不懂在去问别人,每个人工作的时间都是很宝贵的。  4.不要蜻蜓

0评论2024-11-03348

配电箱及开关箱施工安装要点总结
1.配电箱及开关箱的设置(1)配电系统应设置总配电箱及分配电箱,实行分级配电。(2)开关箱应由末级分配电箱配电。(3)开关箱与控制的固定式用电设备的水平距离不宜超过3M。(4)配电箱、开关箱周围应有足够二人同时工作的空间和通道,不得堆放任何妨碍操作、维修的物品。(5)配电箱、开关箱应装设端正、牢固,移动式配电箱、开关箱应装设在坚固的支架上。固定式配电箱、开关箱下底大于1.3M,小于1.5M。

0评论2024-11-031054

发电机定子转子一点接地现象及处理方法
发电机定子一点接地:现象:1) 警铃响,发电机“定子一点接地”光字牌亮;2) 定子绝缘检查,接地的一相电压为零或降低,其余相为线电压或升高。处理:1) 据表计判明是真接地还是假接地;2) 如定子接地保护投了“跳闸”但保护拒动,应立即手动解列发电机;3) 定子接地保护投信号时,如发信应立即查找接地点,接地光字牌设法予以消除;4) 若为真接地,且外部回路设备无明显接地点,应迅速汇报值长、中调,然

0评论2024-11-03492

电容器检测方法
电容器检测方法主要分为三个大类:可变电容器的检测、电解电容器的检测、固定电容器的检测。  1、可变电容器的检测  A用手轻轻旋动转轴,应感觉十分平滑,不应感觉有时松时紧甚至有卡滞现象。将载轴向前、后、上、下、左、右等各个方向推动时,转轴不应有松动的现象。  B用一只手旋动转轴,另一只手轻摸动片组的外缘,不应感觉有任何松脱现象。转轴与动片之间接触不良的可变电容器,是不能再继续使用的。  C将万

0评论2024-11-03458