3月1日今天开始写毕业论文。题目是单片机温度控制系统。我有点紧张。老师给了大概方向。我要做一个能测量温度的系统。温度超过设定值就要报警。还要能控制风扇转动。降温。我需要先想清楚怎么做。
3月5日我去了图书馆。找了一些书。关于单片机的。关于传感器怎么用的。我看了一本叫《单片机原理与应用》的书。里面讲了单片机怎么工作。我抄了一些笔记。知道了需要什么芯片。我需要一个主控芯片。需要一个温度传感器。还需要风扇和报警器。
3月10日今天画了系统框图。用铅笔画的。画了又擦。擦了又画。最后画好了。系统有几个部分。单片机是核心。传感器测温度。信号传给单片机。单片机处理数据。如果温度高。就启动风扇。点亮报警灯。我还要加一个显示屏。显示当前温度。框图看起来简单。做起来可能难。
3月15日我开始选元件了。主控芯片用AT89C51。老师推荐这个。资料多。容易学。温度传感器用DS18B20。这个很常用。测量比较准。数字信号直接传给单片机。方便。显示屏用LCD1602。能显示两行字。风扇用普通直流小电机。报警用红色LED和蜂鸣器。
3月20日我在电脑上画电路图。用Proteus软件。画了很久。电源怎么接。晶振电路。复位电路。传感器接哪个口。显示屏怎么连。一点点画出来。画错了就改。终于画好了仿真图。看起来像那么回事。
4月2日我开始写程序了。用C语言写。先写主函数框架。然后写各个子函数。第一个是传感器初始化函数。读温度的函数最难写。时序要求严格。我看手册。看别人的例子。一遍遍试。总是读不出数据。我很着急。
4月7日温度读数成功了!我找到了问题。延时函数不准确。我调整了代码。现在能正确显示温度了。屏幕上出现了“25.5℃”。我很高兴。这是一个大进展。
4月12日我写了温度控制部分的程序。设定一个阈值。比如30度。温度低于30度。风扇不转。温度超过30度。风扇启动。同时LED灯亮。蜂鸣器响。报警。我调试了这个功能。可以工作。但风扇启动太突然。我想加上延时。
4月18日我在软件里仿真整个系统。设置虚拟温度变化。温度慢慢升高。到了30度。风扇转动。报警灯亮。温度降下来。风扇停止。报警解除。基本功能都实现了。但我觉得不够好。我想让控制更平滑。
4月25日我改进了程序。加入了温度区间控制。比如28到30度。风扇低速转。30度以上。风扇高速转。报警启动。这样更合理。我修改了程序。重新仿真。效果好了很多。
5月5日我去电子市场买了元件。单片机。传感器。显示屏。电阻电容。电路板。东西买齐了。我开始在实物上焊接电路。焊接要小心。不能短路。不能虚焊。我花了一下午时间。
5月10日硬件焊接好了。我通电测试。单片机亮了。但显示屏不显示。我检查线路。发现有一条线没焊牢。我重新焊接。再通电。显示屏亮了。出现乱码。我检查程序。发现引脚定义不对。改了程序。重新烧录。
5月15日实物调试遇到了麻烦。温度读数不稳定。有时候跳变很大。我检查传感器连接。加了上拉电阻。情况好了一点。但还有干扰。我在电源附近加了滤波电容。读数稳定了。物理世界和仿真不一样。
5月20日全部功能调试成功。我把手靠近传感器。温度上升。风扇开始转动。报警灯亮起。拿开手。温度下降。风扇慢慢停下。灯灭了。显示屏实时显示温度变化。系统工作了。我松了一口气。
5月25日我开始写论文正文了。先写引言。讲温度控制的意义。再写系统总体设计。画上框图。接着写硬件设计。把每个元件介绍一遍。电路图贴进去。然后写软件设计。给出程序流程图。贴关键代码。最后写调试过程和结果。放上实物照片。
6月1日论文初稿写完了。拿给老师看。老师提了意见。说有些描述太啰嗦。有些地方不详细。格式不对。参考文献太少。我记下来。需要修改。
6月7日我按照意见修改论文。简化了部分内容。详细说明了控制算法。调整了论文格式。图表编号。找了更多的参考文献。重新检查了错别字。论文看起来规范多了。
6月12日我把修改后的论文交给老师。老师说可以了。准备答辩。我开始做答辩的PPT。把主要内容放上去。系统框图。硬件图。软件流程图。实物照片。调试结果。我练习讲解。控制时间。
6月18日今天答辩。我很紧张。上台讲解我的设计。展示了实物。老师问了几个问题。问我为什么选这个传感器。控制逻辑是什么。遇到了什么困难。怎么解决的。我一一回答。答辩结束了。老师点了点头。我知道我通过了。
6月20日所有事情都完成了。论文提交了。实物收起来了。我看着我的作品。一个简单的温度控制系统。它不完美。但它是我的。从不懂到做出来。我学到了很多。这段日子很累。很充实。这是我的毕业论文日志。记录了我的工作。我的困难。我的进步。