找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2522|回复: 8
收起左侧

求教STC12C5A60S2单片机DS1302,DS18B20实现温度显示,DS1302读写问题

[复制链接]
ID:889094 发表于 2021-3-23 20:48 | 显示全部楼层 |阅读模式
目标:用STC12C5A60S2和LCD1602,DS1302,DS18B20实现时间,温度显示
现状:温度显示已被完成
问题:DS1302读写问题,具体原因不明,在之前调试温度模块的时候已经将delay和delayms两个延时函数调整到调养5%之内了,分别延时10us和ms

ds1302的SCLK,DSIO,RST分别接STC12C5A60S2的P26,P25,P24口
查手册已知STC12C5A60S2的P2口内置上拉电阻(中间手动加入上拉电阻,结果无变化)

万年历.zip

53.88 KB, 下载次数: 16

回复

使用道具 举报

ID:889094 发表于 2021-3-23 20:53 | 显示全部楼层
本帖最后由 birdzhyli 于 2021-3-23 20:56 编辑

通过显示知道时间读取肯定是有问题

通过显示知道时间读取肯定是有问题

通过显示可以知道时间读取肯定遇到问题,因为前面显示的"Welcome  to  MCU"并没有被完全覆盖,本来应该是第一行显示年月日星期几的英文缩写
具体是芯片初始化没写进去还是读取失败,或者两者皆有问题,目前没有头绪
万年历.zip (53.88 KB, 下载次数: 3)
回复

使用道具 举报

ID:889094 发表于 2021-3-23 21:07 | 显示全部楼层
2.png
通过这个表可以知道,显示的?是3f编码,程序中对应代码为
        *(disdate+2)=*(ttime+6)/16+0x30;
        *(disdate+3)=*(ttime+6)%16+0x30;

说明读取完毕后数据变成0xFF,应该是初始化失败,读取操作使存储数组值发化了变化
回复

使用道具 举报

ID:390416 发表于 2021-3-23 22:54 | 显示全部楼层
http://www.51hei.com/bbs/dpj-200968-1.html 你可以参考我的贴子
回复

使用道具 举报

ID:889094 发表于 2021-3-23 23:37 | 显示全部楼层
人人学会单片机 发表于 2021-3-23 22:54
http://www.51hei.com/bbs/dpj-200968-1.html 你可以参考我的贴子

谢谢回复,参考了,还是没找到原因,代码看了若干遍了,就是找不出错误原因,求助大佬
回复

使用道具 举报

ID:889094 发表于 2021-3-23 23:57 | 显示全部楼层
问题找到了,此处有大字的卧槽65535个
上面图中那3条橙色线,加上排线,太长了。。。。。。。。。。。。。。。。
我去掉了排线,直接接在芯片旁边,显示正常了
回复

使用道具 举报

ID:889094 发表于 2021-3-24 00:31 来自手机 | 显示全部楼层
太晚了,具体情况明天再分析一下
回复

使用道具 举报

ID:889094 发表于 2021-3-24 08:00 | 显示全部楼层
调来调去,还是把最开始仿真成功的程序复制过来,把端口对应一下,就成功了。
走了很多弯路,目前只能定性为线路过长了.大神们有没有什么更好的原因?
1.png

上面箭头指的是原来位置,橙色线加了10cm的排线
下面箭头是现在直插的位置。
问题虽然算是解决了,但原因不理解,DS1302不是串口通信么?通信距离不应该是这么点点吧
万年历.zip (54.24 KB, 下载次数: 8)
回复

使用道具 举报

ID:889094 发表于 2021-3-24 08:08 | 显示全部楼层
橙色线0.4欧,排线0.5欧
这种坑以后怎么规避?插线的问题无法避免啊,总不能设计一个就直接刷PCB板啊
比小白还白的单片机小白求大神解惑
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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