完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
`郁闷了,做了一个月连和万年历都做不出来!好烦躁。现在把程序烧进自己制作的板子的单片机里,LCD显示时间部分有问号出现,我用的是DS1302的时钟芯片。要死了,不知道该怎么调试啊~~现在就是不能确定是程序问题还是板子问题。各位大神知道该怎么调试吗?附上时钟芯片的部分程序,各位看下有不有错~~求助。 ***it bit7=ACC^7; ***it bit0=ACC^0; ***it rst=P1^5; ***it sclk=P1^6; //***it rst=P1^6; //***it sclk=P1^5; ***it IO=P1^7; void input(uchar); uchar output(void); void wr1302(uchar, uchar); uchar re1302(uchar); void set1302(uchar *p); void get1302(uchar curtime[]); uchar time[7]; void input(uchar date) { uchar i; rst=1; ACC=date; for(i=8;i>0;i--) { IO=bit0; sclk=0; sclk=1; ACC=ACC>>=1; } } uchar output(void) { uchar i; rst=1; for(i=8;i>0;i--) { ACC=ACC>>=1; IO=1; sclk=1; sclk=0; bit7=IO; } return(ACC); } void wr1302(uchar add, uchar date) { rst=0; sclk=0; rst=1; input(add); input(date); sclk=1; rst=0; } uchar re1302(uchar add) { uchar date; rst=0; sclk=0; rst=1; input(add); date=output(); sclk=1; rst=0; return(date); } void set1302(uchar *p) { uchar i; uchar add=0x80; wr1302(0x8e,0x00); for(i=7;i>0;i--) { wr1302(add,*p); p++; add+=2; } wr1302(0x8e,0x00); } void get1302(uchar curtime[]) { uchar i; uchar add=0x81; for(i=0;i<7;i++) { curtime[i]=re1302(add); add+=2; } } ` |
|
相关推荐
38个回答
|
|
|
|
|
|
作为一个见习大神,本人确定帮你调试一下。一下给出几点建议:
第一:既然用C语言写程序了,就不要用到ACC,程序运行的时候经常用到ACC,因此你运行的时候很容易出错。 第二:IC通信的时候电平时序有一定的要求。写驱动的时候要严格遵守。 第三:写程序的时候注意一下格式。很多大神看到你的代码这样别人都不愿意看,更别说帮你解决问题了。 以下附改过的程序,亲测可用,运行正常:
|
|
|
|
谢谢谢谢,我试一下~~ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
忘了告诉你了,DS1302的定义管脚我改过了,我用的是P3^4,P3^5,P3^6.你用的是P1^5,P1^6,P1^7.你要改回来才能用。 |
|
|
|
我改回来了,也用不了~~我怕全部程序发过去你不想看,因为可读性太差了~~你不要嫌弃哦~~我是一点都不会的,程序我发在消息那里给你好吗 |
|
|
|
消息不能添加附件,还是在这里发给你吧~~原谅我写的程序,再难看懂你也帮我看看哈~~万分感谢 |
|
|
|
好好好好好好好好
|
|
|
|
你程序的可读性真不是一般的差,看到我头都晕了。我排版了一下,管脚有修改,你改回来。亲测能正常显示时间和温度。如果还不能显示你就检查一下硬件。发修改过的程序给你。另外附一份我自己写的程序供你参考一下。引脚引脚定义不一样。写程序的时候注意一下格式啊。我看到都头晕了都不知你怎么受到了。 |
|
|
|
大神,谢谢你!谢谢你把我的程序修改得这么好~~不愧为大神啊~~不过结果还是和之前一样的,那有应该就是硬件问题吧~~可以告诉我硬件要怎么检测吗?因为是自己焊的板子,焊接什么的用肉眼检查过没发现什么问题,那现在要怎么测量才能发现问题列~~忘大神指导,谢谢大神~~ |
|
|
|
用万用表检查一下有没短路,电源正确不。实在不行就换一个DS1302试试。 |
|
|
|
看看大神的淳淳教诲,温柔不失严谨,冷静不失耐心。整个一个高大上!!!
|
|
|
|
对啦,大神。今天我用PROTUES仿真软件把你的程序烧进去看,发现你的程序仿真也实现不了列~~这是什么原因列?弱弱的问一句,你试了程序真的可以吗? |
|
|
|
|
|
|
|
发你的protues工程给我看看。 |
|
|
|
|
|
|
|
碰到这样的大神真是幸运啊
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
418 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1083 浏览 0 评论
846 浏览 0 评论
886 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
882 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11834 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 07:53 , Processed in 0.936347 second(s), Total 79, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号