DS1302时钟芯片,怎么才能让它停止呢?操作不了秒寄存器的最高位。。。。
时间:10-02
整理:3721RD
点击:
![](../imgqa/ele/mcu/mcu-3721rd.com-33326ei030avfq1n.jpg)
write_ds1302(0x8e,0x00); //写保护关
write_ds1302(0x80,0x80); //秒写入
write_ds1302(0x8e,0x80); //写保护开
这样写,秒显示80,并且时钟没有停,从80开始继续计时
uchar shi,tab;
tab=((shi/10)<<4|(shi%10)); //十进制转BCD码
shi=80; //写入十进制80
write_ds1302(0x8e,0x00); //写保护关
write_ds1302(0x80,tab); //秒写入
write_ds1302(0x8e,0x80); //写保护开
这样写,秒显示00,并且时钟依然没有停,从00开始继续计时
百度半天都没找到答案,求高手解答
把十进制数80转换成BCD码
80/10*16+80%10=128
把128写进去
write_ds1302(0x80,128); //秒写入
这样秒位显示80,时钟依然没有停止,继续从80计时
楼上说的不错