标题: 关于DS1302的12/24小时转换 [打印本页]

作者: 豆子十三    时间: 2016-10-13 09:54
标题: 关于DS1302的12/24小时转换
本帖最后由 豆子十三 于 2016-10-13 17:45 编辑

这两天作了一个使用DS1302的时钟,其中的12/24小时转换费事不小。又仔细研究了一个DS1302的资料,得出了一些数据,跟大家分享一下。
下图是DS1302有关小时的寄存器:



BIT7用来区别是12小时制还是24小时制,用一句:
if((shi&0x80)==0x80)判断最高位是不是1;这里的"shi"变量就是读出的小时数据。

BIT5在12小时制时是AM/PM判断位,可用一句:if((shi&0x20)==0x20)来知道。
BIT5在24小时制时为20小时位。

当12小时制时用一句:shi=shi&0x1f  ,就可将高三位去掉。

下图是从DS1302读出的小时数据与12/24小时制的关系:



作者: 新乡家电维修    时间: 2016-10-16 20:45
好贴,就要这种研究和分享精神




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1