void SPI_Write_Byte(uchar tdata)
{
uint i;
DS1302_CS = 1;
delayNus(4);
for(i = 0;i < 8;i++)
{
DS1302_CLK = 0;
delayNus(3);
if((tdata&0x01) == 0x01)
DS1302_DATA = 1;
else
DS1302_DATA = 0;
DS1302_CLK = 1;
delayNus(3);
tdata >>=1;
}
// DS1302_CS = 0; //单字节写完,CS不能拉低,否则写不进去。必须是命令和数据写完再拉低还必须拉低,否则也写不进去。
} //必须和规格书时序一样2020.1.17实际测试
void main()
{
DS1302_CS = 0;
delayNms(10);
DS1302_CS = 1;
DS1302_CLK = 0;
SPI_Write_Byte(0x8E); //
SPI_Write_Byte(0x00);
DS1302_CS = 0;
// SPI_Write_Byte(0x80);
// SPI_Write_Byte(0x01);
// SPI_Write_Byte(0x82);
// SPI_Write_Byte(0x01);
// SPI_Write_Byte(0x84);
// SPI_Write_Byte(0x01);
// SPI_Write_Byte(0x86);
// SPI_Write_Byte(0x01);
// SPI_Write_Byte(0x88);
// SPI_Write_Byte(0x01);
// SPI_Write_Byte(0x8a);
// SPI_Write_Byte(0x01);
delayNus(3);
DS1302_CS = 1;
SPI_Write_Byte(0x8C);
SPI_Write_Byte(0x08);
DS1302_CS = 0;
// while(1);
}