找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51单片机数字时钟 为什么减到0后在减就出现乱数 时分秒都是这样的

查看数: 3027 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-1-2 14:59

正文摘要:

单片机源程序如下: #include <reg52.h> #include <intrins.h> #define uint unsigned int #define uchar unsigned char sbit J9A = P2^2; sbit J9B = P2^3; sbit J9C = P2^4; sbit k1 = P1^0; sb ...

回复

ID:517951 发表于 2021-1-2 18:08
我在调试过程中也出现过这个问题,要将时分秒设置为char 类型的。
sec--; if(sec <0) sec = 59;
sec++; if(sec >59) sec = 0;
之后就显示正常了

评分

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

查看全部评分

ID:638158 发表于 2021-1-2 17:18
wulin 发表于 2021-1-2 16:27
定义为有符号字符类型
char sec = 52;
char min = 58;

感谢,刚试了,没问题了!
ID:213173 发表于 2021-1-2 16:27
定义为有符号字符类型
char sec = 52;
char min = 58;
char hour = 23;或写成
sec--;
if(sec >6 0)
sec = 59;

评分

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

查看全部评分

ID:373388 发表于 2021-1-2 15:39
计算机单字节无符号数 0-1 = 0xff = 255 ,用255查表可能查出表格之外乱码处了

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

Powered by 单片机教程网

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