找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

这个单片机LCD1602时钟程序到底哪里出问题了?

查看数: 2503 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-10-31 18:15

正文摘要:

为什么我程序里定义了星期,这上面却不显示?显示用的是LCD1602,时钟用的是DS1302.求解 单片机源程序如下: /***************************************************************************************** ...

回复

ID:88256 发表于 2020-10-31 20:58
你这程序是拼凑的吗?你的年月日等为了显示都是+30转换成ASCII码,但星期的显示方式却是不一样,是字符串直接显示,而判断却是1到7,但是从1302提取数据后却习惯性+30(286行的day=(read_clock(0x8b)%16)+0x30; //星期),这样肯定造成判断错误而不会显示星期的英文字母串,把+30去掉试试吧

评分

参与人数 1黑币 +5 收起 理由
gqzjl + 5 谢谢,问题已解决!

查看全部评分

ID:639106 发表于 2023-5-3 07:22
hhdsdy 发表于 2020-11-1 17:54
你的程序都贴在这里了,不管问题怎么解决的,说一下哪里出错怎么解决的,也给大家学习一下吧。

Emmm,一眨眼就过了三年。刚刚翻了下以前的程序,第286行的day=(read_clock(0x8b)%16)+0x30;只要改成day=read_clock(0x8b);就行了(+0x30是转成ASCII,%16是取低位)
ID:88256 发表于 2020-11-1 17:54
gqzjl 发表于 2020-11-1 10:17
谢谢大佬们的帮助,问题解决了

你的程序都贴在这里了,不管问题怎么解决的,说一下哪里出错怎么解决的,也给大家学习一下吧。
ID:639106 发表于 2020-11-1 10:17
谢谢大佬们的帮助,问题解决了
ID:592261 发表于 2020-10-31 22:44
加一个default测试一下
ID:568565 发表于 2020-10-31 20:35
switch (day)里面加一个default测试一下有没有显示,如果有显示就是day有问题

评分

参与人数 1黑币 +4 收起 理由
gqzjl + 4 赞一个!

查看全部评分

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

Powered by 单片机教程网

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