版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河北工程大学1水族箱温度控制系统水族箱温度控制系统(一)系统的概述(一)系统的概述本系统以 AT89C51 单片机为控制核心的测控仪,主要是为了对水族箱内的温度控制而设计的。该测控仪具有检测精度高、使用简单、成本较低和工作稳定可靠等特点,所以具有一定的应用前景。(二)系统的要求(二)系统的要求 本系统通过单片机 AT89C51 控制,用 18B20 数字温度计采集温度。通过 LCD显示屏显示当前温度,当温度高于 20,马达将带动风扇的转动,实现自动控制水族箱里的温度.并且随着温度每升高 2,马达的转动速率提高一倍。当检测到的温度高于 25时,发出报警信号。本设计将实现水族箱温度的自动化控制。
2、用 protues 软件绘制电路原理图,再根据电路原理图捍接电路板。捍接的电路板实现温度的自动化控制。(三)系统的主要模块(三)系统的主要模块 本系统的主要组成部分本系统的主要组成部分本系统为一个全自动温度检测与控制系统,由以下几个部分组成:AT89C51单片机,温度检测,显示电路,马达,及报警装置等组成。组成图如图1-1。 温度检测装置AT89C51显示设备马达控制报警装置河北工程大学2图 1-1 温度自动控制主要组成部分 由图1-1所示,本系统的核心部分是AT89C51,此芯片是该电路的枢纽。由它先控制着温度的检测,用检测到的温度实现马达的自动控制,以及显示。若检测到的温度高于设定的值,则
3、发出报警信号。. .各部分的功能各部分的功能()AT89C51单片机:它是系统的中央处理器,担负着系统的控制和运算。()温度检测装置:18B20数字温度计对水族箱内温度进行采集,将温度转换成数字。()显示设备:主要是用于显示检测到的水族箱温度。()马达:主要用于带动风扇的转动。 ()报警装置:产生报警信号。二二 、系统的硬件组成电路设计、系统的硬件组成电路设计系统的硬件组成部分包括:主控制器AT89C51单片机、温度传感器DS18B20、显示电路LED、马达、报警装置等构成。AT89C51连接各模块的主控制端口,初步选定将要运用到的电子元器件,再用Protues绘制原理图,再根据原理图捍接电路
4、板。(一)(一) 系统总硬件设计系统总硬件设计 首先对硬件系统 18B20 定义端口为 P2.0,P2.1,P2.2 和 P0 口控制 LCD 的显示,定义端口 P1.5 为马达控制端口,P1.7 为发光二极管控制端口。首先对温度采集,将采集到的温度转换数字,采集到的温度由 LCD 显示屏显示。再将采集到的温度所属软件设置的哪个范围,而控制 P1.5 的电平输出。电路原理图如 2-1 所示:河北工程大学3 ERWRSd7d6d6d5d5d4d4d3d3d2d2d1d1d0d0d7RSEd0d1d2d3d4d5d6d7RWXTAL218XTAL119ALE30EA31PSEN29RST9P0.0
5、/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C122pFC222pFX1CRYST
6、ALR110k33.0DQ2VCC3GND1U2DS18B20R24.7k234567891RP1RESPACK-8D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016LR34.7k+88.8Q1NPNC31nFD1LED-BLUE 2-1 电路原理图电路原理图用 Protues 软件绘制而成。用 Protues 软件绘制电路原理图方便,快捷。Protues 软件有丰富的元件库,智能的器件搜索,智能化的连线,可输出高质量的图纸。电路原理图清晰明了。(二)时钟电路(二)时钟电路AT89C51 芯片内部有一个高增益反向放大器,用于构成
7、震荡器。反向放大器的输入端为 XTAL1,输出端为 XTAL2。在 TXAL1 和 XTAL2 两端跨接由石英晶体及两个电容构成的自激震荡器,如图 2-2 所示。电容器 C1 和 C2 取 22pF,选用不同的电容量对震荡频率有微调作用。但石英晶体本身的标定频率才是单片机震荡频率的决定因素。XTAL218XTAL119U1C122pFC222pFX1CRYSTAL图 2-2 时钟电路河北工程大学4时钟电路中,两个电容都选择 22pF 的电容,电容各一端接与晶振相连,各一端接地。选择的晶振是频率为 12MHZ。此模块就是产生象时钟一样准确的振荡电路。(三)(三) AT89C51AT89C51 的
8、复位电路的复位电路AT89C51 单片机通常采用上电自动复位和开关手动复位两种方式。本系统采用上电复位电路,如图 2-3 所示,所谓上电复位,是指单片机只要一上电,便自动地进入复位状态。在通电瞬间,电容 C 通过电阻 R 充电,RST 端出现正脉冲,用以复位。ALE30EA31PSEN29RST922pFR110kC31nF图 2-3 复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。RC 复位电路可以实现上述基本功能,但解决不了电源毛刺和电源缓慢
9、下降等问题,而其调整 RC 常数改变延时会令驱动能力变差。(四)单总线数字温度传感器(四)单总线数字温度传感器 DS18B20DS18B20 检测电路检测电路DQ 为数据输入/输出引脚,连接 P3.3。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源,GND 为地信号;VCC 为电源信号。图 2-4 为DS18B20 检测电路。P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.6/WR16P3.5/T115P2.7/A1528P2.4/A12P2.5/A1326P2.6/A142720.0DQ2VCC3GND1U2DS18
10、B20R24.7k 图 2-4 DS18B20 检测电路河北工程大学5(五)(五)LCDLCD 显示模块显示模块用 AT89C51 的 P0 口作为数据线,用 P2.0、P2.1、P2.2 分别作为 LCD 的4、5、6。其中 4 是下降沿触发的片选信号,连接 P2.0,5 是读写信号,连接P2.1,6 是寄存器选择信号,连接 P2.2。图 2-5 为 LCD 的硬件连接。ERWRSd7d6d6d5d5d4d4d3d3d2d2d1d1d0d0d7RSEd0d1d2d3d4d5d6d7RWXTAL2XTAL1PSENRSTP0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD
11、336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124234567891RP1RESPACK-8D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016LR34.7k图 2-5 LCD 的硬件连接(六)驱动电路(六)驱动电路系统使用的是直流马达,包含周围磁场、电刷、整流子等元件,电刷和整流子將外部所供应的直流电源,持续地供应给转子的线圈,並适时地改变电流的方向,使转子能以同一方向持续旋转。直流马达的优点有速度调整容易,启动转矩较
12、大等,但是电刷与整流子保养维修不易。图 2-6 为硬件连接图。 P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78AT89C51+88.8Q1NPN图 2-6 驱动电路图中三极管采用的是 2N3903,用于放大电流。基极接 P1.5 口,用于控制输出信号。集电极按电源正极,发射极接马达正极。三极管 2N3903 三极管最基本的作用是放大作用,它可以把微弱的电信号变成一定强度的信号,当然这种转换仍然遵循能量守恒,它只是把电源的能量转换成信号的能量罢了。三极管有一个重要参数河北工程大学6就是电流放大系数 。当三极管的基极上加一个微小的电流时,在集电极上可以得到一个是注
13、入电流 倍的电流,即集电极电流。集电极电流随基极电流的变化而变化,并且基极电流很小的变化可以引起集电极电流很大的变化,这就是三极管在此处的作用。用于 P1.5 口输出的微弱信号经过放大,输出到马达中,这样就可以很好的控制马达了。(七)报警电路(七)报警电路系统采用的报警器件是二极管,用引脚 P1.7 控制。如图 2-7 所示P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78AT89C51D1LED-BLUE图 2-7 报警电路二极管和普通扬声器相比,最重要一个特点是只要按照极性要求加上合适的直流电压,就可以发出固有频率的声音,因此使用起来比扬声器简单。 三、系统软
14、件的设计三、系统软件的设计 一个应用系统要完成各项功能,首先必须有较完善的硬件做保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编和有时会变得很简单。因此充分利用其内部丰富的硬件资源和软件资源。程序设计语言有三种:机器语言、汇编语言、高级语言。本系统运用的是高级语言所编写,也就是 C 语言。从软件的功能不同可分为四大类:一是检测软件,它是用来检测温度。二是显示部分,用来显示所检测到的温度。三是调控部分,用来控制马达的转速。四是当河北工程大学7温度大于 25,二极管发出
15、报警信号。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义。下图为软件设计流程图(程序见附录) 。开 始18B20 温度检测初始化马达带动风扇LCD 显示温度发出报警信号结 束温度大于 20温度大于 25四、总结四、总结 通过这次对水族箱温度自动控制的设计与制作,让我自主完成了一个完整的设计,虽然这次的设计做的温度显示以及马达的控制都相对比较简单,但是也给将来进入硬件开发有了一个起点的基础。在这次设计的过程,刚开始的时候,真的有点不知所措,因为学习完单片机已有数日,以及微机原理课程,一些知识已忘记。画电路原理图,一开始就觉得有点烦,因为 pro
16、tues 软件安装的版本较低,做起来非常的费时又费力,一些芯片,还不可以仿真。画电路图,自己学习捍接板,开始第一个板,没有捍成功,研究数日,后来才发现是一些线路捍接不良导致电路连接出现错误。后来重新开始动工,才捍成功。常常有解决不了的问题,就上网查询,或者阅览资料书。虽此项工作枯燥无味,但可缎练其意志,耐性,坚韧。因为常会碰河北工程大学8到很难解决的问题。所以要坚持不懈。这个程序的软件程序都是使用 C 语言编写的,毕竟使用汇编对于我们来说难度都是比较大啊。这次设计是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,独立思考和解决问题的能力。它不仅加深了我对单片机技
17、术课程的理解,还让我感受到了电子设计的乐趣。对我来说,这次毕业设计是非常有意义的。本系统使用的温度控制器结构简单、测温准确,具有一定的实际应用价值。该智能温度控制器只是 DS18B20 在温度控制领域的一个简单实例,还是许多需要完善的地方,例如可以将测得的温度通过单片机与通讯模块相连接,以手机短消息的方式发送给用户,使用户能够随时对温度进行监控。还可以增加对湿度的自主控制。此外,还能广泛地应用于其他一些工业生产领域。测温控温系统得到快速的发展,国外的测量控制系统已经成熟,产品也较多。近两年,国内也出现了许多高精度的温度控制产品,但相对于用户来说,价格还是偏高。而由于竞争越来越激烈,现在企业发展
18、的趋势是如何最有效的提高生产效率,降低生产成本。寻求性能可靠、价格低廉,应用广泛的元器件是生产过程的首先要考虑的问题。参考文献参考文献1 谢自美,尹仕,肖看,赵云娣,罗杰.电子线路综合设计M.武汉:华中科技大学出版社, 2007.2 杨旭方.单片机控制与应用实训教程M.北京: 电子工业出版社, 2010.5.3 夏继强. 单片机应用设计培训教程M.北京:北京航空航天大学出版社, 2008.4 高峰.单片机微型计算机与接口技术M.北京:科学出版社.20035 李广弟, 朱月秀, 王秀山. 单片机基础M.北京:北京航空航天大学出版社, 2001.7.6 胡汉才.单片机原理及其接口技术M.北京: 清
19、华大学出版社, 2004河北工程大学97 求是科技.单片机典型模块设计实例导航M.北京: 人民邮电出版社, 20048 王化详,张淑英.传感器原理M天津: 天津大学出版社, 2002.59 王港元.电工电子实践指导M江西: 江西科学技术出版社, 2005.610 杨素行著.模拟电子技术基础(第二版) M.北京: 高等教育出版社, 2006.11 陈静.单片机应用系统中的编程语言J.淮北职业技术学院学报.2009.8(1):43-44.12 仝庆华.基于 Proteus 单片机虚拟实验室J.山西大同大学学报(自然科学版).2009.25(2):23-25.13 包敬海,侯昭武,吴国辉.基于 AT
20、89C51 单片机设计智能锅炉控制系统J.北京中国科技信息.2009 14 周红丽,张天开等基于单片机的九路温度监控系统J 青岛:微计算机信息2008.15 刘华东,张亚华.单片机原理与应用(第二版)M.北京:电子工业出版社.2006:1-5. 致致 谢谢 毕业设计完成了,在这个过程中我学到了很多东西。首先我要感谢我的导师何子轩老师,他在我完成论文的过程中,给予了我很大的帮助。从毕业设计选题到设计完成,何老师给予了我耐心的指导与细心关怀。 此外,此系统能顺利完成,也得到了寝室的朋友的帮忙。有些我不了解的知识,在她们悉心指导下,得已解决。在此,我深表感谢。 最后要感谢的是我的父母,他们让培养了我
21、在遇到困难前,不倒下。让我在漫长的人生旅途是使心灵有虔敬的归依。在未来的日子里,我会更加努力工作和做一名优秀的人。不辜负父母对我的期望。我一定会好好的孝敬和报答他们!河北工程大学10附录附录 A A: *-名称:基本单片机 AT89C51 的水族箱温度自控系统-*/#include#includestdio.h#include#include#includelcd1602.h#define uchar unsigned char#define uint unsigned int;/*/河北工程大学11/* 定义端口 */*/sbit DQ=P13;/ds18b20 端口sbit Fan=P15
22、; /风扇端口sbit Tru=P17;/喇叭的端口sfr dataled=0 x80;/显示数据端口/*/* 全局变量 */*/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(void);unsigned char ReadOneChar(void);void WriteOneChar(unsigned char dat);vo
23、id 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&0 x0F; TempL=TempL*6/10;/小数近似处理 flag_get=0; /*/* 定时器中断 */*/void tim(void) interrupt 1 using 1/中断,用于温度
24、检测间隔TH0=0 xef;/定时器重装值TL0=0 xf0;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)河北工程大学14 unsigned char x=0; DQ = 1; /DQ 复位 delay(8); /稍做延时 DQ = 0; /单片机将 DQ 拉低 delay(80); /精确延时 大于 480
25、us 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|=0 x80; delay(5); return(dat);/*/* 写一个字节 */*/void WriteOneChar(unsigned c
26、har dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0 x01; delay(5); DQ = 1; dat=1;河北工程大学15 delay(5);/*/* 读取温度 */*/unsigned int ReadTemperature(void)unsigned char a=0;unsigned int b=0;unsigned int t=0;Init_DS18B20();WriteOneChar(0 xCC); / 跳过读序号列号的操作WriteOneChar(0 x44); / 启动温度转换delay(2
27、00);Init_DS18B20();WriteOneChar(0 xCC); /跳过读序号列号的操作 WriteOneChar(0 xBE); /读取温度寄存器等(共可读 9 个寄存器) 前两个就是温度a=ReadOneChar(); /低位b=ReadOneChar(); /高位b=8;t=a+b;return(t);附录附录 B B#include#include#includesbit RS = P20;/Pin4sbit RW = P21; /Pin5sbit E = P22;/Pin6#define Data P0 /数据端口unsigned char Tem5;河北工程大学16u
28、nsigned char SecondLine= ;unsigned char FirstLine = ;unsigned char time= ;/*/* 函数声明 */*/void DelayUs(unsigned char us)/delay us unsigned char uscnt; uscnt=us1;/* Crystal frequency in 12MHz*/ while(-uscnt);/*/void DelayMs(unsigned char ms)/delay Ms while(-ms) DelayUs(250); DelayUs(250); DelayUs(250);
29、 DelayUs(250); void WriteCommand(unsigned char c) DelayMs(5);/short delay before operation E=0; RS=0; RW=0; _nop_(); E=1; Data=c; E=0;/*/void WriteData(unsigned char c) DelayMs(5); /short delay before operation E=0; RS=1; RW=0; _nop_(); E=1;河北工程大学17 Data=c; E=0; RS=0;/*/void ShowChar(unsigned char pos,unsigned char c) unsign
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 透析病人教育手册-透析病人的营养
- 现代农业园区工程企业法律法规及质量管理规范岗前培训试题及答案
- 总质检责任制度
- 房产经理岗位责任制度
- 托育主体责任制度
- 扬尘目标责任制度
- 技术定岗责任制度
- 护士排班责任制度
- 担保人连带责任制度
- 挤奶责任制度
- 苏少版五年级美术下册全册教案
- GB/T 4604.1-2012滚动轴承游隙第1部分:向心轴承的径向游隙
- 外科学-第六十二章-脊柱、脊髓损伤课件
- 2023年常州市武进区(中小学、幼儿园)教师招聘笔试题库及答案解析
- 净雅服务流程课件
- 南信大第二章-土壤农化分析实验室基本知识课件
- 人教版 三年级下学期数学5.2长方形、正方形面积的计算课件(共19张PPT)
- 报告厅舞台灯光系统设计方案
- 健康主题班会 《预防疾病 享受生活》教学课件
- 分析化学(第6版)全套课件完整版电子教案最新板
- 指导书第二章确定信号分析习题详解
评论
0/150
提交评论