找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于单片机的多功能万年历设计 一键切换12/24小时是在12点之前无法切换

[复制链接]
跳转到指定楼层
楼主
200黑币
请各位大佬帮忙看一下,一键切换12/24小时是在12点之前无法切换(例如11点的时候按下按键没有反应,不能切换成22点)不知道哪里写的不完善,还有一个问题是在设置时间时在设置”分“的时候会出现模糊的情况特别是有两位数的时候。麻烦大佬帮忙指导修改一下万分感谢.

11111111.jpg (630.2 KB, 下载次数: 5)

11111111.jpg

万年历.zip

242.39 KB, 下载次数: 3

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

使用道具 举报

沙发
ID:712097 发表于 2024-4-12 16:40 | 只看该作者
lcd.h文件第609行
i = *point & 0xff;
改为:
i = *point & 0x0f;

评分

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

查看全部评分

回复

使用道具 举报

板凳
ID:1115386 发表于 2024-4-18 12:24 | 只看该作者
chxelc 发表于 2024-4-12 16:40
lcd.h文件第609行
i = *point & 0xff;
改为:

感谢大佬指点,显示的问题我修改好了。就是第一个问题不知道如何修改,一键转换12/24小时这个功能有点缺陷,12点之前都无法一键转换,12点以后就可以了不知哪里出问题了求大佬帮忙看一看。
回复

使用道具 举报

地板
ID:1115386 发表于 2024-4-18 12:41 | 只看该作者
农历显示”初十“都显示为”一十“求大佬指点啊快奔溃了
回复

使用道具 举报

5#
ID:619259 发表于 2024-4-18 15:44 | 只看该作者
wuqing12345 发表于 2024-4-18 12:24
感谢大佬指点,显示的问题我修改好了。就是第一个问题不知道如何修改,一键转换12/24小时这个功能有点缺 ...

12点之前你想转换成什么?
回复

使用道具 举报

6#
ID:1115386 发表于 2024-4-18 17:14 | 只看该作者
cy009 发表于 2024-4-18 15:44
12点之前你想转换成什么?

我想的是11点转换为23点,然后23可以转换为11点这种他们可以互相转换的这种
回复

使用道具 举报

7#
ID:213173 发表于 2024-4-18 18:32 | 只看该作者
wuqing12345 发表于 2024-4-18 17:14
我想的是11点转换为23点,然后23可以转换为11点这种他们可以互相转换的这种

变量hour用24小时制计算运行,显示由一键切换分别取hour或hour%12。
回复

使用道具 举报

8#
ID:1115386 发表于 2024-4-18 19:17 来自手机 | 只看该作者
wulin 发表于 2024-4-18 18:32
变量hour用24小时制计算运行,显示由一键切换分别取hour或hour%12。

大佬可以分享一下代码嘛 搞不出来
回复

使用道具 举报

9#
ID:389873 发表于 2024-4-18 20:09 | 只看该作者
兄弟,这没问题吧,我是晚上8点测试的,切换后都是正确的啊。你说的是上午的时候吗?上午的时候确实也不应该换吧。

屏幕截图 2024-04-18 200743.png (8.92 KB, 下载次数: 5)

12小时

12小时

屏幕截图 2024-04-18 200845.png (9.8 KB, 下载次数: 5)

24小时

24小时
回复

使用道具 举报

10#
ID:213173 发表于 2024-4-18 20:30 | 只看该作者
wuqing12345 发表于 2024-4-18 19:17
大佬可以分享一下代码嘛 搞不出来

你使用的DS1302本身就自带12/24小时制切换功能,改写DS1302寄存器即可。


ds1302中文学习资料.rar (564.01 KB, 下载次数: 0)

回复

使用道具 举报

11#
ID:619259 发表于 2024-4-18 21:44 | 只看该作者
wuqing12345 发表于 2024-4-18 17:14
我想的是11点转换为23点,然后23可以转换为11点这种他们可以互相转换的这种

unsigned char hour_12;    //定义全局变量hour_12,12时制的时变量
/******************24时制转换12时制函数*****************/
void  Time_24_12()
{
       if(hour<13)     {hour_12 = hour;}         //hour为24时制的时变量
       if(hour>=13)   {hour_12 = hour-12;}  
}

//将此函数放在主循环中,且放在显示函数之前。
//在显示函数中,若显示24时制,用参数hour,若显示12时制,用参数hour_12。
回复

使用道具 举报

12#
ID:120219 发表于 2024-4-19 02:10 | 只看该作者
cy009 发表于 2024-4-18 21:44
unsigned char hour_12;    //定义全局变量hour_12,12时制的时变量
/******************24时制转换12 ...

24小时制,小时是0时就错了,12小时制中,小时不可为0
回复

使用道具 举报

13#
ID:619259 发表于 2024-4-19 10:02 | 只看该作者
xiexianxiao 发表于 2024-4-19 02:10
24小时制,小时是0时就错了,12小时制中,小时不可为0

请问大佬,12小时制中,凌晨0点该显示什么呢?
回复

使用道具 举报

14#
ID:120219 发表于 2024-4-19 14:02 | 只看该作者
cy009 发表于 2024-4-19 10:02
请问大佬,12小时制中,该显示什么呢?

12, 网上有12/24小时对照表,或将手机时间调到凌晨0点再设为12小时制
回复

使用道具 举报

15#
ID:120219 发表于 2024-4-19 14:13 | 只看该作者
cy009 发表于 2024-4-19 10:02
请问大佬,12小时制中,凌晨0点该显示什么

12,网上有12/24小时对照表,也可以将手机时间调到0时,再设为12小时制,就有答案
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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