DS1302芯片资料Word文档下载推荐.doc

上传人:wj 文档编号:8429920 上传时间:2023-05-11 格式:DOC 页数:13 大小:764.50KB
下载 相关 举报
DS1302芯片资料Word文档下载推荐.doc_第1页
第1页 / 共13页
DS1302芯片资料Word文档下载推荐.doc_第2页
第2页 / 共13页
DS1302芯片资料Word文档下载推荐.doc_第3页
第3页 / 共13页
DS1302芯片资料Word文档下载推荐.doc_第4页
第4页 / 共13页
DS1302芯片资料Word文档下载推荐.doc_第5页
第5页 / 共13页
DS1302芯片资料Word文档下载推荐.doc_第6页
第6页 / 共13页
DS1302芯片资料Word文档下载推荐.doc_第7页
第7页 / 共13页
DS1302芯片资料Word文档下载推荐.doc_第8页
第8页 / 共13页
DS1302芯片资料Word文档下载推荐.doc_第9页
第9页 / 共13页
DS1302芯片资料Word文档下载推荐.doc_第10页
第10页 / 共13页
DS1302芯片资料Word文档下载推荐.doc_第11页
第11页 / 共13页
DS1302芯片资料Word文档下载推荐.doc_第12页
第12页 / 共13页
DS1302芯片资料Word文档下载推荐.doc_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DS1302芯片资料Word文档下载推荐.doc

《DS1302芯片资料Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《DS1302芯片资料Word文档下载推荐.doc(13页珍藏版)》请在冰点文库上搜索。

DS1302芯片资料Word文档下载推荐.doc

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

ByteCnt,#1 

单字节传送模式

R0,#XmtDat 

数据地址覆给R0

XmtDat,#00h 

数据内容为0写入允许

ACALLSend_Byte 

用写入数据子程序

RET 

返回调用本子程序处

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

Write_Disable:

Command,#8Eh 

ByteCnt,#1 

;

R0,#XmtDat 

数据地址覆给R0

XmtDat,#80h 

数据内容为80h禁止写入

ACALL 

Send_Byte 

调用写入数据子程序

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

的程序亦使用了这个模块

2时钟停止位操作

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

Osc_Enable:

Command,#80h 

命令字节为80

单字节传送模式

0,#XmtDat 

数据内容为0振荡器工作允许

Send_Byte 

返回调用本子程序处

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

Osc_Disable:

命令字节为80

XmtDat,#80h 

数据内容为80h振荡器停止

调用写入数据子程序

3.多字节传送方式

当命令字节为BE或BF时DS1302工作在多字节传送模式8个时钟/日历寄存器从寄存器0地址开

始连续读写从0位开始的数据当命令字节为FE或FF时DS1302工作在多字节RAM传送模式31个

RAM寄存器从0地址开始连续读写从0位开始的数据

例如写入00年6月21日星期三13时59分59秒程序设置如下

Write_Multiplebyte:

Command,#0BEh 

命令字节为BEh

ByteCnt,#8 

多字节写入模式此模块为8个

XmtDat,#59h 

秒单元内容为59h

XmtDat+1,#59h 

分单元内容为59h

XmtDat+2,#13h 

时单元内容为13h

XmtDat+3,#21h 

日期单元内容为21h

XmtDat+4,#06h 

月单元内容为06h

XmtDat+5,#03h 

星期单元内容为03h

XmtDat+6,#0 

年单元内容为00h

XmtDat+7,#0 

写保护单元内容为00h

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

Read_Multiplebyte:

Command,#0BFh 

命令字节为BFh

ByteCnt,#8;

多字节读出模式此模块为8个

R1,#RcvDat 

数据地址覆给R1

Receive_Byte 

调用读出数据子程序

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

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

4.单字节传送方式

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

Write_Singlebyte:

Command,#84h 

命令字节为84h

XmtDat,#88h 

数据内容为88h

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

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

Read_Singlebyte:

Command,#85h 

命令字节为85h

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 

31h 

数据字节计数器

Command 

32h 

命令字节地址

RcvDat 

DATA 

40H 

接收数据缓冲区

XmtDat 

DATA50H 

发送数据缓冲区

端口位定义

IO_DATA 

bit 

P1.3 

数据传送总线

SCLK 

P1.4 

时钟控制总线

RST 

P1.2 

复位总线

发送数据程序

名称:

Send_Byte

描述:

发送ByteCnt个字节给被控器DS1302

命令字节地址在Command中

所发送数据的字节数在ByteCnt中发送的数据在XmtDat缓冲区中

Send_Byte:

CLR 

RST 

复位引脚为低电平所有数据传送终止

NOP

清时钟总线

SETB 

复位引脚为高电平逻辑控制有效

A,Command 

准备发送命令字节

BitCnt,#08h 

传送位数为8

S_Byte0:

RRC 

将最低位传送给进位位C

IO_DATA,C 

位传送至数据总线

时钟上升沿发送数据有效

DJNZ 

BitCnt,S_Byte0 

位传送未完毕则继续

S_Byte1:

准备发送数据

A,@R0 

传送数据过程与传送命令相同

BitCnt,#08h

S_Byte2:

RRCA

IO_DATA,C

SCLK

BitCnt,S_Byte2

INC 

R0 

发送数据的内存地址加1

ByteCnt,S_Byte1 

字节传送未完毕则继续

NOP 

逻辑操作完毕清RST

RET

接收数据程序;

Receive_Byte

从被控器DS1302接收ByteCnt个字节数据

所接收数据的字节数在ByteCnt中接收的数据在RcvDat缓冲区中

Receive_Byte:

清时钟总线

A,Command 

BitCnt,#08h 

R_Byte0:

IO_DATA,C 

SCLK 

BitCnt,R_Byte0 

位传送未完毕则继续

R_Byte1:

准备接收数据

清类加器

清进位位C

接收位数为8

R_Byte2:

C,IO_DATA 

数据总线上的数据传送给C

从最低位接收数据

时钟总线置高

时钟下降沿接收数据有效

BitCnt,R_Byte2 

位接收未完毕则继续

@R1,A 

接收到的完整数据字节放入接收内存缓冲区

R1 

接收数据的内存地址加1

ByteCnt,R_Byte1 

字节接收未完毕则继续

逻辑操作完毕清RST

END

直流参数表:

主要电参数表:

交流参数表:

电容配置表:

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

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2