虽然本项目做完已经快半年了。还是对本次项目做一个简短的总结。
本项目作为上大学以来的第一个项目,磕磕绊绊也算是完成了。总共经历大概半年时间。代码不够完善,界面不够酷炫,硬件不够美观,但是对我的的收获还是蛮大的,从一个小白,慢慢开始成长。
本项目实际上是参加学院的盛特杯科研项目,当时刚上大二,由于大一的时候荒废太多,刚刚开始打算做这个项目的时候是没有一点底气,到做到中途几乎到了想要放弃的边缘,最后还是在课题结业前顺利完成该项目。多少个夜晚独自一人呆在实验室,忍受孤独,寂寞。但是最后,精神上还是得到了满足,自信心得到了很大的鼓舞。
1、开发环境
硬件:STC89C52,AT24C02
软件:Keil4,Qt4
2、软件部分的重点难点
<1> Qt部分
主要是这么将各个单片机的数据分离出来,本项目采用的是规定一个上位机和下位机的协议。比如说下位机主机的温度前面的温度统一先发送一个A,上位机收到A之后,就知道是主机周围的温度。
还有就是问一些收集到的错误数据的处理。
注意:本人的一个经历,由于先前开发Qt时,使用的是笔记本进行测试,收到的数据是一个字符一个字符的传输,而后面运行时是在台式机上面测试的,收到的数据是一串一串的,为此还困扰了我一阵子。
<2>单片机C语言部分
最先开发时,用的是串口进行传输,发现能把从机上的数据传送到主机,但是主机不能发送到上位机去,因为串口已经在主从机传输数据时使用了。所以后面才想到了用I2C总线,用I2C总线时,将数据存储到AT2402时,发现后面读出的数据超过一个的限度就不准确了,后来发现是连续存储数据时,
write_add(3,WenDuL8);
write_add(13,WenDuH8);
没有进行延时,这个问题困扰了我很久,一定要注意。
write_add(3,WenDuL8);
for(i=10;i>0;i--)
{
dis_temp(Temp[4]);
Delay(10);
}
write_add(12,WenDuH8);
3、硬件部分的重点难点
(1) 温度传感器的焊接,虽然以前焊接过1602液晶屏,但是还是第一次使用焊接温度传感器,刚开始不知道电路是什么情况,查找了好多资料,才找到。而且还不确定,不过还是硬着头皮去焊接,索性最后成功了,虽然不是太好看。
(2)查看那些引脚没有用,然后在陆续焊接了几个。在将其他单片机相连。
注意:本项目采用的是I2C总线进行的传输。先从各个从机上面采集到多点的温度,然后求平均值,然后存储到AT2402芯片中,然后通过主机将从机的数据取出来。然后在将各个单片机的数据上传到上位机。
纯属菜鸟作品!!!
原文链接:https://blog.csdn.net/scgaliguodong123_/article/details/41149139
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
还没有人抢沙发呢~