基于单片机的智能鱼缸设计说明_第1页
基于单片机的智能鱼缸设计说明_第2页
基于单片机的智能鱼缸设计说明_第3页
基于单片机的智能鱼缸设计说明_第4页
基于单片机的智能鱼缸设计说明_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

..基于单片机的智能鱼缸设计摘要随着社会科技与经济的飞速发展,用科技改善人们的生活已经成为了一种必然的趋势。智能鱼缸作为缓解压力的装饰品得到了人们的广泛青睐,而单片机渗透到我们生活的各个领域,如智能家居、手机电脑、汽车仪表等。因而,基于单片机的智能鱼缸设计具有很大的研究意义和实用价值。本设计是针对目前市场智能鱼缸尚在起步阶段,存在功能不齐全、成本较高的问题。利用STC89C51单片机,结合传感器技术和C语言编程技术设计可以自动温控、自动充氧、自动投食、自动水循环的低成本智能鱼缸。本文主要从硬件设计方面阐述设计的实践过程与细节。关键词:单片机;传感器;智能鱼缸DESIGNOFINTELLIGENTFISHTANKBASEDONSINGLECHIPMICROCOMPUTERABSTRACTWiththerapiddevelopmentofsocialscienceandtechnologyandeconomy,Usingtechnologytoimprovepeople’sliveshasbecomeaninevitabletrend.Intelligentfishtankshavebeenwidelyfavoredasanornamentforstressrelief,andsinglechipmicrocomputerhasinfiltratedallareasofourlives,suchassmarthomes,mobilephonesandcomputers,andautomotiveinstrumentation.Therefore,theintelligentfishtankdesignbasedonsingle-chipmicrocomputerhasgreatresearchsignificanceandpracticalvalue.Thisdesignisforthecurrentmarketthattheintelligentfishtankisstillinitsinfancy,anditisincompletefunctionandhighcost.UsingSTC89C51microcontroller,combinedwithsensortechnologyandClanguageprogrammingtechnologydesigncanautomaticallytemperaturecontrol,automaticwaterchange,automaticfeeding,automaticoxygenatedlow-costsmarttank.Thisarticleelaboratestheprocessanddetailsofthedesignfromthehardwaredesign.Keywords:singlechipmicrocomputer;transducer;intelligentfishtank目录1绪论….……………….….….….….….….……………….11.1课题背景及目的……………….….….….….….….……………….11.2国内外研究状况……………….….….….….….….……………….11.3课题研究方法….….….….….….….……………….21.4论文构成及研究内容………………22技术与原理………….….….….….….….……………….32.1单片机技术…………32.2嵌入式系统…………32.3传感器技术…………33智能鱼缸元器件选用……………………53.1智能鱼缸系统的功能要求…………53.2系统结构…………..53.3主要元器件选取……………………63.3.1主控芯片选用………………63.3.2温度传感器选用……………93.3.3时钟芯片选用………………93.3.4显示器选用…………………94系统电路设计……………….……..…114.1各模块电路设计……………….…..114.1.1USB接口电路………………114.1.2复位电路……………………114.1.3DS18B20温度传感器电路…………………124.1.4DS1302时钟模块电路………124.1.5驱动电机电路………………124.1.6存储芯片电路………………134.1.7按键模块电路………………134.1.8LCD1602显示模块电路……………………134.1.9继电器电路…………………144.2系统总体模块设计…………………144.3系统的软件设计……………………165系统功能测试……………185.1系统实物图…………185.2功能测试……………185.2.1自动温控……………………185.2.2自动投食……………………205.2.3自动充氧……………………205.2.4自动水循环…………………226总结………………………22参考文献……………………22致谢…………………………24附录…………………………25附件…………………………38附件一:开题报告………………………38附件二:英文译文及原文………………44..绪论1.1课题背景及目的近年以来,随着我国综合实力飞速飙升,人们对物质和精神生活质量的要求也不断提升,各式各样的智能家居不断问世并得到消费者的喜爱。因而各样的智能鱼缸作为装饰品和智能家居的合体应景入驻家庭、办公室、商场等场所。它不仅可以作为装饰品给我们带来视觉享受,缓解精神疲劳,而且将中国传统水文化引入日常生活,极大的丰富了人们的生活。但目前市面上各式鱼缸鱼龙混杂,格式各异,大多为非智能,需要手动操作实现温控,换水,充氧,投食等。这将造成诸多不便,浪费使用者的大量时间精力,且影响鱼缸的美观性。但现代社会生活节奏较快,人们没有足够的时间动手照顾鱼缸,导致鱼缸生物成活率低。因而,现阶段智能鱼缸具有一定的市场需求。本课题设计的目的为实现鱼缸温控、换水、充氧、投食的一体化和智能化。该设计具有科研和实用两重价值。1.2国内外研究状况就现阶段社会现状来看,鱼缸作为家居和装饰品不仅受到老年人的喜爱,同时得到越来越多年轻人的青睐。鱼缸不仅可以做装饰品,给人们带来视觉上的享受,减轻压力,缓解心情,而且灵动的引入了中国传统水文化,成为了一种艺术与文化,因而被广泛的使用于家庭、办公室、商场等场合。但现阶段市场上传统鱼缸居多,需要使用者自行配备加热器,水泵,氧气泵等,这些设备需要手动操作,浪费使用者的时间精力,因为无法显示具体参数,所以使用者无法对含氧量、水温等进行精准的控制,长时间的充氧或加热不仅会浪费能源,而且会威胁到鱼缸内生物的生命,且自行组装严重影响了鱼缸的美观性。我国鱼缸控制系统起步较晚,改革开放后随着人们对生活质量的要求进一步提升,利用科技改善传统生活方式称为了一种趋势。消费者对智能鱼缸需求不断增加,这引起了较多厂商的重视,但目前市面上智能鱼缸尚处于不完善的状态,存在功能不齐全,操作复杂,成本过高等问题。单片机目前处于一个巅峰时期,单片机系统种类繁多,取得了诸多技术成果且保持着很快的发展速度,尤其是8位单片机,在我们生活的各个领域都能看到它的影子,如手机电脑、仪器仪表、智能家居等等。单片机发展阶段大概可以概括为:4位机、8位机、16位机、新一代8位机、32位机。4位机早期主要用于收音机、电视、冰箱等家用电器中,但目前,随着8位机技术的成熟,成本下降,家用电器更多采用8位机以实现模糊控制等新的技术要求。不仅可以降低系统的能耗,而且很大程度上提高了家用电器的自动化水平。16位机常用在需要实时控制、实时处理的系统中,因为16位机运算和反应速度相比4位和8位具有绝对的优势,但它能耗也相对较大,成本比较高。因而,就目前单片机技术的发展状况来看,8位单片机将很长一段时间将成为单片机中的佼佼者,因为它综合了16位机的高性能和4位机的低成本,而单片机将不断完善,提升性能,缩小体积,减少外围电路,扩大容量。1.3课题研究方法本课题设计主要是利用单片机为主控芯片,结合嵌入式技术、传感器技术、C语言编程等技术设计出满足功能的智能鱼缸系统。总体上,我们首先要根据智能鱼缸的使用场合和工作环境明确我们所设计系统所需的总体功能。其次,我们构思出系统的总体框架,绘出硬件和软件流程框图,然后根据流程图着手设计。硬件方面考虑到市场现有的芯片、元器件种类繁多,我们需要斟酌选用满足系统功能且稳定实惠的元器件。系统软件编程我们采用模块化程序设计,先根据系统功能要求构思出出程序框图,再利用C语言对各个模块进行编程设计。最后利用KeiluVision4对源程序进行调试、查错和修改,最后导入硬件设备,总体运行系统,确保系统满足功能要求且能稳定的运行。1.4论文构成及研究内容本课题的只要内容是是设计一个自动温控、换水、充氧、投食的智能鱼缸控制系统,论文主要构成包括:〔1课题的背景及主要研究内容;〔2相关基本原理技术;〔3系统的总体、硬件、软件设计;〔4设计的心得感悟以及参考文献。2技术与原理2.1单片机原理及应用单片机是将CPU、I/O口和存储器集成在一个芯片上的一种集成电路芯片。近年以来单片机技术随着科技飞速发展,并在计算机领域开拓出极具潜力的分支。单片机作为各种各样智能系统的核心控制元件,它的诞生满足了我国急速增长的工业需求,现已广泛的应用在手机电脑、仪器仪表、智能家居各种领域中。单片机的应用系统主要有两部分,分别是软件和硬件系统。其硬件系统包括单片机扩展的存储器、接口电路和外围设备等。软件系统只要是各个模块的应用程序。同理,单片机应用系统的设计主要包括单片机系统设计、应用软件设计、系统抗干扰设计、通道与接口设计等[2]。2.2嵌入式系统嵌入式系统相当于一种特殊的计算机,是一种"完全嵌入受控器件内部,为特定应用而设计的专用计算机系统",因而也被称为嵌入式计算机系统,但嵌入式系统执行的任务是提前定义好的,且有特定要求,所以说和我们又不同于我们常见的计算机系统,因而嵌入式系统又被定义为用于检测、控制、和辅助机器的一种设备。嵌入式系统是以应用程序为中心的,基于计算机的,且其软件和硬件为可调整的目前被广泛的应用于功能、成本、稳定性、规格和功耗有严格规定的计算机系统中。嵌入式系统在满足应用的功能要求、稳定的前提下,还有必要尽量减少系统的成本。其制作过程包括软件和硬件两个方面。硬件方面要根据系统的功能要求,规划出简洁明了的框图,然后通过对比选择适当元器件,再设计满足应用需求的接口,最后设计出整体的机械结构。软件方面与硬件相似,要根据功能要求确定需要的操作系统,选择相匹配且自己擅长的系统编写软件。2.3传感器技术传感器是可以感测特定测量并根据一定规则将其转换为可用输出信号的设备或设备的总称,是目前世界最前沿的科技之一,是实现生活高科技化的重要技术支持之一,它通常被测量为非电气物理量,并且输出信号通常是电量。据了解,传感器技术、通信技术和计算机技术被称为信息技术三大支柱,越来越多的国家重视传感器技术的发展,其发展水平逐渐成为一个国家智能化、数字化、网络化的重要体现。随着科技的飞速进步,传感技术作为一个新兴技术也如雨后春笋飞速发展,并且在航天航空、医疗,工业、农业、教育、生活等领域得到广泛地利用,已经成为生活各个领域中随处可见的一项技术。因为传感器能提供精确、可靠的参数,而且感知的精确度远在人的感官器官之上,并且能通过数据很直观的变现出来,从而为我们的科研工作提供更加精准、直观的数据,更好的应用于其他领域,促进社会科技水平的发展,所以在日常生活和科学研究中,各式各样的传感器被广泛的使用。总之,传感器技术作为一种与现代科学密切相关的新兴学科正得到迅速的发展,并且在将会被应用于越来越多的领域。3智能鱼缸元器件选用3.1智能鱼缸系统功能要求该智能鱼缸系统的设计是以日常生活中鱼缸的养护为背景,根据当前市场上的需求,智能鱼缸系统需要自动实现自动温控、换水、充氧、投食等功能。系统需要稳定运行尽可能避免发生故障,且需要尽可能的降低成本,具有实用价值。系统需要对鱼缸内部环境进行检测,并保持环境参数保持在适宜鱼类生存的范围内。首先是温度,根据了解,鱼类的适宜的生存环境一般都在22~28℃,当温度传感器检测到水温低于22℃时,系统启动加热器加热,当温度达到28℃时系统停止加热,使温度在适宜鱼类生存的范围内波动。其次是充氧,目前生活中人们无法对充氧做到很好的把控,长时间不充氧容易导致鱼类缺氧死亡,而一直开启氧泵无疑是对资源的浪费,因而,利用定时控制氧泵开关,保证水中的一定的溶氧量将一定程度上解决上述问题。鱼类的投食频率一般是12小时或者24小时,最佳时间一般在中午这个时间段,因而可以利用系统的时钟模块定时控制投食器。水循环主要是为了除去水中的杂质,改良水质,可以利用利用系统定时模块定时开关水泵,将水通过活性炭海绵等过滤完成净化,为鱼类提供适宜生存的环境。3.2系统结构查阅相关资料可知,鱼类生存的环境要素包含很多,如光照、水的温度、营养物、杂质含量、溶氧量、PH等等。在此设计中,我们主要考虑到鱼类生存的四大环境要素:水温、水溶氧量、水杂质含量、营养物。而各个要素对应的系统处理功能如下表所示。表3-1系统控制参数项目环境参数系统处理1水温温度传感器处理并由加热器控制〔自动加热2水溶氧量定时启动氧泵充氧〔自动充氧3水杂质含量定时启动水泵水循环〔自动水循环4营养物定时启动投食器〔自动投食本设计的智能鱼缸控制系统主要实现自动加热、自动水循环、自动充氧、自动投食四个功能,选用STC89C52单片机作为系统核心芯片,控制温控模块、时钟模块和其他一些模块。温度控制模块中DS18B20温度传感器负责采集温度参数传送至主控芯片,利用继电器控制加热器以实现恒温。时钟模块通过继电器控制氧泵、水泵的开关,实现定时充氧、定时水循环。而自动投食功能利用时钟模块控制步进电机来模拟。系统结构框图如图3.1所示。图3.1系统结构框图3.3主要元器件选用元器件的选用,主要以满足系统功能要求、稳定简便和实惠为原则。以下是各个元器件的具体选用情况。3.3.1主控芯片选用主控芯片采用STC89C52单片机,具有功耗低、价格便宜、性能高、编程简单、可以不用ISP下载器,直接用串口下载程序的优点,适合初学者练习。STC89C52虽然使用传统的MCS-51内核,但具备传统51单片机不具备的功能[4]。下面简单介绍下STC89C52引脚和功能,其引脚图如图3.2所示。图3.2STC89C52引脚图STC89C52单片机有P0、P1、P2、P3四组8位的可编程I/O口,每个口有8根引脚,共32根。有2根主电源引脚,分别是VCC<40引脚>和GND<20引脚>。外接晶振引脚也有2根,分别是XTAL1<19引脚>和XTAL2<18引脚>。控制引脚有4根,分别是RET/VPP〔9引脚、ALE/PROG<30引脚>、PSEN<29引脚>、EA/VPP<31引脚>,其各个引脚具体介绍如下[4]:〔1VCC〔40引脚:电源电压。〔2GND〔20引脚:接地。〔3RET/VPP〔9引脚:重置输入。当振荡器工作时,RST引脚在两个以上的机器周期内出现高电平,将会导致微控制器复位[4]。〔4ALE/PROG〔30引脚:当访问外部程序存储器或数据存储器时,ALE〔地址锁存允许输出脉冲用于锁存地址的低8字节。一般来说,ALE仍然以时钟振荡频率的1/6输出一个固定的脉冲信号,所以它可以从外部输出时钟或用于定时目的。应该注意的是,只要访问外部数据存储器,ALE脉冲就会被跳过。在FLASH存储器编程期间,该引脚还用于输入编程脉冲〔PROG。如有必要,可以通过在特殊功能寄存器〔SFR区域的8EH位置设置D0位来禁止ALE操作[4]。〔5PSEN〔29引脚:外部程序存储器选通信号。在通过外部程序存储器取指令期间,两个PSEN在每个机器周期内都有效。但是,访问外部数据存储器时,这两次有效的PSEN信号不会出现[4]。〔6EA/VPP〔31引脚:对于外部访问,EA必须保持低电平〔接地,CPU才能访问外部程序存储器。应该注意的是,如果编程加密位LB1,EA状态将在复位期间内部锁存。如果EA为高电平〔连接VCC,则CPU执行内部程序存储器指令。当编程FLASH存储器时,该引脚增加了+12V编程以允许电源VPP。当然,这必须是该器件使用12V编程电压VPP[4]。〔7XTAL1〔19引脚:反向振荡放大器的输入及内部时钟工作电路的输入[4]。〔8XTAL2〔18引脚:来自反向振荡器的输出[4]。〔9P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写"1"时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻[4]。〔10P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写"1"时,内部上拉电阻把端口拉高,可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流[4]。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入和时器/计数器2的触发输入,具体如表3-2所示。。表3-2P1.0和P1.1引脚复用功能引脚号功能特性P1.0T2〔定时器、计数器2外部计数输入,时钟输出P1.1T2EX〔定时器、计数器2捕获、重装出发和方向控制〔11P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2。端口写"1"时,内部上拉电阻把端口拉高,可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流[4]。〔12P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写"1"时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P3口也作为STC89C52第二功能使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号[4]。P3口其他一些复用功能如表3-3。表3-3P3口引脚复用功能引脚号复用功能P3.0RXD〔串行输入口P3.1TXD〔串行输出口P3.2〔外部中断0P3.3〔外部中断1P3.4T0〔定时器0的外部输入P3.5T1〔定时器1的外部输入P3.6〔外部数据存储器写选通P3.7〔外部数据存储器读选通3.3.2温度传感器选用温度传感器采用DS18B20芯片,DS18B20芯片具有成本低、体积小、封装形式多样的诸多优点,封装后可以在空间较小的工作场合发挥很好的作用,适用于各种系统测温。而且精准度高达0.0626℃,具有出色的抗干扰能力,采用3线制与单片机相连,使用非常方便。其测温范围较大,为-55℃到125℃,可用于锅炉测温、农业温棚测温、智能仪器内部测温等对温度精确度要求非常严格的场合。3.3.3时钟芯片选用时钟电路采用DS1302芯片,DS1302具有高性能、低能耗、接口简单、使用方便且成本较低的诸多优点,且可以采用备用电源,在系统掉电的情况下为时钟芯片供电,防止数据的丢失。它不仅可以计时普通的秒、分、时、天、周、月、年,而且具有闰年补偿等功能,并且其工作能耗非常低,备用的纽扣电池有一年多的有效期。因为在单片机系统中,有较多的功能、应用、设置需要耗费单片机的硬件资源,所以在单片机系统中使用时钟芯片DS1302能很好降低主控芯片的资源占用。3.3.4显示器选用显示界面在用户和系统进行交互过程中起到非常重要的作用,是系统和用户之间进行信息交流的主要窗口,因而显示器的选择对系统和用户体验来说都十分重要。它可以显示当前系统状态,将系统的内部信息以人类可以直观理解的形式表现出来,并且用户可以通过按键操作设定系统中的各项参数,实现用户和系统的交流。本设计中显示器采用LCD1602,是一款适用于显示字母、数字、符号的显示器。其优点是显字清晰,价格低,且其字符发生存储器存储有160个不同的点阵字符图形,且其字符和代码都一一对应,能够同时显示32个字符,是一种性价比非常高的点阵型液晶模块,在使用时按照代码编写程序并按一定的时序驱动就可以实现功能[4]。4智能鱼缸电路设计4.1各模块电路设计4.1.1USB接口电路单片机系统的工作电压环境为5V左右,USB接口模块也就是系统的电源接口,主要作用是为系统提供稳定的工作电压。其电路图如图4.1所示。其中,J1是电源总开关,C2、C13、C14为电解电容,C1、C12、C15为无极性电容,这些电容的主要功能是稳定净化输入电源,保证外围电路的稳定运行。图4.1USB接口电路图4.1.2复位电路复位电路的作用是将电路恢复到初始状态,和计算器的归零键相似。目前单片机系统复位方式主要有两种:手动按钮复位和上电复位,其电路图如图4.2所示,由简单的电容和电阻组合而成,接到单片机的第9个引脚。图4.2复位电路电路图4.1.3DS18B20温度传感器电路DS18B20温度传感器的主要作用是检测鱼缸的具体温度数值,并将数字信号的温度变化值转化为电信号传送给单片机识别,与单片机的P10引脚相连。其电路图如图4.3所示。图4.3DS18B20电路图4.1.4DS1302时钟模块电路DS1302模块是控制鱼缸换水、投食、充氧的相对时钟,其对时间处理的同时还可以为系统提供其他扩展的功能,比如闹钟提醒,事件定时,备忘等。时钟芯片与单片机的P11、P12、P13接口相连。其电路图如图4.4所示,其中,Y2为晶振,BT1为备用电池,当主系统断电后,备用电池继续供电给时钟模块,保证其正常运行,防止出现数据的丢失。图4.4DS1302电路图4.1.5驱动电机电路用步进电机模拟投食,其电路图如图4.5所示。图4.5驱动电机电路4.1.6存储芯片电路存储电路用于存储一些设置的数据,其电路图4.6所示。图4.6存储芯片电路4.1.7按键模块电路按键模块为系统提供四个设置按键,依次接到单片机的P34、P35、P36、P37接口,通过按键可以调整系统设置,如温度上下限、充氧时间、投食时间、水循环时间。其电路图如图4.7所示。图4.7按键模块电路4.1.8LCD1602显示模块电路LCD1602显示模块为系统的显示窗口,用于显示系统的一些参数,如温度、时间等。其电路图如图4.8所示,其中,R1为滑动变阻器,用于调节液晶对比度。图4.8显示模块电路4.1.9继电器电路由于单片机的工作电压一般在5V左右,但是系统所要用到的加热器、氧泵、水泵工作电压要求较高,无法由单片机模块供电正常工作,所以这个时候需要一个利用单片机系统小电流来控制加热器、氧泵、水泵大电流的开关,也就是继电器。继电器是最重要的控制元件之一,简单来说就是一个无源开关,可以实现自动隔离,因而被广泛应用在工业的多种大功率仪器控制中。本设计中,继电器模块一共三个,依次用于控制加热,水循环,充氧。其中控制加热继电器电路图如图4.9所示,其他两个继电器电路图与之完全相同。图4.9继电器电路4.2系统总体电路图完成各个模块的电路接机后,将各个模块之间按照一定的引脚进行连线,得到系统的原理图,如图4.10所示。图4.10系统原理图在完成系统的原理图后,将各个模块电路图导入PCB图中,然后根据电路走向调整布局、完成连线、优化布线、最后开始制作。系统的PCB图如图4.11所示。图4.11系统PCB图在打印PCB电路图,得到电路板并镀锡、打孔、焊接元器件得到完整的实体电路板之后,也标志着智能鱼缸控制系统的硬件部分完成了。4.3系统软件设计模块化程序设计是现在最常见的软件设计方式之一,就是自上而下逐步将软件部分按照系统的功能要求划分为几个相互独立的小模块,然后对各个小模块单独进行编程设计。但各个模块之间必须根据系统的需求互相关联,相辅相成完成系统的功能要求,因为单个小的模块相对功能更单一、结构更清晰,所以这样很大程度上减轻了软件设计的工作量,使得设计思路更加清晰,更加便捷、更加快速。且模块化程序设计的各个模块程序可以应用到其他系统中,如常见的时钟模块、温度控制模块等。并且其程序更方便修改和扩展,方便后期的完善,所以受到大部分开发者的喜爱。在本设计中,利用模块化程序设计将系统的软件部分共分为8个小模块,分别是:测温〔18B20、存储〔24c02、显示〔1602、延迟〔delay、时间控制〔ds1302、按键〔key、主控程序<main>和设置〔set。如图4.12所示。图4.12程序模块图在完成系统的程序设计后,利用开发工具运行、调试、查错,确定没有错误后将源程序烤写到先前完成的硬件设备中,总体的系统设计到此也基本完成了。5系统功能测试5.1系统实物图将各个硬件部分组装后得到最终实物图,具体如图5.1所示。图5.1系统实物图其中,1是USB电源接口,为系统提供5V的电源。2是按钮控制开关,是系统的主开关。3是LCD1602显示器,用于显示相关数据。4是DS1302时钟芯片。5是24C02存储芯片。6是四个控制按键,用于设置系统参数。7是DS18B20温度传感器,与用于采集实时温度值。8、9、10依次是控制加热、充氧、水循环的三个继电器。11为用于模拟投食的步进电机。12为步进电机电源输入接口。5.2功能测试5.2.1自动温控理论上,为了创造鱼类适宜生存的环境,系统温度的上下限应该设为22℃到28℃,但为了我们的演示方便,我们通过按键将系统的温度上下限调整为29℃到31℃,因为当时室温为28.6℃,低于下限温度29℃,所以继电器1亮灯,模拟接通加热器。具体如图5.2所示。图5.2温控演示图1我们在演示中用手握住温度传感器来模拟加热器工作水温上升,温度上升超过上限值31℃时,继电器1灯灭,表示模拟加热器断电,加热结束,如图5.3所示。加热结束后温度逐渐降低,直至温度再次低于下限温度值时,继电器再次通电,启动加热,以维持鱼缸温度在一定范围内波动。图5.3温控演示图25.2.2自动投食根据系统的需求,投食频率大致为24小时一次,通过定时开启投食器来实现。但为了方便演示,我们通过按键将FeedTime设置为系统时间的下一分钟,当系统时间达到设定时间,步进电机转动,用于模拟投食。具体如图5.4所示。图5.4投食演示图5.2.3自动充氧自动充氧与投食相似,我们可以设置固定的时间,为了演示方便,我们也可以设置在系统时间的下一分钟,当系统时间达到设定时间后,继电器2亮灯开启,进行模拟充氧。具体如图5.5所示。5.2.4自动水循环水循环同样利用定时来实现,水循环只需要隔一定时间循环一次即可,为了演示方便,我们设定水循环周期为2分钟30秒,因此系统每隔2分30秒将启动继电器2,模拟启动氧泵进行充氧。具体如图5.6所示。这就是系统所有的功能演示。通过演示可以看出,设计的系统符合我们的功能要求,可以实现自动温控、自动投食、自动充氧、自动水循环四个核心功能,可以为鱼类提供适宜的生存环境,是一个合格的智能鱼缸系统。图5.5充氧演示图图5.6水循环演示图6总结本课题设计的智能鱼缸系统以现代市场需求现状为背景,利用单片机、嵌入式、传感器、C语言编程等技术设计出可以实现自动控制温度、自动水循环、自动充氧和自动喂食的智能鱼缸系统,以满足市场的需求。该系统具有便于操作、性能稳定、成本较低、便于大量生产等优点,可作为装饰品广泛应用于家庭、办公室、商场等的场所。在设计智能鱼缸系统的过程中,不仅用到了专业所学的单片机、嵌入式、C语言编程等技术,而且用到了诸多专业以外的知识,如传感器技术、继电器等。硬件部分在综合考虑其稳定性、便利性、成本的情况下选择了满足设计要求的元器件。软件部分使用了模块化程序设计,各个模块之间互相独立工作,同时统一受主控单片机控制,各个模块互相协调统一,使得系统更加简洁、稳定、可靠。但众所周知,鱼缸是一个小的生态系统,其包含了大量的元素,如温度、PH、光照、溶氧量、营养成分含量,杂质含量等等。这些元素构成了一个相当复杂、多变的系统,这个系统也就是鱼类适宜的生存环境。而以我目前所学,无法综合考虑诸多因素,并实现精确的智能调控,因而该设计还存在诸多需要改进的地方,希望诸位老师能提出宝贵的意见,以不断完善智能鱼缸系统。在此次毕业设计过程中,我不仅仅将大学四年所学的理论知识运用到生活中,而且通过自学掌握了一些以前没有接触过的知识,比如传感器技术。在设计过程中,我遇到了许多问题,如电路图的绘制,硬件的组装,以及编程等,在自学和请教老师解决问题的过程中,我加深了对专业知识的理解,同时操作能力、综合实力得到了很大的提升,但由于目前我的专业水平有限,所以设计中还存在较多的漏洞,各方面都有待完善和改进,希望各位老师能给我宝贵的建议,以让设计系统功能更加完善。参考文献[1]李开春.小小水族箱装着大世界[N].宠物世界,1998:10-20[2]农桂泽.单片机发展历程与单片机技术之研究[J].电子技术与软件工程,2016<14>:251.[3]毛谦敏.单片机原理及应用系统设计[M].北京:国防工业出版社,2005.8[4]胡汉才.单片机原理及接口技术<第2版>[M].北京:北京清华大学出版社,2004.2[5]杨彦伟,苏卫红,张灏璠.

基于STC889C51的智能鱼缸控制系统[J].

电子技术与软件工程.

2015<22>[6]彭国平,邓洪波,梁振权.水族箱自动控制装置的设计[J].XX自动化与信息工程.1999<4>:44-46[7]王珍娟,宋正刚.鱼缸智能控制器的设计[J].

XX科技.

2012<09>

[8]张继辉.用单片机制作水族箱加氧泵自控开关[J].电子世界.2000〔10:28-29[9]支元,王登科.基于嵌入式系统智能鱼缸的设计与实现[J].电脑知识与技术,2015,11<29>:155-156[10]朱欣.水族箱养殖热带观赏鱼常识[J].科学养鱼,1999<1>:39[11]Hu,

Jia,Song,

Hocheol,Karanfil,

Tanju.Comparative

analysis

of

halonitromethane

and

trihalomethane

formation

and

speciation

in

drinking

water:The

effects

of

disinfectants,

pH,

bromide,

and

nitrite.

Environmental

Sciences

.

2010.

[12]Darryl

B.

Jones,Aysenur

Saglam,Hocheol

Song,Tanju

Karanfil.The

impact

of

bromide/iodide

concentration

and

ratio

on

iodinated

trihalomethane

formation

and

speciation[J].

Water

Research

.

2011

<1>

致谢首先,我要感谢代老师给了我一个自主选题的机会,让我的毕业设计内容更加贴近生活、充满趣味,这使我更好的将所有专业理论知识综合应用到生活中,从中感受到大学四年所学专业知识的实用性。在选题阶段,老师就我的设计内容提出了诸多实用性的建议,并且为我做好了具体的设计内容要求和参考的进度安排,这使得我后续设计更有目的性和规划,促使我按照进度完成设计内容。在设计阶段,老师对我们严格要求,并不辞辛劳坚持每周给我们指导并解决遇到的一切问题,保证了我们能按进度完成设计任务。代老师希望我们能将大学四年所学的专业知识应用到毕业设计当中,同时充分发挥自学能力,通多自学专业以外的知识和技术,发挥年轻人的创造性,在毕业设计中展示出更多属于自己的亮点。在论文撰写阶段,老师对论文的格式和内容都严格把关,从总体结构到标点符号,老师帮我们全面细致的检查了论文存在的问题并提出了修改意见,代老师这种严谨细致的学者风范和平易近人的待人之道都值得我们学习。让我们在毕业设计的同时学到了为人处世之道,让毕业设计对我们的影响更加深刻。最后,我要感谢在我大学四年遇到的每一位老师、每一位同学。在大学四年,我在诸多老师身上看到了可贵的精神。曹敦老师的温柔与认真,李骥老师的创新与热情,黄红兵老师的博学与亲切,代老师的细致与严谨,这些都深深地影响着我,这将一直指引我前行。衷心感谢所有老师孜孜不倦的教诲,也衷心祝愿我们XX理工大学的一切都会越来越好!附录源程序代码#include"reg52.h"#include"delay.h"#include"typedef.h"#include"1602.h"#include"key.h"#include"set.h"#include"18b20.h"#include"24c02.h"#include"ds1302.h"ucharPageNum=0;//0显示温湿度1显示温度和报警数值2显示湿度和报警数值floatTemp_Data=0;ucharAlarmTemp[]={32,20};//高低温度unsignedcharFeedTime[3]={0};//喂食时间unsignedcharO2Time[3]={0}; //充氧气时间unsignedcharLoopTime[3]={0}; //水循环时间sbitRELAY1=P2^2;//加水继电器sbitRELAY2=P2^1;//加热继电器sbitRELAY3=P2^0;//放水继电器sbitENA=P3^2;sbitENB=P3^3;voidTimerInit<void>;voidGetTemp<void>;voidPageInit<void>;voidPageDisplay<void>;voidDataLoad<void>;//数据加载voidTempInit<void>;//voidHeatControl<void>;//加热自动控制voidTimer1_Init<void>; //50毫秒11.0592MHzvoidIncO2Control<void>;voidFeedControl<void>;voidLoopControl<void>;unsignedcharFeedSecond=0;unsignedcharO2Second=0;unsignedintLoopSecond=0;unsignedcharCountTime[3]={0};//水循环时间计时voidmain<void>{Delay_1ms<100>;LCD_Init<>;TimerInit<>;PageInit<>;DataLoad<>;TempInit<>;Timer1_Init<>;while<1>{ GetTemp<>; DS1302_Read<>; FeedControl<>; HeatControl<>; IncO2Control<>;PageDisplay<>; LoopControl<>; Delay_1ms<50>;} }voidTimer0_Serve<void> interrupt1{ TH0=<65535-20000>/256; //20MS定时TL0=<65535-20000>%256;LCD_Refresh<>;//LCD刷新KEY_Scan<>;}voidTimer1_Serve<void> interrupt3//50ms定时{ staticunsignedcharT50MS=0; TL1=0x00; //设置定时初值 TH1=0x4C; //设置定时初值 T50MS++; if<T50MS>=20> { T50MS=0; CountTime[2]++; if<CountTime[2]>=60> { CountTime[2]=0; CountTime[1]++; if<CountTime[1]>=60> { CountTime[1]=0; CountTime[0]++; if<CountTime[0]>23> CountTime[0]=0; } } if<FeedSecond>0> FeedSecond--; if<O2Second>0> O2Second--; if<LoopSecond>0> { LoopSecond--; } }}voidHeatControl<void>//加热控制{/*低于下限开始加热*/ if<Temp_Data<AlarmTemp[1]> { RELAY1=0; }/*高于上限停止加热*/if<Temp_Data>AlarmTemp[0]> { RELAY1=1; }}voidTimerInit<void>{ TMOD&=0xF0; TMOD|=0X01;//T1工作在定时模式,T0工作在8位自动重载计数 TL0=<65535-20000>%256; //T0工作在定时模式50ms定时 TH0=<65535-20000> /256; ET0=1; TR0=1; EA=1; }voidPageDisplay<void>{/**/if<KeyVal=='E'>{KeyVal=0; PageNum++; if<PageNum>4> { PageNum=0; } PageInit<>;}/**/switch<PageNum>{/**/case0: //显示和设置实时时间{ LCD_DisplayDate<0,Date>; LCD_DisplayTime<16,Time>; if<KeyVal=='S'> { KeyVal=0; SetRTC<>; }}break;/**/case1: //显示实时温度和上下限值 {TempDisplay<5,Temp_Data>;DisplayU8<18,AlarmTemp[0]>; //DisplayU8<26,AlarmTemp[1]>; //if<KeyVal=='S'>{KeyVal=0;SetTempHigLow<AlarmTemp>;WrToROM<AlarmTemp,5,2>;//温度存储地址0} }break;/**/ case2: { LCD_DisplayTime<16,FeedTime>; if<KeyVal=='S'> { KeyVal=0; SetClockTime<FeedTime>; WrToROM<FeedTime,20,3>; } }break;/**/case3: { LCD_DisplayTime<16,O2Time>; if<KeyVal=='S'> { KeyVal=0; SetClockTime<O2Time>; WrToROM<O2Time,25,3>; } }break;/**/case4: { LCD_DisplayTime<16,LoopTime>; if<KeyVal=='S'> { KeyVal=0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论