<1> 单字节写的时序

底层驱动代码实现可参考如下:
void DS1302WriteByte(unsigned char addr, unsigned char dat)
{
unsigned char n;
RST = 0;
_nop();
SCLK = 0;
nop();
RST = 1;
nop();
for (n=0; n<8; n++) //发送要写入数据的内存地址<br /> {<br /> DSIO = addr & 0x01;<br /> addr >>= 1;<br /> SCLK = 1;<br /> _nop_();<br /> SCLK = 0;<br /> _nop_();<br /> }<br /> for (n=0; n<8; n++) //将指定内容写入该地址的内存<br /> {<br /> DSIO = dat & 0x01;<br /> dat >>= 1;<br /> SCLK = 1;<br /> _nop_();<br /> SCLK = 0;<br /> _nop_();<br /> } <br /> RST = 0;<br /> _nop_();<br />}
