DS1302时钟模块产品设计使用说明

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DS1302时钟模块

简要说明:

一、尺寸:全长26mm宽23mm高10mm

二、主芯片:DS1302

三、工作电压:直流5V

四、特点:电路简单实用,接线简单,地面有3V电池座,使用32.768khz晶振。

芯片简介:

介绍美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路DS1302的结构、工作原理及其在实时显示时间中的应用。它可以对年、月、日、周、日、时、分、秒进行计时,且具有闰年补偿等多种功能。

适用场合:单片机学习、电子竞赛、产品开发、毕业设计。。。使用说明:

【标注说明】

【参考原理图】

【PCB尺寸图】

【测试程序】

/********************************************************

实现功能:DS1302测试程序产品淘宝有售

使用芯片:AT89S52

晶振:11.0592MHZ

编译环境:Keil

【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!

********************************************************/

/*********************************包含头文件********************************/ #include "reg52.h"

#include

sbit DS1302_CLK = P1^0;

sbit DS1302_IO = P1^1;

sbit DS1302_RST = P1^2;

/*******************************共阳LED段码表*******************************/ unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

unsigned char wei[4]={0XEf,0XDf,0XBf,0X7f}; //位的控制端

/******************************定义全局变量*********************************/ unsigned char second,minute,hour,week,day,month,year; //秒、分、时、星期、日、月、年unsigned char time[]={0x06,0x03,0x14,0x03,0x12,0x30,0x00}; //初始时间数组

/****************************************************************************

函数功能:数码管扫描延时子程序

入口参数:

出口参数:

****************************************************************************/ void delay1(void)

{

int k;

for(k=0;k<400;k++);

}

/****************************************************************************

函数功能:数码管显示子程序

入口参数:k

出口参数:

void display(void)

{

P2=0XFF;

P0=tab[minute/16];

P2=wei[0];

delay1();

P2=0XFF;

P0=tab[minute%16];

P2=wei[1];

delay1();

P2=0XFF;

P0=tab[second/16];

P2=wei[2];

delay1();

P2=0XFF;

P0=tab[second%16];

P2=wei[3];

delay1();

P2=0XFF;

}

/***************************************************************************** 函数功能:向DS1302送一字节数据子程序

入口参数:

出口参数:

*****************************************************************************/ void InputByte(unsigned char byte1)

{

char i;

for(i=8;i>0;i--)

{

DS1302_IO=(bit)(byte1&0x01);

DS1302_CLK=1;

_nop_();

DS1302_CLK=0;

byte1>>=1;

}

return;

}

/***************************************************************************** 函数功能:读DS1302一个字节子程序

入口参数:

出口参数:

*****************************************************************************/ unsigned char outputbyte(void)

{

unsigned char i;

相关文档
最新文档