找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 663|回复: 9
打印 上一主题 下一主题
收起左侧

大佬们ds1302模块怎样表示12进制?

[复制链接]
跳转到指定楼层
楼主
ID:1112477 发表于 2024-5-27 19:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void ds_init(uchar *uRc)
{uchar i;
Write Ds1302 Byte(0x8e,0x00);
for(i=0;i<3;i++)
{
Write Ds1302 Byte(w[ i],uRc[ i]);
Write Ds1302 Byte(0x8e,0x80);
}
Write Ds1302 Byte(0x8e,0x80);
}
void ds_read(uchar *uRc)
{uchar i;
for(i=0;i<3;i++)
{
uRc[ i]=Read Ds1302 Byte(rli]);
}
uchar time[]={0x88,0x50,0x50}
我把下面这个time带进去 时钟显示88

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:344848 发表于 2024-5-28 01:05 | 只看该作者
DS1302是一个实时时钟芯片,可以提供秒、分、小时、日期、月、年等信息,并且还有软年自动调整的能力,可以通过配置AM/PM来决定采用24小时格式还是12小时格式。
回复

使用道具 举报

板凳
ID:123289 发表于 2024-5-28 08:15 | 只看该作者
眉毛胡子一把抓了。
回复

使用道具 举报

地板
ID:1004920 发表于 2024-5-28 08:25 | 只看该作者
DS1302的读出来时分秒等字节,不能直接当数据拿来使用,它的个位和十位是单独输出的,字节的高四位是十位,低四位是个位,所以读出来的数据还得处理。
回复

使用道具 举报

5#
ID:1112477 发表于 2024-5-28 09:50 | 只看该作者
zch5200 发表于 2024-5-28 08:25
DS1302的读出来时分秒等字节,不能直接当数据拿来使用,它的个位和十位是单独输出的,字节的高四位是十位, ...

怎么处理呀大佬
回复

使用道具 举报

6#
ID:1112477 发表于 2024-5-28 09:52 | 只看该作者
我数码管把0x88高八位/16 第八位%16了还是显示88
回复

使用道具 举报

7#
ID:1112477 发表于 2024-5-28 09:52 | 只看该作者
yzwzfyz 发表于 2024-5-28 08:15
眉毛胡子一把抓了。

这是什么意思
回复

使用道具 举报

8#
ID:1004920 发表于 2024-5-28 16:27 | 只看该作者

比如 读到的 分钟num    给变量 fen
fen =( (num>>4)&0x0f)*10 + (num&0x0f);
时分秒年月日每个都要这样算下才能是真正的十进制的数,给数码管显示就正常了
回复

使用道具 举报

9#
ID:1112477 发表于 2024-5-28 18:48 | 只看该作者
zch5200 发表于 2024-5-28 16:27
比如 读到的 分钟num    给变量 fen
fen =( (num>>4)&0x0f)*10 + (num&0x0f);
时分秒年月日每个都要这 ...

哦哦谢谢我试试
回复

使用道具 举报

10#
ID:1034262 发表于 2024-5-29 17:10 | 只看该作者
可以软件处理啊
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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