单片机鸡舍温度控制系统(电路图+程序) 第5页
图9 测温原理内部装置
3.3.2 DS18B20的测温流程
图10 DS18B20测温流程
4单片机接口设计
DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图11所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。本设计采用电源供电方式, P1.1口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管和89S51的P1.0来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10 μs。采用寄生电源供电方式是VDD和GND端均接地。由于单线制只有一根线,因此发送接收口必须是三状态的。主机控制DS18B20完成温度转换必须经过3个步骤:初始化、ROM操作指令、存储器操作指令。 图11 DS18B20与单片机的接口电路5系统整体设计
5.1系统硬件电路设计
5.1.1 主板电路设计(如附录2)
单片机的P1.0接DS18B20的2号引脚,P0口送数P2口扫描,P1.1、P1.2控制加热器和电风扇的继电器。
5.1.2 各部分电路
(1) 显示电路
显示电路采用了7段共阴数码管扫描电路,节约了单片机的输出端口,便于程序的编写。
图12 显示电路图(2) 单片机电路
图13单片机电路引脚图
(3) AT89SISP下载口电路
图14 下载口电路引脚图
此电路连接单片机。
(4) DS18B20温度传感器电路
图15 温度传感器电路引脚图
(5) 继电器电路
图中P1.1引脚控制加热器继电器,P1.2引脚控制电风扇继电器。给.P1.1低电平,三极管导通,电磁铁触头放下来开始工作;同样给P1.2低电平,三极管导通,电磁铁触头放下来开始工作。
图16 继电器电路图
(6) 晶振控制电路
图17 晶振控制电路图
(7) 复位电路
图18复位电路图
5.2 系统软件设计
5.2.1 系统软件设计的整体思想
一个应用系统要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,采用与S51系列单片机相对应的51汇编语言和结构化程序设计方法进行软件编程。
程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(称为源程序)最终都必须翻译成机器语言的程序(成为目标程序),计算机才能“看懂”,然后逐一执行。
高级语言是面向问题和计算过程的语言,它可通过于各种不同的计算机,用户编程时不必仔细了解所用的计算机的具体性能与指令系统,而且语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语言编制程序的速度比较快,也便于学习和交流,但是本系统却选用了汇编语言。原因在于,本系统是编制程序工作量不大、规模较小的单片机微控制系统,使用汇编语言可以不用像高级语言那样占用较多的存储空间,适合于存储容量较小的系统。同时,本系统对位处理要求很高,需要解决大量的逻辑控制问题。
MCS—51指令系统的指令长度较短,它在存储空间和执行时间方面具有较高的效率,编成的程序占用内存单元少,执行也非常的快捷,与本系统的应用要求很适合。而且MCS—51指令系统有丰富的位操作(或称位处理)指令,可以形成一个相当完整的位操作指令子集,这是MCS—51指令系统主要的优点之一。对于要求反应灵敏与控制及时的工控、检测等实时控制系统以及要求体积小、系统小的许多“电脑化”产品,可以充分体现出汇编语言简明、整齐、执行时间短和易于使用的特点。
本装置的软件包括主程序、读出温度子程序、复位应答子程序、写入子程序、以及有关DS18B20的程序(初始化子程序、写程序和读程序)等。
主程序的功能是:启动DS18B20测量温度,将测量值与给定值进行比较,若测得温度小于设定值,则进入加热阶段,置P1.1为低电平,这期间继续对温度进行监测,直到温度在设定范围内,置P1.1为高电平断开可控硅,关闭加热器,等待下一次的启动命令。当测得温度大于设定值,则进入降温阶段,则置P1.2为低电平,这期间继续对温度进行监测,直到温度在设定范围内,置P1.2为高电平断开,关闭风扇,等待下一次的启动命。 5.2.2 系统程序流程图
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页