📄 ds1302.c
字号:
#ifndef DS1302_C
#define DS1302_C
#include "ds1302.h"
uchar readdata(uchar addr)
{
uchar c,i;
EA = 0;
DS1302_RST = 1;
// DS1302_CLK = 0;
for(i=0;i<8;i++)
{
DS1302_CLK = 0;
if(addr&0x01)
DS1302_IO = 1;
else
DS1302_IO = 0;
addr >>= 1;
DS1302_CLK = 1;
}
for(i=0;i<8;i++)
{
c >>= 1;
DS1302_CLK = 0;
DS1302_IO = 1;
if(DS1302_IO == 1)
c |= 0x80;
DS1302_CLK = 1;
}
DS1302_RST = 0;
DS1302_CLK = 0;
EA = 1;
return c;
}
void writedata(uchar addr,uchar dat)
{
uchar i;
EA = 0;
DS1302_RST = 1;
// DS1302_CLK = 0;
for(i=0;i<8;i++)
{
DS1302_CLK = 0;
if(addr&0x01)
DS1302_IO = 1;
else
DS1302_IO = 0;
addr >>= 1;
DS1302_CLK = 1;
}
for(i=0;i<8;i++)
{
DS1302_CLK = 0;
if(dat&0x01)
DS1302_IO = 1;
else
DS1302_IO = 0;
dat >>= 1;
DS1302_CLK = 1;
}
DS1302_RST = 0;
DS1302_CLK = 0;
EA = 1;
}
void initds1302()
{
EA = 0;
DS1302_RST = 0;
DS1302_CLK = 0;
DS1302_IO = 0;
EA = 1;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -