找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3706|回复: 2
收起左侧

这个ds1302显示时秒分的十位数为什么除以16 啊 什么意思啊 求助

[复制链接]
ID:269608 发表于 2017-12-31 21:35 | 显示全部楼层 |阅读模式
        DisplayData[0] = DIG_CODE[TIME[2]/16];                                //时
                DisplayData[1] = DIG_CODE[TIME[2]&0x0f];        
这个ds1302显示时秒分的十位数为什么除以16 啊 什么意思啊,,数组DIG_CODE[TIME[2]&0x0f];里边可以放16进制的吗

回复

使用道具 举报

ID:82765 发表于 2017-12-31 22:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

ID:269652 发表于 2018-1-1 07:59 来自触屏版 | 显示全部楼层
因为ds1302读出的是压缩BCD码,经这样转化后变十进制 注意: BCD就是用4位二进制数表示0-9共10个数字, 压缩,就是用一个字节,表示两位十进制数,比如21,对应的字节就是21H 非压缩 就是用一个字节 表示一位十进制数 比如21,对应的字节就是 02H ,01H 关于BCD码,压缩BCD码,和压缩BCD转十进制请 百度一下

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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