当前位置:首页 > 基于DS1302电子时钟的设计
物理与电子工程学院
sec++; if(sec>59) sec=0;
L1602_char(2, 12, sec/10+48); L1602_char(2, 13, sec + 48);
v_W1302(0x80,dectobcd(sec)|0x80); } if(jian==0) delay(5); if(jian==0) { while(!jian); sec=bcdtodec(uc_R1302(0x81)); sec--; if(sec==-1) sec=59; L1602_char(2, 12, sec/10+48); L1602_char(2, 13, sec + 48); v_W1302(0x80,dectobcd(sec)|0x80); } }
??????
这是整个调时系统的一部分,它实现了时间的调整这一功能。全部程序详见附录。
5 实物调试
5.1实物性能分析
用KEIL编写程序软件编写程序、经过Proteus仿真软件仿真调试之后,确认了此系统可正常运行,在这样的前提下,我们利用一个单片机最小系统、一块用万用板焊接的模块和一个1602液晶完成了第一次实物仿真。本次实物如图7所示。虽然本次调试测试没有达到要求,但是为后续工作打下了不可替代的基础。
9
物理与电子工程学院
图7 万用板实物
我们在第一次的尝试之后,发现无较大问题存在,于是就尝试着做出了我们此次课程设计的第一块PCB板,在仔细检查了整个电路无误之后我们就开始了我们的尝试,第一块板的造型是深思熟虑之后才最终定稿的。可能是由于第一次做双面板,技术不熟练,所以打板的时候就难免出现这样那样的问题,我们的第一块板同样出现了问题:液晶显示屏上只显示三个小亮点,不显示数字,实物如图8所示。
10
物理与电子工程学院
图8 第一块PCB板
经过这一次的挫折,我们发现了本来不会出错的地方,无缘无故的出现了好多问题,导致了第一次试验没能成功。但是我们并不气馁,经过细致的检查,我们找到了大部分的问题,最终我们的第二块板也很快做出来了,可是问题又出现了:时钟不走。第二块PCB板如图9所示。
图9 第二块PCB板
11
物理与电子工程学院
因为时间数据一直不走,我们查阅了好多资料,又认真的把相关知识复习了一遍,最终问题解决了:原来是DS1302的两个数据传输线的电流太小,于是我们就在P3.5、P1.6的端口加上了上拉电阻,加大了电流,最终我们完成了设计。完成的实物如图10所示。
图10 最终设计
5.2 总结
首先,这次设计让我们更加了解了单片机及其运用,让我们受益匪浅,在这次设计中,我们想挑战一下自己,于是就选用了1602液晶屏来显示数字时钟,我们知道这对我们来说还是有难度的,但是我相信我们一定会克服这个困难的,因为我坚信只有给自己真正的压力,自己才会获得真正的知识!
在整个方案的探究与决策中,我们自己动手分析设计程序加深了对自己未知知识的理解和对指令的灵活运用。通过对程序的编译和电路的仿真,让我们更加熟悉了仿真软件的应用,最重要的是使我们能够更直观的看到程序运行的结果,这给了我们极大地鼓励与信心!
此外,通过这次单片机课程设计,不仅对我们的动手能力有进一步的提高,
12
共分享92篇相关文档