您的位置:首页 > 其它

多点温度采集及上位机监视系统项目经历及总结

2014-11-15 20:00 281 查看
虽然本项目做完已经快半年了。还是对本次项目做一个简短的总结。

本项目作为上大学以来的第一个项目,磕磕绊绊也算是完成了。总共经历大概半年时间。代码不够完善,界面不够酷炫,硬件不够美观,但是对我的的收获还是蛮大的,从一个小白,慢慢开始成长。

本项目实际上是参加学院的盛特杯科研项目,当时刚上大二,由于大一的时候荒废太多,刚刚开始打算做这个项目的时候是没有一点底气,到做到中途几乎到了想要放弃的边缘,最后还是在课题结业前顺利完成该项目。多少个夜晚独自一人呆在实验室,忍受孤独,寂寞。但是最后,精神上还是得到了满足,自信心得到了很大的鼓舞。

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芯片中,然后通过主机将从机的数据取出来。然后在将各个单片机的数据上传到上位机。





纯属菜鸟作品!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: