4.3.8 DS1302 时钟芯片相关子函数
void inputbyte(uchar add) //往DS1302时钟芯片写入一字节子函数 {
uint i; ACC=add;
for(i=8;i>0;i--)//8个SCLK周期后,接下来的8个SCLK周期的上升沿数据字节 被输入 {
IO=ACC0; SCLK=1; SCLK=0;
ACC=ACC>>1; } }
//DS1302时钟芯片输出一字节子函数 uchar outputbyte() {
uint i;
for(i=8;i>0;i--)//8个SCLK周期后,接下来的8个SCLK周期的下降沿数据字节 被输出 {
ACC=ACC>>1; ACC7=IO; SCLK=1; SCLK=0; }
return ACC; }
//往DS1302时钟芯片写入数据子函数 void write_ds(uchar add,uchar ucda) {
RST=0; SCLK=0; RST=1;
inputbyte(add); inputbyte(ucda); SCLK=1; RST=0; }
//从DS1302时钟芯片读出数据子函数 uchar read_ds(uchar add) {
uchar ucda; RST=0; SCLK=0;
RST=1;
inputbyte(add); ucda=outputbyte(); SCLK=1; RST=0;
return(ucda); }
//设置DS1302时钟芯片子函数
void write_setds(uchar addr,uchar date) {
write_ds(0x8e,0x00); write_ds(addr,date); write_ds(0x8e,0x80); }
5. 装置样机的制作与调试
先利用Altium Designer软件画好原理图(图5.1),然后生成PCB图(图5.2);
图5.1:原理图
图5.2:PCB图
然后接着将PCB打印在墨纸上,利用热熨斗或者其他工具将图印刷在铜板,然后就是打孔、腐蚀电路板,接着就能得到以上电路图的效果了,剩下的就是放元器件接着就是焊接电路板(图5.3),调试电路(图5.4)。
图5.3:焊接电路板
图5.4:调试电路图
6. 实验测试
6.1 实验测试目的
总体目的:满足基本的显示万年历功能要求并且具有闹钟功能、温湿度测量
显示功能、低电量报警功能、按键设置功能等,每一块功能都能正常运行,显示时间和温湿度误差要足够小,运行比较精确等。
6.2 温湿度和时间日期测试
6.2.1温湿度测试方法与步骤
(1)测试方法
温湿度的测试主要是通过单片机控制温湿度芯片的运行工作,读取它的温湿度并且通过温湿度补偿调整来降低误差,精度达到小数点后一位,将读到的温湿度用LCD显示出来;所以,我们测试温湿度的时候就是将它拿到几个不同的环境,
如室外和室内分别测量温湿度。 (2)测量数据
分别在不同的地方环境测试LCD显示的数据略有变化 (3)数据分析
不同环境测量温湿度有不同变化且通过天气预报查看当地的温湿度与自己LCD显示的温湿度的值相差无几,在其预报的范围之内;这就说明了我们的温湿度测试还算比较准确,虽然有时显示跳动得不是很明显,但在其误差范围内还是可行的。
6.2.2 时间日期测试方法和步骤
(1)测试方法
时间日期的测试方法主要是通过单片机控制DS1302时钟芯片进行读写工作,读取它的时间日期的值并通过LCD显示出来,还通过按键方法来设置它的时间日期以及闹钟的值,所以我们先通过按键设置显示时间日期的值以及闹钟的值通过对比实际时间运行和设置的闹钟响与不响来判断其功能测试是否成功。 (2)测试数据
将LCD上显示的时间实际的时钟运行对比,发现两者运行一致,分秒运行相同,当运行到的时间与自己所设置的闹钟的时分值相等时,蜂鸣器响,过了一分钟后时分值不一致,蜂鸣器不行。 (3)数据分析
通过以上的显示数据对比可知,虽然用眼睛对比分析时间的正确性还存在一些人为因素误差,但是在其误差范围内还是允许的,通过对比闹钟的响与不响可以证明了闹钟模块的正确性。
6.3 测试结果
通过了上面的测试基本满足了显示万年历功能要求并且具有闹钟功能、温
湿度测量显示功能、低电量报警功能、按键设置功能等,每一块功能都能正常运行,显示时间和温湿度误差比较小,运行比较精确。
7. 总结
通过了这次具有温湿度测量功能的万年历设计,使我懂得了很多,其中最为
深刻的是在设计程序的时候要紧紧的利用好你所连接的接口,并且通过其引脚来控制单片机输出的是高电平还是低电平,进而控制各个模块的协调工作,这一点是非常重要的思想对于我来说,这是我个人认为的想法,虽然不是很正规,这仅是我的个人总结;总的来说这次实习给了我很多思考的空间去思考;同时还要感谢老师在我遇到困难时给了我们及时的解答,使我们更为深刻地明白了设计的思想和思路,懂得了很多在课堂内得不到的知识,通过动手实践证实了经验的重要性,做到理论与实践相结合才是唯一真理。
在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次实习的最大收
获和财富,使我终身受益。
参考文献
[1] 高频电子线路(第五版) 张肃文 主编 [2] 数字电子技术简明教程(第三版) [3] 电路(第五版) [4] 模拟电子技术基础简明教程(第三版) [5] 新概念51单片机c语言教程
余孟尝 主编 邱关源 原著 杨素行 主编 郭天详 编著