找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 1585|回复: 5
打印 上一主题 下一主题
收起左侧

关于51单片机DS3231时钟程序的问题

[复制链接]
跳转到指定楼层
楼主
ID:978416 发表于 2022-11-14 17:24 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在论坛看了一个关于DS3231时钟芯片数码管显示的程序有这么一段,有没有懂的帮忙说一下是什么意思吗,还有就是为什么要加这个转换

单片机源程序如下:
uchar BCD2HEX(uchar val)    //BCD转换为Byte
{
   return    ((val>>4)*10)+(val&0x0f);
}
uchar HEX2BCD(uchar val)    //B码转换为BCD码
{
   return  (((val%100)/10)<<4)|(val%10);
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

举报

6#
ID:784227 发表于 2022-11-17 21:11 | 只看该作者
bcd码转换为hex进行计算
回复

举报

5#
ID:883242 发表于 2022-11-17 19:57 | 只看该作者
BCD码0x99表示99
hex十六进制0x63表示99
然后你自己算,怎么处理才能正确显示。
回复

举报

地板
ID:584814 发表于 2022-11-17 18:28 | 只看该作者
就是进制的转换。
具体要看全部程序才能说清
回复

举报

板凳
ID:123289 发表于 2022-11-15 09:28 | 只看该作者
工程问题要了解输入是什么?输出需要长什么样子。
程序中的目的,就是将输出的样子,变换成输出所需要的样子。
回复

举报

沙发
ID:624769 发表于 2022-11-14 18:03 | 只看该作者
BCD转 HEX  方便计算,   HEX转 BCD 方便显示。而,DS3231的存储格式,就是符合方便显示的 BCD 格式。具体是否要 互转,主要看你有没有需要计算,否则就 直接BCD即可。
回复

举报

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

本版积分规则

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

Powered by 单片机教程网

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