标题: 基于ds1302和51单片机实现数码管时钟调节时间程序调试 [打印本页]

作者: 溯游    时间: 2023-6-23 11:05
标题: 基于ds1302和51单片机实现数码管时钟调节时间程序调试
我是按照普中51单片机学习的ds1302用数码管显示时钟

这部分已经可以实现了,但我想增加调节时间的功能

想法是通过独立按键,按下第一个小时加一,按下第二个分钟加一,按下第三个秒归零

但是烧录后出现问题,时间可以正常显示变动,但是通过按键控制调节时间部分无法实现
按键1、2按下后都是没有任何反应的
唯一可以观察到的现象是按键3按下后秒停止变动
(尝试了秒到60的时候按住按键2,但是分钟数仍然可以变动)

代码和现象视频在附件
求解答求解答!!!

DS1302程序源码.rar

51.3 KB, 下载次数: 37

现象演示视频.rar

8.32 MB, 下载次数: 10


作者: xianfajushi    时间: 2023-6-23 17:09
看我帖子有论述过,按键调节有代码,也有定时蜂鸣代码荔枝,同时也有抛开时钟芯片,用定时器做时钟的荔枝。
作者: man1234567    时间: 2023-6-24 09:15
可以参照普中官网上的例程自己搞定。
作者: 溯游    时间: 2023-6-24 09:58
man1234567 发表于 2023-6-24 09:15
可以参照普中官网上的例程自己搞定。

普中的例程只教学到实现时钟,没有用按键调节时间的部分,我的问题也就是在调节时间部分
作者: wulin    时间: 2023-6-24 10:12
单键短按切换时/分模式,长按调整时/分。 8位数码管时钟仿真.rar (113.26 KB, 下载次数: 15)





作者: yzwzfyz    时间: 2023-6-24 11:11
方案:
将显示、时钟、按键程序隔离:
1、显示程序,每次秒中断后显示一下,其时分秒只从S,F,M这三个变量中取数显示,不做其它变更处理。
2、时钟程序:只是每秒刷新一个S,F,M变量(M+1,……),不做显示处理。
3、按键程序:K1将S+1(24=0),K2将F+1(60=0),K3将S=0。
这样就不就清清楚楚,明明白白了。
作者: lkc8210    时间: 2023-6-27 22:34
代码正常


作者: 溯游    时间: 2023-7-16 01:03
lkc8210 发表于 2023-6-27 22:34
代码正常

这个是我的代码吗,是正常的?




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