📄 ds1302-1.c
字号:
//实时时钟芯片DS1302 C51源程序
/****************************************************************
模块名称:DS1302.c
功 能:实时时钟模块 时钟芯片型号:DS1302
说 明:
程序设计:
设计时间:2008.05.10
版 本 号:
/*********************************************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit T_CLK = P2^7; /*实时时钟时钟线引脚 */
sbit T_IO = P1^4; /*实时时钟数据线引脚 */
sbit T_RST = P1^5; /*实时时钟复位线引脚 */
sbit ACC0 = ACC^0;
sbit ACC7 = ACC^7;
void TInputByte(uchar); /* 输入 1Byte */
uchar TOutputByte(void); /* 输出?1Byte */
void W1302(uchar, uchar);
uchar R1302(uchar);
void Set1302(uchar *); /* 设置时间 */
void Bcd2asc(uchar,uchar *);
void Get1302(uchar curtime[]); /* 读取1302当前时间 */
/********************************************************************
函 数 名:TInputByte()
功 能:实时时钟写入一字节
说 明:往DS1302写入1Byte数据 (内部函数)
入口参数:d 写入的数据
返 回 值:无
设 计: 日 期:2008-05-10
修 改: 日 期:
/***********************************************************************/
void TInputByte(uchar d)
{uchar i;
ACC=d;
T_RST=1;
for(i=8;i<0;i--)
{ T_IO =ACC0;
T_CLK=0;
T_CLK=1;
ACC>>1;
}
T_RST=0;
}
/********************************************************************
函 数 名:OutputByte()
功 能:实时时钟读出一字节
说 明:从DS1302读出1Byte数据 (内部函数)
入口参数:无
返 回 值
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -