《本科毕业设计-鱼缸环境自控系统设计.doc》由会员分享,可在线阅读,更多相关《本科毕业设计-鱼缸环境自控系统设计.doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、天津职业技术师范大学Tianjin University of Technology and Education毕 业 设 计专 业:XXXXXXXX 班级学号:XXXXXX 学生姓名:XXXX 指导教师:XXXXXXXXXX二一五年六月天津职业技术师范大学XX届本科生毕业设计天津职业技术师范大学本科生毕业设计鱼缸环境自控系统设计Aquarium environment Automatic Control System专业班级:通信1102班学生姓名: 指导教师: 学 院:电子工程学院2015 年6 月摘 要人们的收入在增加,于是大家追求舒适的生活就成为了一种新的趋势。在家中饲养花鸟鱼虫,就是
2、这方面的充分体现。在居室中饲养并且观赏鱼,能够使人们的心情得到放松,对于消除学习以及工作中的疲劳还有压力都是很有好处的。如果想养鱼就需要购买鱼缸,但是现在这一市场存在着诸多的弊端。饲养鱼的人,大多数使用的是传统的鱼缸。它需要人工的换水并且控制一些光照之类的问题,这对于鱼的饲养来说是有一定困难的。而智能鱼缸大多数则是体积庞大、价格昂贵,不能得到很好的普及。因此,将鱼缸进行智能化的设计以帮助它降低价格进行推广,也是一个需要解决的问题。针对这个情况,本课题设计了一个基于51单片机的智能鱼缸系统。本作品使用STC89C52,使各个模块相互配合进行协调的工作。它能够检测鱼缸水位、水温并且控制喂食以及加氧
3、时间等。从而能够满足饲养鱼的生存条件,并且能够成为集装饰、欣赏、使用于一身的鱼缸。关键词:51单片机;智能鱼缸;自动调整ABSTRACT Peoples income increases, so people to pursue a comfortable life will become a new trend. Raising flower at home, is fully reflected in this regard. Breeding and ornamental fish in the bedroom, can make peoples mood to relax, to el
4、iminate fatigue and pressure of study and work is good. If you want to breed fish will need to buy fish tank, but now the market there are a lot of disadvantages. Feeding fish, most are using traditional fish tank. It requires human change water and control some issues such as illumination, it is di
5、fficult for fish breeding. And the most intelligent tank is bulky and expensive price, cant get a good popularity. As a result, the fish tank in the design of the intelligent to help lower the price, it is also a need to solve the problem. Aiming at this situation, this topic has designed a intellig
6、ent tank system based on 51 single chip microcomputer. This work USES STC89C52, make the various modules together to coordinate the work. It can detect the tank water level, water temperature and oxygen feeding and control time, etc. Thus can satisfy the conditions of existence of feeding the fish,
7、and can be set decoration, appreciation, use in a fish tank. Key Words:51 single chip microcomputer ;Intelligent fish tank ;Automatically adjust 1 引言1.1 智能鱼缸的市场竞争力分析 新的世纪,科技发展的极其迅猛,人们的物质与生活的水平得到了极大的提高。人们对于周围环境的舒适程度的要求也变得越来越向着智能、人性化的目标发展。花鸟鱼虫的饲养以及观赏,在这一方面更是得到了全面的显现。它能够使人们的心情得到放松。同时,对于人们学习还有工作中的身体以及心理
8、的疲劳有着很大的缓解与释放的作用。饲养观赏鱼类就需要鱼缸,大多数的饲养者都在使用着传统的鱼缸。但这种老式的鱼缸,需要人工的换水、加氧、补光,在对鱼进行饲养的时候存在着一些问题。然而,现在市场上的智能化的鱼缸价格多数比较高,让使用者没有办法接受它高昂的价格,它的占地面积也比较的大,不利于搬运。并且,在价格高昂的同时外观却不是那么漂亮,性能上也不是很稳定。因此,一款外观、性能、功能、品质都比较不错,价格也很符合普通民众需要的智能化的鱼缸也就拥有了更加广阔的市场前景。鱼缸在使用一段时间之后就会存在一定的问题,市场中有很多的类似于鱼缸的温度控制、更换水、加氧气还有鱼缸照明等不同的设备。比如说:过滤水设
9、备能够过滤掉水中的异物、加热设备能够给水进行加热、加氧的设备能够提高水中的含氧量等。然而,各种产品从种类上来讲多种多样,从功能上讲每种产品的效果也不尽相同。而且,这些产品中大多数的鱼缸都不是智能化的产品,不能简化人们需要做的工作。大多数的鱼缸类产品都是单一、独立的被使用。只是使用人工的方式或者是电源的打开与关闭还有按键的功能切换等这些方式来进行操控,远远不能达到使用者的设想与需求。而且,如果使用者购买了很多不同的设备进行独立的安装之后,如果没有一个系统能够全面的将控制温度、加氧气、鱼缸照明还有换水等功能集合在一起,就无法将它的性能完全的使用。相反,这会导致使用不灵活、不便利,使用的效果达不到要
10、求等情况的发生,整体的性能也就因此而无法得到增强与提高。与目前饲养鱼等水族品行业的市场相比较,功能齐全智能化的鱼缸系统的研究与制造仍然属于最初的阶段,它们的产品也处于供应不能满足需求的阶段。1.2 智能鱼缸的实现由于现在国内与国外的水族行业的发展的情况不同、技术也不同,甚至鱼缸以及对于观赏鱼类种类、饲养的需求也不同。对于这些情况,需要进行分析,然后对本行业的鱼缸类的控制设备的研究与制造的优缺点进行一些总结。最后,再去进行设计并且研发制作一款拥有低廉的价格,简单的操作,功能齐全的鱼缸智能控制系统。它能够具有节约能源、调控温度、自动加氧、控制水位、调控光照与食物数量等这些基本的功能。 自然界中,光
11、和水是万物生长的来源。它们的一些变化能够改变动物的生活习性以及生理变化。比如骆驼,在环境的变化中慢慢的适应着没有水的情况。另外,光照、光强对于鱼类的一些影响,国内外的专家一直对其有所研究。数据证实光照与光强对于鱼类的繁殖、新陈代谢等活动都会有重要的辅助作用。正是由于光的重要程度,它才因此在鱼缸的设计中成为了一个不可或缺的考虑因素。之前的研究表明,光照能够促进植物的光合作用,并且吸收二氧化碳然后排出氧气。这一点在热带鱼的身上体现的非常明显,如果光线减弱或者消失热带鱼就无法生存下去。氧气也是鱼类生长与生存的必需条件。鱼类能够非常敏锐的感受到水中含氧量的变化,当水中缺少氧气的时候,鱼会浮到水面。这时
12、,如果不能及时的增加水中的氧气的含量,任由鱼浮在水面,那么过不了多久,鱼就会因为窒息而死。 智能化的鱼缸就能够在这些必需的条件上满足鱼对于生存条件的需求。它可以检测这些参数的实时情况,提供给饲养者。饲养人根据这些参数,可以增加或者减少光照、温度、氧气。这些都是传统型的鱼缸所不具备的,因此智能化的鱼缸的实现在很大程度上能够减轻饲养者的饲养难度。2 整体系统的选择方案与分析2.1整体系统的分析 本智能鱼缸系统的设计将能够满足以下的这些功能:第一,高、低水位的检测。用一个LM393比较器,当达到水位的时候比较器输出高电平。第二,温度输入。它能够检测鱼缸的水温,对温度进行控制。第三,加氧功能。它使用继
13、电器控制气泵实现这个功能。通过两个继电器控制变换相,实现正转还有反转。第四,喂食功能。单片机对舵机进行操控,舵机控制喂食机械装置进行相应的运转。第五,显示功能。1602液晶能够将温度,预置时间、喂食时间、充氧时间这些参数显示在屏幕中供使用者参考。控制系统需要完成以上的各个功能要求,需要具备单片机最小系统,按键模块,电机模块,显示模块、温度模块还有红外模块、比较器模块等等。本设计的控制系统的总框图如图2-1所示: 图2-1 系统总框图2.2硬件电路模块的分析本设计中需要显示一些参数,因此需要添加显示模块。当下,显示类元件种类很多。数码管,成本上来讲相对其他的显示模块是最低的。但是,它的焊接比较复
14、杂,在编写程序的时候也比较麻烦。只是能够显示数字和简单的字母,因此在本设计中不使用。LCD12864液晶屏自带字库,即可以显示汉字。同时,它也能够显示图片和字符。然而,它的成本是最高的,体积也是最大的,鱼缸只是需要显示一些参数并且减小占用面积,因此我们也不选用。LCD1602可以显示162的字符,控制起来比较简便,能够达到预想的设计效果,因此在本设计中使用1602液晶屏作为显示元件。另外,本设计中需要一些数据。这些数据需要一些传感器进行实时的监测。因此,选用DS18B20作为温度传感器芯片,光敏电阻传感器模块作为光强检测元件,还有红外接收器接收红外信号等。 3 系统的硬件设计3.1 STC89
15、C52RC控制模块的设计单片机就是一块由微处理器、存储器还有各种输入输出接口组合在一起的芯片。本设计使用的是STC89C52芯片,这是STC公司生产的芯片。该芯片为8051内核,内部含Flash E2PROM存储器,该元件为CMOS器件。它的内部程序存储空间为8KB,内部RAM(随机读写存储器)为512B。本设计中使用的是40脚DIP(双列直插)封装的单片机,它的最小系统原理图如图3-1所示: 图3-1 最小系统原理图单片机中有两种时钟电路:内部或者外部时钟电路。它的P3.0还有P3.1两个管脚上连接定时元件的是内部时钟电路方式。外接晶振然后通过分频电路进行分频的是外部时钟电路方式。通常的来讲
16、,在制作51单片机的硬件电路的时候,使用内部的时钟方式比较简洁明了。然而,内部时钟电路所产生的时钟信号并不是很稳定。与之相反,虽然外部时钟电路的硬件电路比内部的方式显得较为复杂。但是,外部时钟电路产生的信号更加的稳定、性能也更加的好。因此,外部时钟电路一直被制作者广泛的在使用。STC89C52单片机的XTAL1和XTAL2两个引脚在外接晶振后,又在晶振的两端各连接了一个电容,它们的功能是帮助晶振起振还有维持震荡信号的稳定。单片机的复位有上电复位、手动复位和程序自动复位三种情况。最简单的上电复位是通过外部的复位电路的电容进行充电来来实现的。按键手动复位的电平复位方式是通过RST端经电阻与电源VC
17、C接通而实现的。按键脉冲复位则是利用RC微分电路产生的正脉冲实现的。3.2 温度模块的设计 温度传感器是温度计的核心器件,它可以代替人体感受外界温度的变化。单片机控制中一般使用的是DS18B20温度传感器,它的性能比较稳定,占用的输入输出(I/O)口资源也少。它能够将读到的温度转成二进制的格式然后发送给单片机进行处理。之后再由单片机将二进制的数据转变成十进制进行显示。由于本设计中需要检测水的温度变化,因此就要选择带有防水型水温探头的DS18B20。它的引脚图如图3-2所示:图3-2 DS18B20实物图它只需要单线就能够与单片机进行通信。它检测温度的范围是零下55度到零上125度之间,完全可以
18、满足正常生物生存的温度范围。DS18B20只有3个引脚,它的引脚功能介绍如表3-1所示: 表3-1 DS18B20引脚功能介绍在实际的使用中,它能够直接的读出被测量的温度,同时能够根据实际的要求通过简单的编程实现9-12位的数字值读数方式。STC89C52单片机会根据DS18B20的时序图来进行程序的初始化、数据的写入还有数据的读取工作。它的访问顺序是这样的:首先,对DS18B20芯片进行初始化,其次,再对ROM进行操作,最后,才可以对存储器的数据进行访问。DS18B20的每一步的操作都必须严格按照它的工作时序还有通信协议来完成。例如:主程序控制DS18B20完成温度的转换的过程。依据它的通信
19、协议要求,会有三个步骤。首先要在每一次的读取或者写入数据之前对芯片进行复位操作,然后在复位成功的情况下发送一条ROM指令。最后,再发送RAM指令,只有这样才能对DS18B20完成预定的操作。当DS18B20接收到温度转换的指令之后,开始启动转换。转换完成之后,温度值就会以16位带符号的二进制补码形式存储在高速暂存存储器的第一、二字节。单片机能够通过单线接口读取到该数据,读取的时候高位在后面,低位在前面。表3-2是对应的一部分温度值。表3-2 部分温度值在硬件的连接上,DS18B20与51单片机有两种连接的方法。第一种是VCC外接电源,GND接地。而I/O接口则是与单片机的某一I/O口相连接。第
20、二种是使用寄生电源进行供电,这时候VDD与GND都接地,I/O口还是连接单片机的某一I/O口。在本设计中,使用的是第一种连接方式,它的电路原理图如图3-3所示: 图3-3温度模块电路原理图 在实际的控制时,单片机与温度传感器有约定的代码。当需要对温度进行控制时,代码为44H,即可启动DS18B20进行温度的转换。当需要读取暂存器的时候,需要在程序中写入BEH代码,即可读取暂存器9个字节的内容。而对暂存器写入数据则是利用4EH代码进行表示,能够将数据写入暂存器的TH与TL字节。读取、写入数据与初始化相同,也是通过改变数据的输入输出状态来进行的,这相当于一个协议,只需要遵守它,写程序就可以正常的进
21、行工作了。3.3 按键模块的设计本设计中使用的是独立按键的形式,它是按键电路的一种。4条输入线连接到I/O口端,当按键SET0按下的时候,VCC电源通过R10电阻后,再通过按键SET0进入GND形成完整的通路。这个通路的电压完全在电阻上,SET0引脚就是个低电平。当按键被松开之后,线路就会断开。于是,电流也就因此不会通过,SET0与VCC就应该是等电位,相当于高电平。我们通过检测该引脚是否为低电平即刻知道这个按键是不是被按下。单片机的I/O口内部也有一个上拉电阻存在。按键连接到了P1口,P1口为准双向I/O口。当I/O口内部为高电平的时候,经过一个反相器变为低电平,MOS管就不会导通。由于内部
22、上拉电阻的存在,所以就是一个高电平。如果外部没有按键被按下,VCC也是5V电压,虽然电路中有两个电阻,但是没有压差,也就没有电流存在,所有位置均为高电平。当内部为低电平的时候,经过反相器变为高电平,MOS管导通。单片机的I/O口就是一个低电平,外部虽然有上拉电阻,但是这两个电阻为并联的关系。不管按键是不是被按下,单片机的I/O口输入到内部的状态都是低电平。它的电路原理图如图3-4所示: 图3-4 按键电路原理图 3.4 显示模块的设计 本设计中使用的液晶屏幕是1602液晶屏。它有背光与不背光两种形式。从名称中即可看出它的显示容量,也就是两行每行16个字符。工作电压为4.5-5.5V,本设计中使
23、用的单片机完全可以满足这一电压要求。它一共有16个引脚,它的引脚介绍如表3-3所示:表3-3 1602液晶引脚介绍第一脚为接地电源,第二脚为接+5V电源,第三脚为液晶屏幕对比度调节端。当接地的时候对比度最高,接正电源的时候对比度最低,在使用的时候,添加一个10K的电位器对对比度进行调节。第四脚为RS寄存器。当该脚为高电平的时候,选择数据寄存器,相反,低电平的时候选择指令寄存器。第十五脚为背光源的正极,十六脚为负极。第7至14脚为D0至D7的8位数据线。第六脚为使能端,当这个管脚由高电平变为低电平的时候,液晶模块执行相应的指令。在这些引脚中,最复杂的就是第五脚R/W读写信号线端。当这个引脚为高电
24、平,进行读操作;当这个引脚为低电平,进行写操作。控制器的内部带有80B的RAM缓冲区,当我们向00-0F、40-4F地址中的任意地址写入显示数据的时候,液晶都可以立即显示出来。但是,当写到10-27或者50-67地址的时候,就必须通过移动屏幕的指令将它们移入可显示区域才能够进行正常的显示。原则上来讲,每一次爱再对控制器进行读取或者写入的操作之前,都必须要进行读/写测试,确保状态字最高位(STA7)为0。但是,通常在实际中,51单片机的处理数据的速度不是那么的快速,会慢于液晶控制器的反应速度。因此,使用STC89C52单片机的时候就不需要进行此测试过程了,或者只是进行短暂的延时即可。分析1602
25、液晶屏的时序图可以了解到,首先,需要通过RS寄存器确定是写数据还是写命令。写命令包含了液晶屏幕的光标是否显示、是否闪烁是否需要移屏什么地址显示等这些操作。写数据则是需要确定需要显示什么内容。之后,将读写控制端设置为写数据的模式,也就是低电平。然后,可以将需要显示的数据写入数据线中。最后,给使能端一个高电平即可将数据写入液晶控制器中,完成写数据的操作。它的硬件连接图如图3-5所示:图3-5 1602液晶模块硬件原理图3.5 LED显示模块本设计中使用了加温指示灯、加氧指示灯、换水指示灯、喂食指示灯还有设置指示灯。这些指示灯都是利用LED发光二极管作为显示器件的。发光二极管可以将电能转变成为光能,
26、可以将它简写为LED。发光二极管中有一个PN结,因此它具有单向导电的特质。一般情况下,LED有自己的正向额定电流,如果超过这一额定电流可能会造成发光二极管的损坏。所以一定要在电路中串联电阻限制电路中电流的大小。它的硬件原理图如图3-6所示:图3-6 LED显示模块硬件原理图由它的硬件原理图可知,发光二极管的正极连接在一起,连接VCC(+5V)。而它们的负极则是分别连接五个不同的I/O口。现以Green灯举例,其它各灯的控制原理相同。VCC端电压为5V,如果想要导通这个支路,那么就需要将I/O口端置为低电平。当I/O口端为低电平,那么这个支路就有了压降,因此就有了电流。发光二极管正常导通的时候,
27、假设它的电压为1.7V,那么电阻的电压就为3.3V。由于发光二极管导通电压在1.7V至2.4V之间,因此,根据欧姆定律可以知道,电阻的范围只需要保证发光二极管可以导通即可。3.6 其余模块本设计中,还有比较器模块,光敏模块以及红外接收模块。本设计中使用的光敏电阻传感器模块,它的作用是检测亮度的变化。随着亮度的变化,阻值也会相应的发生变化的电阻成为光敏电阻。它的阻值一般有两种变化:第一种,当入射的光强的时候,电阻减小,入射光弱的时候,电阻增大。另一种正好与之相反,入射光强电阻增加,入射光弱电阻减小。灵敏度越高的光敏电阻,在光的亮度发生变化的时候,就能够感知,阻值也会相应的发生变化。光敏电阻的模块
28、对环境光线最为敏感,一般使用它来检测周围环境的光线的亮度,然后利用单片机进行相应的操作。本模块在环境中的光线亮度达不到设定的额定值的时候,DO端就会输出一个高电平,而当外界环境的光线亮度超过设定的额定值的时候,DO端就会输出低电平。DO输出端直接与单片机相连接,因此可以通过单片机去检测D0端是高电平或者是低电平,并由此去判断环境中的光照强度是否发生了变化。本设计中还使用了一个红外接收管,目的是接收红外信号。它有三个引脚,一个VCC,一个GND,还有一个OUT。红外接收头的内部有一个接收管可以将红外发射管发射出来的光信号转换成为微弱的电信号。然后这个信号经过IC内部的放大器进行放大,最后通过接收
29、头的信号输出引脚输入到电器的编码识别电路中。红外编码的关键就是识别0还有1。红外接收头一般是将接收、放大、解调结合在一起的一体头。一般红外信号经过接收头解调后,数据0还有1的区别通常体现在高低电平的时间长短或者信号周期上。它的原理图如图3-7所示:图3-7 红外接收原理图本设计还是用了一个LM393比较器,达到水位后,比较器就会输出1,如果水位没有达到要求,比较器就输出0。它的工作电源的电压范围宽,消耗的电流小。它的内部框图如图3-8所示:图3-8 LM393内部框图它的引脚介绍如表3-3所示:表3-3 LM393引脚介绍在电路中,所有不用的端口都需要接地,因为在本电路中只需要比较水位的高低,
30、因此,只占用两个I/O口,它的硬件原理图如图3-9所示:图3-9 比较器硬件原理图4 系统的软件设计4.1主程序的设计 首先,需要设定程序的初始状态。即打开中断开关还有设定一些基础的参数,例如:温度、充氧时间、喂食时间等,将这些参数显示在1602液晶显示屏中。然后,对各个传感器进行初始化设置。将红外传感器、液晶屏幕设定为实时扫描状态。之后,对实时的状态进行扫描。如果在扫描的过程中发现有变化的参数,即中断产生,那么将变化的参数显示在屏幕上。主程序的流程图如图4-1所示:4.2 中断子程序的设计中断系统,它的存在在很大程度上提高了51单片机对于外部或者内部的突发事件进行处理的能力。在它的内部一共有
31、5种中断源。也就是相当于在这五种情况发生的时候,单片机会停下当时正在操作的工作转而去进行中断的程序的运行。写51单片机的定时器程序的时候,需要在程序的一开始对定时器以及中断寄存器做一些初始化的设置。通常来说,初始化的过程这样完成的:首先,需要确定TMOD寄存器的值,也就是确定是使用T0或者T1中断计数器/计数器,本设计中使用的是中断计时器0的工作方式1。之后,对初值进行计算,对IE寄存器进行赋值并开放中断,将TR1或者TR0置为高电平,启动定时器。在本设计之中,当参数被改变的时候,中断就会启动。直到解决了参数更改的问题之后,中断就会关闭。中断子程序流程图如图4-2所示:图4-2 中断子程序流程
32、图4.3 显示子程序的设计 首先,对屏幕的参数进行初始化设定。例如,设定1602液晶显示模式、显示开关及光标的设定、确定写命令还是写数据等。之后,需要设定传感器及充氧、喂食时间等参数的初始值。当使用者选择某一功能的时候,1602液晶屏进行相应的显示。当有参数产生了变化的时候,液晶显示屏也会同步的显示出来。显示子程序的流程图如图4-3所示: 图4-3 显示子程序流程图5 系统整体调试5.1 测试方法第一步,连接好电源,打开开关后,看一下液晶的显示功能是否正常。正常的屏幕中可以显示着温度、光照还有水位等参数的初始值。然后,分别改变每一种传感器的设置状态,看一下相应的数值是否出现变化。第二步,设定定
33、时的喂食时间,到时间后,喂食设备就会工作。设定一个温度的平衡值,当传感器检测到温度的值小于此值的时候,就需要打开加热装置。而当检测到的温度值高于设定的平衡值的时候,加热装置就需要停止工作。第三步,按下水泵的开关按键,水泵就会开始向鱼缸外面抽水作业。当鱼缸内的水位低于设定的某一平衡值的时候,水泵就会停止它向外抽水的工作。5.2 系统调试过程首先,需要连接电源,打开开关。当进入主界面的时候,可以选择预先设置一些参数,比如能够设定时间、定时的时间、温度系数等参数,然后通过按键进行一些相应的选择。当设置完成之后,即实现了初始设置的目标。之后,将水泵的抽水管接在鱼缸外的下水通道,按下开始的按键后,水泵就
34、开始从鱼缸中向外进行抽水。当缸内的传感器自动检测到水位低到整体鱼缸的某一点的时候,水泵就会停止向外抽水的工作。这时候关闭抽水的开关按键,就可以向鱼缸中注入新水了,这样做就完成了对鱼缸进行换水的工作。而水循环和过滤功能的实现是将水泵的抽水管连接至鱼缸中,然后按下水泵的开关按键,即可进行水的循环工作。它的实物图如图5-1所示: 图5-1 智能鱼缸系统实物图结 论本课题的主要的控制芯片是51单片机STC89C52,它作为控制器被使用,并且充分发挥了它的内部资源制作的本款智能鱼缸的系统。本设计在以下的这些功能上做出了一些创新:首先,它可以检测水位的高低;其次,它可以检测温度,控制水温在一个相对恒定的范
35、围;第三,它可以利用继电器控制气泵对鱼缸进行换水的工作;最后,它还可以利用红外线去控制加热量、加氧气的时间,并且将这些时间显示出来。在编写程序的过程中,使我对51单片机有了进一步更加充分的了解,更加清晰的认识了它的硬件结构还有指令系统。通过对51单片机的学习,能够培养自己更加迁移性还有灵活性去学习知识。同时,也能够锻炼自己去学习新的事物的这一能力。在编写程序的时候出现了无法编译的情况。通过认真的分析,它的问题应该是语法有误,初步认定解决的办法是重新的分析程序。因为Keil软件能够大概的显示出错误语句的范围,因此在它的相邻行找到了出现的错误。通过这样的解决,完善的处理了发生的问题。通过对于在实际
36、的过程中出现的问题的逐一解决,不仅锻炼了自己在面对问题时处理它的能力,而且也积累了一些解决问题的办法。经过了这一次对智能鱼缸课题的整体系统的调试,我认识到了实践与理论在应用的层面存在着不小的距离。这也为我今后学习的目标。参考文献1余发山.王福忠.单片机原理及应用技术M.北京.中国矿业大学.2003.2余发山.王福忠.单片机原理及应用技术M.北京.中国矿业大学.20033张义和,陈敌北.例说8051M. 人民邮电出版社, 20064何希才.传感器及其应用电路M.北京:电子工业出版社,2001.5何立民,CS-51系列单片机应用系统设计M,北京:北京航空航天大学出版社,1990年6陈勇,程月波,荆
37、蕾,单片机原理与应用:基于汇编C51及混合编程M,北京:高等教育出版社,2014年7赵炯,Linux内核完全剖析:基于0.12内核M,北京:机械工业出版社,2009年8美史蒂文斯等UNIX网络编程(卷1):套接字联网API,3版M,北京:人民邮电出版社,2010年9美克尼汉,里奇.C程序设计语言,2版,徐宝文,李志,译M,北京:机械工业出版社,2004年10徐维样,刘旭敏.单片微型机原理及应用M.大连理工大学出版社,1997.11赵佩华.单片机接口技术及应用M.北京:机械工业出版社,2003.12吴义彬.继电器用户实用手册J.国防工业出版社,1992.6.13Simplicity Synthe
38、sis Reference Manual. Version 6.0, Simplicity Inc. May 200014IEEE Design Automation Standard Committee, EEE Standard HardwareDescription Language based on Verilog Hardware Description Language, IEEE 199615Sealed Lead Acid Handbook M Panasonic, 1998. 致 谢本智能鱼缸的课题能够实现它的预想的功能并且完成课题的论文工作,最需要被感谢的人是我的指导教师张
39、骥祥教授。他一直对我进行着孜孜不倦的教诲并且不厌其烦。张老师是一个和蔼可亲、教学严谨又不失风趣幽默的人。他曾经教过我们信号与系统的课程并给我留下深刻的印象。作为我们班的班主任老师,同时也是我的毕业设计指导教师,他为我无偿的提供了很多相关的资料,同时也为我提供了学习的设施与环境。他还会经常的在繁忙之中抽空对我的课题进行一些指点,在这里我要真诚的表达感谢之情。除此之外,我同样也要对为我指出了很多的不足还有宝贵的指导意见的我们学校工程实训中心的张书源和刘卫国两位老师表达感谢。同时,我也感谢天津职业技术师范大学这个学校。在四年的大学时间中,这里给我留下了很多的回忆,雄伟的教学楼、完善的实验室都给我留下
40、了深刻的印象。尤其是现在在我即将离开学校之际,这个课题为我提供了一个锻炼自己、认真学习的机遇。它能够让我对之前学到的知识有更深刻的理解,并且可以使我的知识结构得到发展,对知识的综合应用能力得到相应的提高。在这里,祝福我的母校拥有辉煌的未来,成为一所独具特色的为国家培养更多的职教师资的大学。最后,我要向曾经鼓励、帮助过我的同学和老师们表达我最真挚的感谢与最诚挚的祝愿! 附录一:原理图附录二:程序#include#include#define uchar unsigned char#define ulong unsigned longbit FLAG_DS18B20_Timer; /温度转换时间标
41、致uchar T0TL0,T0TH0;uchar Temp_BUFF; /实际温度变量uchar SET_Data4; /预设数据 0:预设温度; 1:预设充氧时间 2:预设喂食时间uchar Function; /功能选择数/*配置中断T2的时间*/void fligTime(uchar ms)ulong tmp;TMOD = 0X01;tmp = 11059200/12; /一个周期的频率tmp = (tmp * ms)/1000; /计算0.001S的机器周期tmp = 65536-tmp; /计算基准周期tmp = tmp +12; /消除误差T0TH0 = (uchar)(tmp 8
42、); /发送基准高八位T0TL0= (uchar)tmp; /低八位TH0 = T0TH0;TL0 = T0TL0;ET0 = 1;TR0 = 1;/*LCD数据赋值显示*/void LCD_show() uchar LCD_S_Temp3; /设置温度变量 uchar LCD_Temp3; /实际温度变量 uchar LCD_Oxygen4; /充氧时间变量 uchar LCD_Eat4; /喂食时间变量 /*预设温度显示*/ LCD_S_Temp0 = (SET_Data0/10)+0; LCD_S_Temp1 = (SET_Data0%10)+0; LCD_S_Temp2 = 0; LC
43、D1602_ShowStr(7,0,LCD_S_Temp); /*实际温度显示*/ LCD_Temp0 = (Temp_BUFF/10)+0; LCD_Temp1 = (Temp_BUFF%10)+0; LCD_Temp2 = 0; LCD1602_ShowStr(14,0,LCD_Temp); /*预设充氧时间显示*/ LCD_Oxygen0 = (SET_Data1/10)+0; LCD_Oxygen1 = (SET_Data1%10)+0; LCD_Oxygen2 = 0; LCD1602_ShowStr(14,1,LCD_Oxygen); /*预设喂食时间显示*/ LCD_Eat0 =
44、 (SET_Data2/100)+0; LCD_Eat1 = (SET_Data2/10%10)+0; LCD_Eat2 = (SET_Data2%10)+0; LCD_Eat3 = 0; LCD1602_ShowStr(4,1,LCD_Eat);/*器件初始化*/void Drive_Init() fligTime(1); /T2初始化 HS0038_Init(); /红外初始化 LCD1602_Init(); /液晶初始 LCD1602_ShowStr(0,0,S_Temp: Temp: );/初始液晶显示 LCD1602_ShowStr(0,1,Eat: Oxygen: );void m
45、ain() Drive_Init(); EA = 1; PX1 = 1; while(1) Get_Tempareture(&Temp_BUFF); /扫描温度 Heating_OUT(Temp_BUFF, SET_Data0); /扫描输出 Water_level(); /扫描换水 KEY_Scan(SET_Data, 25, 0,&Function); /扫描按键 Infrared_Handling(SET_Data,&Function,25,0);/扫描红外 ADD_Oxygen(&SET_Data1); /扫描充氧 ADD_Eat(&SET_Data2); /扫描喂食 Intelligent_Light(); /扫描关照 LCD_show(); /扫描显示