DS1302时钟模块产品设计使用说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;