DS1302时钟芯片,怎么才能让它停止呢?操作不了秒寄存器的最高位。。。。

2019-07-15 15:23发布

153_131213164149_3.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开始继续计时


百度半天都没找到答案,求高手解答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
yipilangde
1楼-- · 2019-07-15 17:03
把十进制数80转换成BCD码

80/10*16+80%10=128

把128写进去
write_ds1302(0x80,128);    //秒写入

这样秒位显示80,时钟依然没有停止,继续从80计时
@曲终人散@
2楼-- · 2019-07-15 19:23
楼上说的不错                     

一周热门 更多>