<1> 单字节写的时序
    fce6a275d3403232206f0328349c90a3.jpg
    底层驱动代码实现可参考如下:
    void DS1302WriteByte(unsigned char addr, unsigned char dat)
    {
    unsigned char n;
    RST = 0;
    _nop
    ();
    SCLK = 0;
    nop();
    RST = 1;
    nop();

    1. 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 />}