经验整理 基于 8051 的数据采集系统 (科技向)
竞赛作品名称
基于 8051 的数据采集系统
简介
下位机:8051 开发板上的传感器采集需要的数据,通过 RS-232 发送给上位机。
上位机:Win7 系统,用 C#写的串口调试程序接收数据。
数据服务器:上位机与数据服务器用 socket 进行通信,上位机把经过处理的数据发给数据服务器。
查找资料
在开发中,网络查找资料是常见的。在这次项目中,博客与论坛提供了很多优质资料。
一个现象:过期与错误知识的存在,浪费了很多的时间与精力。我想改善这种现象,于是决定:我要写博客,多写一些好的内容。
项目进行
项目有三个核心
开发板的数据采集与上传
PC 上位机程序,接受串口传来的数据
上位机与数据服务器的数据传递程序
一二做的好,因为是紧紧围绕核心功能展开的,任务很快就完成了。在三的实现上,飘飘然了。花了一个下午做一个锦上添花的模块,后期调试 socket 通讯模块发现重大 bug。然后,赶呀赶,改呀改。嗨。。。都是辛酸泪。
所以我得到的工程经验是:工程的交付期限是重要的。先完成核心模块,再进行锦上添花。
通信线缆
贵!RS-232 转 485,这两个东西,几十块钱。长见识了。有时,在通信线缆上的花费可能超出想象。
通信之交换机与路由器
新手实现 socket 通信时,我的建议是使用路由器。
见招拆招
实现一个功能往往有多个选择。这个不行,那就换另一个。用手头现有的硬件实现预期的功能,是本事。
单片机新手开发版
板子配套的多为各个模块进行 1+1 的实例,在竞赛、研究中,需求往往是 11+11。这就需要懂原理!能够由 1+1 升级成 11+11。
因为新手开发板主要是实现“100 以内加减的”。学习到一定境界后,会出现被开发板的硬件架构限制住的情况!所以,能够根据需求,自行设计开发板的人,棒棒哒。
硬件选型与电路板制作
建议新手先用厂家做好的成品开发板。
这次竞赛中,有位新手想自己做出来一个开发板,项目时间 20 天,中期报告上说:型号那么多,不知道选哪个。
自己做开发板是可以,但是需要很多的经验。器件有时并不理想,而且器件之间需要匹配。一些芯片看着很硬,但是过了极限电压就烧了,那可都是钱呀。
对啦!请把数字电路当做模拟电路来处理。各点的电压好好算一下。数字电路可不是简单的 01。
见多识广的重要性
C#中有许多类库,有的时候费大劲写出来的代码有相对应的成熟的库。如果见多识广,早知道这个库呢?直接调用就好,那么项目也会快速向前推进。
项目经验的重要性
这一次经历让我意识到了:经验是很重要的。
模块->系统
在做项目的时候,我是把系统划分为多个大模块。又把大模块分为多个小模块。
小模块的写、调试、完成和集成。
软件工程中相关的思想和方法,很实用。推荐在项目开始之前,阅读相关的软件工程书籍。
版权声明: 本文为 InfoQ 作者【万里无云万里天】的原创文章。
原文链接:【http://xie.infoq.cn/article/f31019f1d9e846b71354a73f4】。文章转载请联系作者。
评论