微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > DS1302时钟芯片,怎么才能让它停止呢?操作不了秒寄存器的最高位。。。。

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

时间:10-02 整理:3721RD 点击:


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计时

楼上说的不错                     

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top