ds1302.h

来自「本文设计实现的是一个多功能数字电子钟」· C头文件 代码 · 共 87 行

H
87
字号
#define uchar unsigned char
#define uint unsigned int
sbit ds1302_rst=P2^2;
sbit ds1302_clk=P2^3;
sbit ds1302_io=P2^4;
uchar aa[8];
void delay(uchar z)
{
	uchar x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
}

void write_1302(uchar date)
{
	uchar i,j;
	j=date;
	ds1302_clk=0;
	for(i=0;i<8;i++)
	{
		ds1302_io=j&0x01;
		ds1302_clk=1;
		ds1302_clk=0;
		j=j>>1;
	}
}

uchar read_1302(void)		
{
	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);
}


void read_serial(uchar j[8])
{
	uchar i;
	ds1302_rst=0;
	ds1302_clk=0;
	ds1302_rst=1;
	write_1302(0xbf);
	for(i=0;i<8;i++)
	{
		j[i]=read_1302();
	}
	ds1302_rst=0;
	ds1302_clk=1;
}


/*void write_serial(uchar j[8])
{
	uchar i;
	ds1302_rst=0;
	ds1302_clk=0;
	ds1302_rst=1;
	write_1302(0xbe);
	for(i=0;i<8;i++)
	{
		write_1302(j[i]);
	}
	ds1302_rst=0;
	ds1302_clk=1;
}*/

void write_a(uchar add,uchar date)
{
	ds1302_rst=0;
	ds1302_clk=0;
	ds1302_rst=1;
	write_1302(add);
	write_1302(date);		
	ds1302_clk=1;
	ds1302_rst=0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?