找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求大佬告诉怎么把51单片机的时间输出进行算术运算

[复制链接]
跳转到指定楼层
#
本帖最后由 happy100t 于 2021-12-16 22:50 编辑

void TimeShow(void)//时间显示功能
{
        DS1302_ReadTime();//读取时间
        LCD_ShowNum(1,1,DS1302_Time[0],2);//显示年
        LCD_ShowNum(1,4,DS1302_Time[1],2);//显示月
        LCD_ShowNum(1,7,DS1302_Time[2],2);//显示日
        LCD_ShowNum(2,1,DS1302_Time[3],2);//显示时
        LCD_ShowNum(2,4,DS1302_Time[4],2);//显示分
        LCD_ShowNum(2,7,DS1302_Time[5],2);//显示秒
}

需要什么代码可以把时间输出 时 和 秒  能与其他数字进行加减法运算得出新的数字
设置一参数为:“1 2 3 4 时间就是以上时间13:00:03”。那么生成的数就为“1300+1234”为“2534




11.png (350.13 KB, 下载次数: 37)

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

举报

9#
ID:811253 发表于 2021-12-18 17:07 | 只看该作者
你得先把时间组合成一个数如13:22   A=13*100+22  B = 1234    这样就可以加了 A+B
回复

举报

8#
ID:401564 发表于 2021-12-17 20:20 | 只看该作者
感觉这种问题,就不要就过程来提问,应该就想要的结果来提问
你直接说你要干嘛就行了
比如:我要把时间全部发送到串口
我要上位机控制,可以设定时间
还是说你加密
回复

举报

7#
ID:624769 发表于 2021-12-17 20:10 | 只看该作者
happy100t 发表于 2021-12-16 22:46
就是先设置一个参数为:“1 2 3 4” 时间就是13:00:46”。然后生成的数就为“1300+1234”为“ 2534”

到底 是  时 和 秒 要计算, 还是 时和分要计算啊? 怎么越看越迷糊呢?
回复

举报

6#
ID:139866 发表于 2021-12-17 11:29 | 只看该作者
DS1302_Time[],建议仔细研究一下这个数组,研究明白了你这个问题就有答案了
回复

举报

5#
ID:277550 发表于 2021-12-17 11:00 | 只看该作者

使用 time_t,容易计算,,,,计算完转回yyyy-MM-dd HH:mm:ss格式
回复

举报

地板
ID:230742 发表于 2021-12-17 02:09 | 只看该作者
这是要做随机刷新密匙吧。高级。
我也学习学习。
回复

举报

板凳
ID:991420 发表于 2021-12-16 22:46 | 只看该作者
就是先设置一个参数为:“1 2 3 4” 时间就是13:00:46”。然后生成的数就为“1300+1234”为“ 2534”
回复

举报

沙发
ID:624769 发表于 2021-12-16 21:51 | 只看该作者
关键是看你要做什么计算了……  BCD 加法的话, 直接加完以后做个DA修正就好了。其他运算的话,要先转码。
回复

举报

楼主
ID:908826 发表于 2021-12-16 21:38 | 只看该作者
你估计还是没看懂你定义的那个用来获取时间信息的数组是什么意思。
回复

举报

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

本版积分规则

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

Powered by 单片机教程网

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