数码之家

 找回密码
 立即注册
搜索
查看: 5658|回复: 21

初学C语言,终于写出了一个RX8025T的时钟显示和设置的程序

[复制链接]
发表于 2021-6-18 12:40:47 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 广东梁百万 于 2021-6-18 12:42 编辑

初学的,程序写得很啰嗦。能显示出时钟和用按键调整时间日期,就是还有一点点小问题,过段时间修改正常再发上来让大家品评。
还发现一个问题,我这个RX8025T的电流好像有点大,用那个2032电池运行时,实测500uA, 是不是太大了?




61a1c4f3eac1241ada19f21d99e043c.jpg


使用STC8G1K17的硬件IIC接口
112.JPG

按键调整日期时要考虑润年的2月和误操作,比如我先前设置年是2020年,跟着设置2月的最大日期是29日, 发现错误后再回头设置年是2021,这时那个29日自动变回到最大是28.
11.JPG

打赏

参与人数 3家元 +38 收起 理由
cutter + 8 注释清楚,以資鼓勵
sunnyquan + 20 認真發帖
兔包公 + 10 注释清楚,以資鼓勵,

查看全部打赏

发表于 2021-6-18 13:26:56 | 显示全部楼层
梁百万出品,必属精品
回复 支持 反对

使用道具 举报

发表于 2021-6-18 13:37:33 | 显示全部楼层
3毛钱牛屎钟教你做人:lol:
回复 支持 1 反对 0

使用道具 举报

发表于 2021-6-18 13:42:49 来自手机浏览器 | 显示全部楼层
有完整的工程没?白嫖一下,不行就算了…
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-18 13:49:15 来自手机浏览器 | 显示全部楼层
触景情伤 发表于 2021-6-18 13:42
有完整的工程没?白嫖一下,不行就算了…

有的,待我过几天把一点小问题解决和把程序里用于测试的代码删除,到时发上来让大家品评
回复 支持 反对

使用道具 举报

发表于 2021-6-18 13:56:28 | 显示全部楼层
这么大待机电流,2032能用两天么?
回复 支持 反对

使用道具 举报

发表于 2021-6-18 14:00:43 来自手机浏览器 | 显示全部楼层
广东梁百万 发表于 2021-6-18 13:49
有的,待我过几天把一点小问题解决和把程序里用于测试的代码删除,到时发上来让大家品评 ...

手头有几个08a等楼主开源了…
回复 支持 反对

使用道具 举报

发表于 2021-6-18 14:25:22 | 显示全部楼层
sunnyquan 发表于 2021-6-18 13:56
这么大待机电流,2032能用两天么?

满电的话,大概可以用半个月:lol:
回复 支持 反对

使用道具 举报

发表于 2021-6-18 15:29:57 | 显示全部楼层
单独为8025做板?  我在别的板子用到8025
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-18 16:11:09 来自手机浏览器 | 显示全部楼层
inthsunshine 发表于 2021-6-18 15:29
单独为8025做板?  我在别的板子用到8025

整套板原本目的是为厂里一台机器做运行时间累计,这里的rx8025只是我做pcb板时顺便带上
回复 支持 反对

使用道具 举报

发表于 2021-6-18 16:36:03 | 显示全部楼层
本帖最后由 freemancn 于 2021-6-18 16:38 编辑

这个switch嵌套if的写法要改.
你可以定义一个有12个元素的常量数组,依次对应每个月的天数.然后使用月数做为数组下标直接读出月数.

打赏

参与人数 1家元 +10 收起 理由
广东梁百万 + 10 谢谢分享经验

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-18 16:42:24 来自手机浏览器 | 显示全部楼层
freemancn 发表于 2021-6-18 16:36
这个switch嵌套if的写法要改.
你可以定义一个有12个元素的常量数组,依次对应每个月的天数.然后使用月数做为 ...

初学的,其实我也不大懂。下载到板上测试也能用,至于有没有潜在风险就不知道,求指教,谢谢
回复 支持 反对

使用道具 举报

发表于 2021-6-18 16:55:13 | 显示全部楼层
没有运行风险,只是代码冗长,会增加出错的概率以及后期代码维护的负担.
我按你代码的大意给你一个实例代码,这段代码不见得直接能用,但能表达出我的意思

const unsigned char Days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30 ,31};

unsigned Month, Day;

Month = MONTH10 * 10 + MONTH1;
Day = DAY10 * 10 +DAY1;

if(Month == 2)
{
        //做2月的特殊处理
}
else if(Day > Days[Month]) Day = 1;

DAY10 = Day / 10;
DAY1= Day %10;

打赏

参与人数 1家元 +10 收起 理由
广东梁百万 + 10 非常感谢

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-18 19:53:53 | 显示全部楼层
触景情伤 发表于 2021-6-18 14:00
手头有几个08a等楼主开源了…

全部代码已经贴上了,欢迎点评和指教:
https://www.mydigit.cn/forum.php?mod=viewthread&tid=261128
回复 支持 反对

使用道具 举报

发表于 2021-6-18 21:01:44 | 显示全部楼层
感觉如果需要多日预定时的设定可以加入2月份的天数判断,如果只是时钟设置就用不到了,毕竟调表时都要知道当时的时间的,而实时显示时间是在8025中提取的也不涉及判断闰年。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-18 21:07:50 | 显示全部楼层
慕名而来 发表于 2021-6-18 21:01
感觉如果需要多日预定时的设定可以加入2月份的天数判断,如果只是时钟设置就用不到了,毕竟调表时都要知道 ...

你那个RX8025T的待机电流是多大?
我到时有空就拆下这个RX8025T,换上另外几个试试
回复 支持 反对

使用道具 举报

发表于 2021-6-19 11:03:42 | 显示全部楼层
广东梁百万 发表于 2021-6-18 21:07
你那个RX8025T的待机电流是多大?
我到时有空就拆下这个RX8025T,换上另外几个试试 ...

这个没测过,我的表用一节旧的18650(估测1000mA)一个多月充一次电挺好的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-20 09:02:57 来自手机浏览器 | 显示全部楼层
慕名而来 发表于 2021-6-19 11:03
这个没测过,我的表用一节旧的18650(估测1000mA)一个多月充一次电挺好的。 ...

我换了另一个,实测电流是5uA。看来这二手货质量参差不齐。
我那个rx8025t的电源电路与你的不同,我的是按资料说明那样就用两个肖特基二极管。
回复 支持 反对

使用道具 举报

发表于 2021-6-21 08:53:24 | 显示全部楼层
广东梁百万 发表于 2021-6-20 09:02
我换了另一个,实测电流是5uA。看来这二手货质量参差不齐。
我那个rx8025t的电源电路与你的不同,我的是 ...

看来再画8025的板子时应该留电流测试口了,如果是电池供电的话各种耗电是必须考虑的问题,如果是电源供电就无所谓了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-16 22:16:50 | 显示全部楼层
慕名而来 发表于 2021-6-21 08:53
看来再画8025的板子时应该留电流测试口了,如果是电池供电的话各种耗电是必须考虑的问题,如果是电源供电 ...

我的RX8025T运行一个多月了,大部分时间是2032电池运行的并且板了丢在一边,今天插上电看时间,对比手机的网络时间,竟然一秒不差。 神奇啊!
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-19 02:24 , Processed in 0.249601 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

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