关于DS1302的12/24小时转换
时间:10-02
整理:3721RD
点击:
这两天作了一个使用DS1302的时钟,其中的12/24小时转换费事不小。又仔细研究了一个DS1302的资料,得出了一些数据,跟大家分享一下。
下图是DS1302有关小时的寄存器:
BIT7用来区别是12小时制还是24小时制,用一句:
if((shi&0x80)==0x80)判断最高位是不是1;这里的时就是读出的小时数据。
BIT5在12小时制时是AM/PM判断位,可用一句:if((shi&0x20)==0x20)来知道。
BIT5在24小时制时为20小时位。
当12小时制时用一句:shi=shi&0x1f ,就可将高三位去掉。
下图是从DS1302读出的小时数据与12/24小时制的关系:
下图是DS1302有关小时的寄存器:
BIT7用来区别是12小时制还是24小时制,用一句:
if((shi&0x80)==0x80)判断最高位是不是1;这里的时就是读出的小时数据。
BIT5在12小时制时是AM/PM判断位,可用一句:if((shi&0x20)==0x20)来知道。
BIT5在24小时制时为20小时位。
当12小时制时用一句:shi=shi&0x1f ,就可将高三位去掉。
下图是从DS1302读出的小时数据与12/24小时制的关系:
值得学学一下~!~!
谢谢大家的分享。谢谢。
这个是非常不错的经验资料 感谢分享
小编有DS1302+AT89C2051四位电子钟资料吗
没接触过AT89C2051,你可以搜一下,以前看到过。
好的,知道了,多谢分享你资料。