找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3289|回复: 1
收起左侧

关于DS1302的12/24小时转换

[复制链接]
ID:81249 发表于 2016-10-13 09:54 | 显示全部楼层 |阅读模式
本帖最后由 豆子十三 于 2016-10-13 17:45 编辑

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


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小时制的关系:
QQ截图20161013094134.png

评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:72088 发表于 2016-10-16 20:45 | 显示全部楼层
好贴,就要这种研究和分享精神
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表