毕业论文:基于单片机温室温度控制系统研究内容摘要:

8B20 与单片机的接口电路 5 系统整体设计 51 系统硬件电路设计 511 主板电路设计 如附录 2 单片机的 P10 接 DS18B20 的 2 号引脚 P0 口送数 P2口扫描 P11P12 控制加热器和电风扇的继电器 512 各部分电路 1 显示电路 显示电路采用了 7 段共阴数码管扫描电路节约了单片机的输出端口便于程序的编写 图 12 显示电路图 2 单片机电路 图 13 单片机电路引脚图 3 AT89SISP 下载口电路 图 14 下载口电路引脚图 此电路连接单片机 4 DS18B20 温度传感器电路 图 15 温度传感器电路引脚图 5 继电器电路 图中 P11引脚控制加热器继电器 P12引脚控制电风扇继电器给 P11低电平三极管导通电磁铁触头放下来开始工作同样给 P12 低电平三极管导通电磁铁触头放下来开始工作 图 16 继电器电路图 6 晶振控制电路 图 17 晶振控制电路图 7 复位电路 图 18 复位电路图 52 系统软件设计 521 系统软件设计的整体思想 一个应用系统要完成各项功能首先必须有较完善的硬件作保证同时还必须得到相应设计合理的软件的支持尤其是微机应用高速发展的今天许多由硬件完成的工作都可通过软件编程而代替甚至有些必须采用很复杂的硬件电路才能完成的工作用软件编程有时会变 得很简单如数字滤波信号处理等因此充分利用其内部丰富的硬件资源和软件资源采用与 S51 系列单片机相对应的 51 汇编语言和结构化程序设计方法进行软件编程 程序设计语言有三种机器语言汇编语言和高级语言机器语言是机器唯一能懂的语言用汇编语言或高级语言编写的程序称为源程序最终都必须翻译成机器语言的程序成为目标程序计算机才能看懂然后逐一执行 高级语言是面向问题和计算过程的语言它可通过于各种不同的计算机用户编程时不必仔细了解所用的计算机的具体性能与指令系统而且语句的功能强常常一个语句已相当于很多条计算机指令于是用高级语言编制 程序的速度比较快也便于学习和交流但是本系统却选用了汇编语言原因在于本系统是编制程序工作量不大规模较小的单片机微控制系统使用汇编语言可以不用像高级语言那样占用较多的存储空间适合于存储容量较小的系统同时本系统对位处理要求很高需要解决大量的逻辑控制问题 MCS51 指令系统的指令长度较短它在存储空间和执行时间方面具有较高的效率编成的程序占用内存单元少执行也非常的快捷与本系统的应用要求很适合而且 MCS51 指令系统有丰富的位操作或称位处理指令可以形成一个相当完整的位操作指令子集这是 MCS51 指令系统主要的优点之一对于要求反应灵敏与控制及时的工控检测等实时控制系统以及要求体积小系统小的许多电脑化产品可以充分体现出汇编语言简明整齐执行时间短和易于使用的特点 本装置的软件包括主程序读出温度子程序复位应答子程序写入子程序以及有关 DS18B20 的程序初始化子程序写程序和读 程序等 主程序的功能是启动 DS18B20 测量温度将测量值与给定值进行比较若测得温度小于设定值则进入加热阶段置 P11 为低电平这期间继续对温度进行监测直到温度在设定范围内置 P11 为高电平断开可控硅关闭加热器等待下一次的启动命令当测得温度大于设定值则进入降温阶段则置 P12 为低电平这期间继续对温度进行监测直到温度在设定范围内置 P12 为高电平断开关闭风扇等待下一次的启动命 522 系统程序流程图 系统程序主要包括主程序读出温度子程序复位应答子程序写入子程序等 1 主程序 主程序的主要功能是负责温度的实时显示读出并处理 DS18B20 的测量的当前温度值温度测量每 1s 进行一次这样可以在一秒之内测量一次被测温度其程序流程见图 19 所示 通过调用读温度子程序把存入内存储中的整数部分与小数部分分开存放在不同的两个单元中然后通过调用显示子程序显示出来 图 19 主程序流程图 2 读出温度子程序 读出温度子程序的主要功能是读出 RAM中的 9字节在读出时需进行 CRC校验校验有错时不进行温度数据的改写 图 20 读出温度子程序 DS18B20 的各个命令对时序的要求特别严格所以必须按照所要求的时序才能达到预期的目的同时要注意读进 来的是高位在后低位在前共有 12 位数小数 4 位整数 7 位还有一位符号位 3 复位应答子程序 图 21 复位应答子程序 4 写入子程序 图 22 写入子程序 5 系统总的流程图 图 23 系统总的流程图 6 总结与体会 经过将近三周努力完成了温室温度控制系统的设计达到预计的设计目标从心底里说非常高兴通过这次设计将硬软件做了出来并能按照预定的要求工作了但高兴之余不得不深思呀 在本次设计的过程中我发现很多的问题虽然以前没有独立做过这样的设计但这次设计真的让我长进了很多单片机课程设计重点就在于软件算法的设计需要有很巧妙的程序 算法虽然以前写过几次程序但我觉的写好一个程序并不是一件简单的事举个例子以前写的那几次数据加减时我用的都是 BCD 码这一次我全部用的都是 16 进制的数直接加减显示处理时在用除法去删分感觉效果比较好有好多的东西只有我们去试着做了才能真正的掌握只学习理论有些东西是很难理解的更谈不上掌握 从这次的设计中我真真正正的意识到在以后的学习中要理论联系实际把我们所学的理论知识运用到实际当中学习单机片机更是如此程序只有在经常的写与读的过。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。