ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:166.49KB ,
资源ID:24880159      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24880159.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(水族箱温度控制系统.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

水族箱温度控制系统.docx

1、水族箱温度控制系统水族箱温度控制系统摘 要:本文通过对目前大多数水族箱控制设备应用现状的分析和研究,提出了一种多功能的观赏鱼缸智能控制系统的设计方案。该控制系统基于89系列单片机的家庭水族箱控制系统。整套系统以ATC89C51单片机为核心芯片,结合传感器技术、马达原理、C语言编程等技术,集多种控制功能于一体,对水族箱恒温的自动控制,并可根据需要增加控制参数,通过选择不同元器件控制成本。本文从功能设计、元器件选择、硬件电路设计和软件设计等几个方面对该控制系统进行阐述。本设计是通过单片机控制,来实现对水族箱温度进行自动控制。系统以AT89C51单片机为基础,通过数字及模拟式对温度进行检测,通过显示

2、屏显示当前温度。当采集到的温度高于20,马达将带动风扇的转动,实现自动控制水族箱里的温度。并且随着温度每升高2,马达的转动速率提高一倍。当检测到的温度高于25时,发出报警信号。关键词:水族箱温度控制系统; AT89C51; 18B20 ; LCD; 马达;一、绪 论“水族箱”一词起源于英国,沿用至今已超过了150年。当时的定义仅仅是一个养动植物的水容器,而随着科技水平的不断进步,以及人们养殖观赏鱼和种植水草的水平的不断提高,水族箱不仅被认为是一个养动植物的容器,而且被认为是自然城的一个缩影,是一相对完备的生态系统。水族箱已成为普通家庭的室内装饰。近年来,这种以水草、金鱼为主的水族箱被称作“水中

3、微缩的鱼草园林”,深受人们的喜爱,但由于人们缺乏养护的技艺或者是由于时间原因不能及时进行养护,往往“好景不长”,最后的结局多是“草枯鱼忘”。本系统就基于单片机AT89C51实现对水族箱温度的自动化控制。用数字温度计18B20采集,将采集到的温度用显示屏显示,再根据采集到的温度,控制马达的转速,从而实现对水族箱温度的控制。当温度大于25,发光二极管产生报警信号。(一)系统的概述本系统以AT89C51单片机为控制核心的测控仪,主要是为了对水族箱内的温度控制而设计的。该测控仪具有检测精度高、使用简单、成本较低和工作稳定可靠等特点,所以具有一定的应用前景。(二)系统的要求 本系统通过单片机AT89C5

4、1控制,用18B20数字温度计采集温度。通过LCD显示屏显示当前温度,当温度高于20,马达将带动风扇的转动,实现自动控制水族箱里的温度.并且随着温度每升高2,马达的转动速率提高一倍。当检测到的温度高于25时,发出报警信号。本设计将实现水族箱温度的自动化控制。 用protues软件绘制电路原理图,再根据电路原理图捍接电路板。捍接的电路板实现温度的自动化控制。(三)系统的主要模块 本系统的主要组成部分本系统为一个全自动温度检测与控制系统,由以下几个部分组成:AT89C51单片机,温度检测,显示电路,马达,及报警装置等组成。组成图如图1-1。 图 1-1 温度自动控制主要组成部分 由图1-1所示,本

5、系统的核心部分是AT89C51,此芯片是该电路的枢纽。由它先控制着温度的检测,用检测到的温度实现马达的自动控制,以及显示。若检测到的温度高于设定的值,则发出报警信号。.各部分的功能()AT89C51单片机:它是系统的中央处理器,担负着系统的控制和运算。()温度检测装置:18B20数字温度计对水族箱内温度进行采集,将温度转换成数字。()显示设备:主要是用于显示检测到的水族箱温度。()马达:主要用于带动风扇的转动。 ()报警装置:产生报警信号。二 、系统的硬件组成电路设计系统的硬件组成部分包括:主控制器AT89C51单片机、温度传感器DS18B20、显示电路LED、马达、报警装置等构成。AT89C

6、51连接各模块的主控制端口,初步选定将要运用到的电子元器件,再用Protues绘制原理图,再根据原理图捍接电路板。(一) 系统总硬件设计 首先对硬件系统18B20定义端口为P2.0,P2.1,P2.2和P0口控制LCD的显示,定义端口P1.5为马达控制端口,P1.7为发光二极管控制端口。首先对温度采集,将采集到的温度转换数字,采集到的温度由LCD显示屏显示。再将采集到的温度所属软件设置的哪个范围,而控制P1.5的电平输出。电路原理图如2-1所示: 2-1 电路原理图电路原理图用Protues软件绘制而成。用Protues软件绘制电路原理图方便,快捷。Protues软件有丰富的元件库,智能的器件

7、搜索,智能化的连线,可输出高质量的图纸。电路原理图清晰明了。(二)时钟电路AT89C51芯片内部有一个高增益反向放大器,用于构成震荡器。反向放大器的输入端为XTAL1,输出端为XTAL2。在TXAL1和XTAL2两端跨接由石英晶体及两个电容构成的自激震荡器,如图2-2所示。电容器C1和C2取22pF,选用不同的电容量对震荡频率有微调作用。但石英晶体本身的标定频率才是单片机震荡频率的决定因素。图 2-2 时钟电路时钟电路中,两个电容都选择22pF的电容,电容各一端接与晶振相连,各一端接地。选择的晶振是频率为12MHZ。此模块就是产生象时钟一样准确的振荡电路。(三) AT89C51的复位电路AT8

8、9C51单片机通常采用上电自动复位和开关手动复位两种方式。本系统采用上电复位电路,如图2-3所示,所谓上电复位,是指单片机只要一上电,便自动地进入复位状态。在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用以复位。图 2-3 复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。RC复位电路可以实现上述基本功能,但解决不了电源毛刺和电源缓慢下降等问题,而其调整 RC 常数改变延时会令驱动能力变差。(四)单总线数字温度传感器DS18B20检测电路D

9、Q 为数据输入/输出引脚,连接P3.3。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源,GND为地信号;VCC为电源信号。图2-4为DS18B20检测电路。 图 2-4 DS18B20检测电路(五)LCD显示模块用AT89C51的P0口作为数据线,用P2.0、P2.1、P2.2分别作为LCD的4、5、6。其中4是下降沿触发的片选信号,连接P2.0,5是读写信号,连接P2.1,6是寄存器选择信号,连接P2.2。图2-5为LCD的硬件连接。图2-5 LCD的硬件连接(六)驱动电路系统使用的是直流马达,包含周围磁场、电刷、整流子等元件,电刷和整流子將外部所供应的直流电源,持续地供应给

10、转子的线圈,並适时地改变电流的方向,使转子能以同一方向持续旋转。直流马达的优点有速度调整容易,启动转矩较大等,但是电刷与整流子保养维修不易。图2-6为硬件连接图。 图 2-6 驱动电路图中三极管采用的是2N3903,用于放大电流。基极接P1.5口,用于控制输出信号。集电极按电源正极,发射极接马达正极。三极管 2N3903三极管最基本的作用是放大作用,它可以把微弱的电信号变成一定强度的信号,当然这种转换仍然遵循能量守恒,它只是把电源的能量转换成信号的能量罢了。三极管有一个重要参数就是电流放大系数。当三极管的基极上加一个微小的电流时,在集电极上可以得到一个是注入电流倍的电流,即集电极电流。集电极电

11、流随基极电流的变化而变化,并且基极电流很小的变化可以引起集电极电流很大的变化,这就是三极管在此处的作用。用于P1.5口输出的微弱信号经过放大,输出到马达中,这样就可以很好的控制马达了。(七)报警电路系统采用的报警器件是二极管,用引脚P1.7控制。如图2-7所示图 2-7 报警电路二极管和普通扬声器相比,最重要一个特点是只要按照极性要求加上合适的直流电压,就可以发出固有频率的声音,因此使用起来比扬声器简单。 三、系统软件的设计 一个应用系统要完成各项功能,首先必须有较完善的硬件做保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代

12、替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编和有时会变得很简单。因此充分利用其内部丰富的硬件资源和软件资源。程序设计语言有三种:机器语言、汇编语言、高级语言。本系统运用的是高级语言所编写,也就是C语言。从软件的功能不同可分为四大类:一是检测软件,它是用来检测温度。二是显示部分,用来显示所检测到的温度。三是调控部分,用来控制马达的转速。四是当温度大于25,二极管发出报警信号。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义。下图为软件设计流程图(程序见附录)。四、总结 通过这次对水族箱温度自动控制的设计与制作,让我自主完成了一个完

13、整的设计,虽然这次的设计做的温度显示以及马达的控制都相对比较简单,但是也给将来进入硬件开发有了一个起点的基础。在这次设计的过程,刚开始的时候,真的有点不知所措,因为学习完单片机已有数日,以及微机原理课程,一些知识已忘记。画电路原理图,一开始就觉得有点烦,因为protues软件安装的版本较低,做起来非常的费时又费力,一些芯片,还不可以仿真。画电路图,自己学习捍接板,开始第一个板,没有捍成功,研究数日,后来才发现是一些线路捍接不良导致电路连接出现错误。后来重新开始动工,才捍成功。常常有解决不了的问题,就上网查询,或者阅览资料书。虽此项工作枯燥无味,但可缎练其意志,耐性,坚韧。因为常会碰到很难解决的

14、问题。所以要坚持不懈。这个程序的软件程序都是使用C语言编写的,毕竟使用汇编对于我们来说难度都是比较大啊。这次设计是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,独立思考和解决问题的能力。它不仅加深了我对单片机技术课程的理解,还让我感受到了电子设计的乐趣。对我来说,这次毕业设计是非常有意义的。本系统使用的温度控制器结构简单、测温准确,具有一定的实际应用价值。该智能温度控制器只是DS18B20在温度控制领域的一个简单实例,还是许多需要完善的地方,例如可以将测得的温度通过单片机与通讯模块相连接,以手机短消息的方式发送给用户,使用户能够随时对温度进行监控。还可以增加对

15、湿度的自主控制。此外,还能广泛地应用于其他一些工业生产领域。测温控温系统得到快速的发展,国外的测量控制系统已经成熟,产品也较多。近两年,国内也出现了许多高精度的温度控制产品,但相对于用户来说,价格还是偏高。而由于竞争越来越激烈,现在企业发展的趋势是如何最有效的提高生产效率,降低生产成本。寻求性能可靠、价格低廉,应用广泛的元器件是生产过程的首先要考虑的问题。参考文献1 谢自美,尹仕,肖看,赵云娣,罗杰.电子线路综合设计M.武汉:华中科技大学出版社, 2007.2 杨旭方.单片机控制与应用实训教程M.北京: 电子工业出版社, 2010.5.3 夏继强. 单片机应用设计培训教程M.北京:北京航空航天

16、大学出版社, 2008.4 高峰.单片机微型计算机与接口技术M.北京:科学出版社.20035 李广弟, 朱月秀, 王秀山. 单片机基础M.北京:北京航空航天大学出版社, 2001.7.6 胡汉才.单片机原理及其接口技术M.北京: 清华大学出版社, 20047 求是科技.单片机典型模块设计实例导航M.北京: 人民邮电出版社, 20048 王化详,张淑英.传感器原理M天津: 天津大学出版社, 2002.59 王港元.电工电子实践指导M江西: 江西科学技术出版社, 2005.610 杨素行著.模拟电子技术基础(第二版) M.北京: 高等教育出版社, 2006.11 陈静.单片机应用系统中的编程语言J

17、.淮北职业技术学院学报.2009.8(1):43-44.12 仝庆华.基于Proteus单片机虚拟实验室J.山西大同大学学报(自然科学版).2009.25(2):23-25.13 包敬海,侯昭武,吴国辉.基于AT89C51单片机设计智能锅炉控制系统J.北京中国科技信息.2009 14 周红丽,张天开等基于单片机的九路温度监控系统J青岛:微计算机信息2008.15 刘华东,张亚华.单片机原理与应用(第二版)M.北京:电子工业出版社.2006:1-5. 致 谢 毕业设计完成了,在这个过程中我学到了很多东西。首先我要感谢我的导师何子轩老师,他在我完成论文的过程中,给予了我很大的帮助。从毕业设计选题到

18、设计完成,何老师给予了我耐心的指导与细心关怀。 此外,此系统能顺利完成,也得到了寝室的朋友的帮忙。有些我不了解的知识,在她们悉心指导下,得已解决。在此,我深表感谢。 最后要感谢的是我的父母,他们让培养了我在遇到困难前,不倒下。让我在漫长的人生旅途是使心灵有虔敬的归依。在未来的日子里,我会更加努力工作和做一名优秀的人。不辜负父母对我的期望。我一定会好好的孝敬和报答他们!附录A: *-名称:基本单片机AT89C51的水族箱温度自控系统-*/#include#includestdio.h#include#include#includelcd1602.h#define uchar unsigned c

19、har#define uint unsigned int;/*/* 定义端口 */*/sbit DQ=P13;/ds18b20 端口sbit Fan=P15; /风扇端口sbit Tru=P17;/喇叭的端口sfr dataled=0x80;/显示数据端口/*/* 全局变量 */*/uint temp,i,TempH;uchar flag_get,count,num,minute,second,x;long str6;/*/* 函数声明 */*/void delay1(uchar MS);unsigned int ReadTemperature(void);void Init_DS18B20(

20、void);unsigned char ReadOneChar(void);void WriteOneChar(unsigned char dat);void delay(unsigned int i);/*/* 延时函数声明 */*/void mDelay(unsigned char j) unsigned int i; for(;j0;j-) for(i=0;i20)&(TempH25) /产生报警信号 Tru=0; mDelay(10); Fan=0; mDelay(150); for(i=1;i4; TempL=temp&0x0F; TempL=TempL*6/10;/小数近似处理 f

21、lag_get=0; /*/* 定时器中断 */*/void tim(void) interrupt 1 using 1/中断,用于温度检测间隔TH0=0xef;/定时器重装值TL0=0xf0;num+;if (num=50) num=0; flag_get=1;/标志位有效 second+; if(second=60) second=0; /*/* 延时函数 */*/void delay(unsigned int i)/延时函数 while(i-);/*/* 初始化 */*/void Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ复位 de

22、lay(8); /稍做延时 DQ = 0; /单片机将DQ拉低 delay(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay(10); x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay(5);/*/* 读一个字节 */*/unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay(5); retu

23、rn(dat);/*/* 写一个字节 */*/void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat=1; delay(5);/*/* 读取温度 */*/unsigned int ReadTemperature(void)unsigned char a=0;unsigned int b=0;unsigned int t=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换delay(200);Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作 WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar(); /低位b=ReadOneChar(); /高位b=8;t=a+b;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1