标题: 基于单片机的多功能万年历设计 一键切换12/24小时是在12点之前无法切换 [打印本页]

作者: wuqing12345    时间: 2024-4-12 07:53
标题: 基于单片机的多功能万年历设计 一键切换12/24小时是在12点之前无法切换
请各位大佬帮忙看一下,一键切换12/24小时是在12点之前无法切换(例如11点的时候按下按键没有反应,不能切换成22点)不知道哪里写的不完善,还有一个问题是在设置时间时在设置”分“的时候会出现模糊的情况特别是有两位数的时候。麻烦大佬帮忙指导修改一下万分感谢.

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

11111111.jpg

万年历.zip

242.39 KB, 下载次数: 5


作者: chxelc    时间: 2024-4-12 16:40
lcd.h文件第609行
i = *point & 0xff;
改为:
i = *point & 0x0f;

作者: wuqing12345    时间: 2024-4-18 12:24
chxelc 发表于 2024-4-12 16:40
lcd.h文件第609行
i = *point & 0xff;
改为:

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

作者: wuqing12345    时间: 2024-4-18 12:41
农历显示”初十“都显示为”一十“求大佬指点啊快奔溃了
作者: cy009    时间: 2024-4-18 15:44
wuqing12345 发表于 2024-4-18 12:24
感谢大佬指点,显示的问题我修改好了。就是第一个问题不知道如何修改,一键转换12/24小时这个功能有点缺 ...

12点之前你想转换成什么?
作者: wuqing12345    时间: 2024-4-18 17:14
cy009 发表于 2024-4-18 15:44
12点之前你想转换成什么?

我想的是11点转换为23点,然后23可以转换为11点这种他们可以互相转换的这种
作者: wulin    时间: 2024-4-18 18:32
wuqing12345 发表于 2024-4-18 17:14
我想的是11点转换为23点,然后23可以转换为11点这种他们可以互相转换的这种

变量hour用24小时制计算运行,显示由一键切换分别取hour或hour%12。
作者: wuqing12345    时间: 2024-4-18 19:17
wulin 发表于 2024-4-18 18:32
变量hour用24小时制计算运行,显示由一键切换分别取hour或hour%12。

大佬可以分享一下代码嘛 搞不出来
作者: 一介清流    时间: 2024-4-18 20:09
兄弟,这没问题吧,我是晚上8点测试的,切换后都是正确的啊。你说的是上午的时候吗?上午的时候确实也不应该换吧。

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

12小时

12小时

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

24小时

24小时

作者: wulin    时间: 2024-4-18 20:30
wuqing12345 发表于 2024-4-18 19:17
大佬可以分享一下代码嘛 搞不出来

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


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


作者: cy009    时间: 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。
作者: xiexianxiao    时间: 2024-4-19 02:10
cy009 发表于 2024-4-18 21:44
unsigned char hour_12;    //定义全局变量hour_12,12时制的时变量
/******************24时制转换12 ...

24小时制,小时是0时就错了,12小时制中,小时不可为0
作者: cy009    时间: 2024-4-19 10:02
xiexianxiao 发表于 2024-4-19 02:10
24小时制,小时是0时就错了,12小时制中,小时不可为0

请问大佬,12小时制中,凌晨0点该显示什么呢?
作者: xiexianxiao    时间: 2024-4-19 14:02
cy009 发表于 2024-4-19 10:02
请问大佬,12小时制中,该显示什么呢?

12, 网上有12/24小时对照表,或将手机时间调到凌晨0点再设为12小时制
作者: xiexianxiao    时间: 2024-4-19 14:13
cy009 发表于 2024-4-19 10:02
请问大佬,12小时制中,凌晨0点该显示什么

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




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1