📄 ds1302.h
字号:
#define uchar unsigned char
sbit DS1302_CLK = P2^4; //实时时钟时钟线引脚
sbit DS1302_IO = P2^5; //实时时钟数据线引脚
sbit DS1302_RST = P2^3; //实时时钟复位线引脚
void write_1302(uchar data_1302)//向1302中写入一个字节
{
uchar i;
for(i=0;i<8;i++)
{
DS1302_IO=(bit)(data_1302&0x01);
DS1302_CLK=1;
DS1302_CLK=0;
data_1302>>=1;
}
}
uchar read_1302(void) //从1302中读取一个字节
{
uchar i,data_1302;
for(i=0;i<8;i++)
{
data_1302>>=1;
if(DS1302_IO)
{
data_1302|=0x80;
}
DS1302_CLK=1;
DS1302_CLK=0;
}
return (data_1302);
}
//读出1302的时间序列
void read_serial(uchar j[8])
{
uchar i;
DS1302_RST = 0;
DS1302_CLK = 0;
DS1302_RST = 1;
write_1302(0xbf);//0xbf为连续读出的命令代码
for(i=0;i<8;i++)
{
j[i] = read_1302();
}
DS1302_CLK = 1;
DS1302_RST = 0;
}
//写入1302的时间序列
void write_date_time(uchar j[8])
{
uchar i;
DS1302_RST = 0;
DS1302_CLK = 0;
DS1302_RST = 1;
write_1302(0xbe);//0xbe为连续写入的命令代码
for(i=0;i<8;i++)
{
write_1302(j[i]);
}
DS1302_CLK = 1;
DS1302_RST = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -