完善资料让更多小伙伴认识你,还能领取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个回答
|
|
我昨晚仿真了一下,发现我的程序真的仿真不了。DS1302和DS18B20都不能正常工作。但我下载到我的板子真的能正常显示。可能是我驱动程序时序还一点问题。我今天要写毕业设计论文,明天要交了。忙,没时间弄。等我弄好毕业论文先,再看看是什么问题。不知道的硬件是不是按照Proteus的图接的。虽然可以仿真。如果硬件按这个图接是有问题的。 1、单片机EA管脚要接高电平。 2、DS1302,VCC1是主电源,VCC2是备用电源。 3、DS1302的晶振不接电容他是不工作的。 看你的程序仿,DS1302写入正常。很大可能的DS1302的读取函数有问题。 |
|
|
|
那好。谢谢了~我自己先调试下~~希望我的也能很快做出来~~ |
|
|
|
不好意思,现在才回复你。不知道你弄出来没有。昨天我弄好了毕业论文刚刚交。 我改好你的程序了,还是读函数的问题。这是改后的程序。
祝你早点弄出来。 |
|
|
|
我已经调试出来啦~~谢谢你~大神真好~~我在读函数最后加了句uchar re1302(uchar add){ uchar date; rst=0; _nop_(); sclk=0; _nop_(); rst=1; input(add); date=output(); sclk=1; rst=0; IO=0;//就是加了这一句,然后就可以啦~嘻嘻 return(date);} |
|
|
|
shujie2014 发表于 2014-4-24 09:54 还是可以的嘛,自己调试出来了。我在回答别人的帖子的时候也找到一个帖子说是这里加着一句就行了。主要还是时序问题。你也是做毕业设计吗? 看你的图片你的板子是用PCB板,你用什么方法制的啊?热转印还是光感啊。前一时间我用想用光感法做一块贴片的电子万年历来玩玩。没有做成功。用感光干膜很容易断线。用感光油墨做完全没反应,不知道是不是光照控制得不好。等我有空再去实验一下,看看能不能弄出来。 |
|
|
|
也是毕设。用的是热转印,学校的设备太差了~没办法啊~ 对了,你毕设也是做万年历吗?你的论文怎么写得那么快啊~ |
|
|
|
我全部材料都是自己买的。板做了好几天没成功,就再没心情弄它了,等什么时候有心情了再去实验一下。我以前课程设计做过万年历。我毕设是手机wifi控制小车,带视频传输。论文抄一点写一点。要论文吗?发给你参考一下。。以前我做万年历用汇编写的。一条条语句自己写出来的,那时还不会c.都是看别人的C程序自己慢慢一边调试一边写出来的,还带公历转农哦。我再满意的课程设计就是万年历了。 |
|
|
|
好厉害的感觉~~嘻嘻~像我这种菜鸟就选了这么简单的毕设课题~我真的感觉自己太菜了,在大神面前真是弱爆了啊!论文就不需要你的啦,自己还是会写的~~嘻嘻~就是感觉复制粘贴的太多了,自己没啥话写~ 谢谢你的用心啊!发现世界充满了希望啊~~哈哈~祝大神前途一片光明 |
|
|
|
其实我也是一个刚学飞的菜鸟…… |
|
|
|
|
|
|
|
这样的大神赞一个~~~~~
|
|
|
|
你的底层代码应该没有问题,ds302不会有问题,可能是数据处理的问题吧
|
|
|
|
对了,大神。现在我发现一个问题。就是我做的万年历每个月都有31号。这个问题改怎么解决列?程序该怎么写列?不知道你做的万年历是不是完善了这个功能列? |
|
|
|
这就奇怪了,DS1302是会自动调整的,我都不会出现这样情况。 |
|
|
|
啊?那会不会是程序问题列?我是后面检查的时候发现这个问题的。 |
|
|
|
不错很好啊不错很好啊不错很好啊不错很好啊不错很好啊不错很好啊不错很好啊不错很好啊不错很好啊不错很好啊不错很好啊不错很好啊不错很好啊不错很好啊不错很好啊
|
|
|
|
真羡慕!!!!
|
|
|
|
我有12864的电子钟散件,需要加:176798246详聊
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
为什么用FatFS在SD卡创建文件,在单片机上读写正常,用读卡器插到电脑上就什么都没有
297 浏览 0 评论
708 浏览 2 评论
《DNK210使用指南 -CanMV版 V1.0》第九章 打印输出实验
375 浏览 0 评论
stm32f407+ksz8863rlli概率性ping不通
1090 浏览 1 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-常见网络服务搭建之NFS服务搭建
515 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11334 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-1 08:16 , Processed in 0.871566 second(s), Total 112, Slave 92 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号