《毕业论文基于STC89C52单片机的智能水族箱系统设计17175.doc》由会员分享,可在线阅读,更多相关《毕业论文基于STC89C52单片机的智能水族箱系统设计17175.doc(33页珍藏版)》请在三一办公上搜索。
1、 师范学院学院 毕 业 设 计(论文)2013 届 题 目 基于STC89C52单片机的智能水族箱 专 业 电子信息工程 学生姓名 # 学 号 09283432 指导教师 # 论文字数 11109 完成日期 2012年4月18日 师范学院学院教务部印制基于单片机的智能水族箱系统摘 要: 随着我国经济的发展,人民生活水平的提高。水族箱和观赏鱼也就成为家庭的一种新宠、一种时尚,越来越被广大家庭所喜好。但是日常生活中人们没有更多的时间去照料观赏鱼的换水和温度调控等,虽然市面上也有水族箱的加热和换水装置但都是独立且价格昂贵。因此设计出电路简单,体积小,智能的水族箱系统极具现实意义。本文设计了一个基于单
2、片机的水族箱智能系统,由温控模块,水位模块,单片机模块和液晶显示模块组成。该系统以STC89C52单片机作为控制核心,将被测温度和水位送入到STC89C52单片机中进行对比,通过对比来判断是否驱动加热和水泵,并且在液晶1602上实现温度水位的显示。 关键词:智能,单片机,控制 Smart Aquarium System Based on MCUAbstract:With the development of our national economy, the improvement of peoples living standards. Aquariums and aquarium fish
3、 has become a family favorite, a fashion, more and more families at large would like.But in everyday life people do not have more time to care for pet fish, water and climate-controlled, while the Aquarium is also on the market of heating and water installations but is independent and is expensive.
4、Designed circuit is simple, small, intelligent very realistic aquarium system. This article has designed an aquarium based on single-chip microcomputer intelligent systems, temperature control modules, water level modules, SCM module and liquid crystal display module. STC89C52 SCM as the core contro
5、l of the system, the measured temperature and water level fed into the STC89C52 MCU for comparison, by comparison to determine whether drive heating and water pumps, and in 1602 LCD display temperature on water level.Keywords:Smart, MCU,Control 目 录第一章 绪论11.1课题背景11.2基于单片机的智能水族箱系统的发展概况11.3本文的主要内容2第二章
6、基于单片机的电感测试仪的总体方案设计32.1系统设计总体方案初步设定32.2主要电路模块设计方案的选择32.2.1水温检测和控制的设计方案32.2.2水位检测电路的设计方案32.3 智能水族箱的总设计方案4第三章 系统硬件设计53.1系统硬件设计53.2温度检测控制模块53.2.1 DS18B20芯片53.2.2水温检测电路63.2.3 温度控制电路73.3水位检测控制模块73.3.1 NE555芯片73.3.2 水位检测电路83.3.3 水位控制电路83.4单片机主控电路93.4.1单片机选择93.4.2单片机的引脚及各引脚功能93.4.3单片机及最小系统113.5声光报警电路123.6时钟
7、电路123.7液晶LCD1602显示电路13第四章 软件系统设计144.1软件结构设计144.2整体设计流程图144.3各模块程序164.3.1水温检测控制程序164.3.2水位检测控制程序164.3.3定时换水程序174.3.4液晶显示程序174.3.5时钟显示程序18第五章 制作与调试205.1系统硬件制作205.2系统硬件调试205.3系统软件调试20第六章 结 论21参 考 文 献22致 谢22附 录23附录1:现场测试记录23附录2:系统软件程序24第一章 绪论1.1课题背景随着现代生活的需求,科技的发展,人们对家居装饰投入越多的关注,是个人品味和地位的象征,而如今的高楼大厦越来越高
8、,生活在钢筋水泥构造的城市中的人们越来越憧憬和崇尚自然,尽大多数人不可能居住上亲水家园,不能拥有自己的森林、水景,但在家中摆放一个水族箱,就可以将微缩的海洋水景搬回家,可以近间隔的接触水草、观赏鱼,能够感受到回归自然的灵性和乐山乐水的情趣。水族箱养鱼可以说越来越普遍被大众所喜爱,不分年龄层次,年轻一代可以当成心爱宠物饲养,又可以美化环境,中老年可以当做休闲娱乐、更是修身养性的绝美选择。但是现在的年轻人,天天都要忙于工作和事业,生活的压力很大,再遇上一些不顺心的事,更是心烦意乱,甚至大动肝火,对身心健康极为不利。因此劳累一天后回到家里都会身心疲乏,根本没有更多的时间来打理水族箱的换水和开启供氧泵
9、等的工作,久而久之水族箱里的鱼越来越少,水草也慢慢枯死。面对这些水族箱的控制问题市场上也出现了不少的水族箱辅助产品,控制水族箱水温、水位、排水的设备,如过滤器、加热器等改善水环境的设备。但是由于产品繁多,功能不统一,往往需要购置多个设备分别安装,投入的费用较大,也存在一定的资源浪费。因此,本设计主要以家庭中水族箱的日常养护为背景,以水族箱中的水位、温度等的控制为研究对象,对日常养护过程中的综合自动化及其应用技术展开研究,建立一个智能水族箱检测和控制系统,来提高水族箱的自动化、智能化。1.2基于单片机的智能水族箱系统的发展概况随着人民生活条件的改善,生活节奏不断的加快,人们越来越渴望摆脱日常生活
10、琐事的困扰,要求现代产品向着自动化、智能化的方向发展。智能水族箱系统产品在国外是一个发达的产业,它在节能方面有广泛的应用。而根据我国国务院办公厅发布的关于开展资源节约活动的通知,为加快建设资源节约型社会,推动循环经济发展,解决全面建设小康社会面临的资源约束和环境压力问题,保障国民经济持续快速协调健康发展,要求:各级财政要支持资源节约和资源综合利用,并将节能、节水设备(产品)纳入政府采购目录。有关部门和地方各级政府要对重大节能技术开发、示范和改造项目加大投资力度。”由此可见,智能化的水族箱节能降耗起着极为关键的作用,而智能水族箱的广泛应用将可大幅节能。目前水族箱的创新产品,千姿百态,功能上也是慢
11、慢实现科技化、智能化、用途多样化的形式出现在大家眼前,调查结果显示,未来几年80、90年代的年轻人将成为主要的消费群体。随着房价的快速上涨,大多数人开始选择小户型来满足居住需求,追求个性、时尚的他们,讲究生活品味,喜欢 “DIY”自己的空间,如何将“蜗居生活”妆点的多姿多彩,成为他们日常生活里最热衷的话题。智能水族箱,以无需人力、节能、实用、创新吸引了众多年轻人的眼球。水族消费已不再是中老年人陶冶心情的专利,他正在以独有的创新模式受到年轻人的追捧,甚至连哇哇学语的小朋友,也开始“玩”鱼。这些不容忽视的团体,正在成为水族产业消费的主力军。据专家预测,未来几年内智能水族箱将颠覆传统龙鱼缸的主导地位
12、。因此,研制和推广智能水族箱控制技术是提高人类生活水平实现现代化的需要。1.3本文的主要内容本设计的主要内容为设计基于单片机的智能水族箱系统的硬件电路,通过对单片机的编程和实际调试来实现1.实时的检测水的温度并在温度过低时进行加热恒温。2.实时检测水族箱的水位,定时给水族箱换水。给水族箱中的鱼提供舒适的生存条件,同时验证该方案的可行性。第二章 基于单片机的电感测试仪的总体方案设计2.1系统设计总体方案初步设定本设计系统的初步设想是将整个设计分为水温测量模块、水位测量模块、控制器模块、执行模块、显示模块。系统设计整体框图如图2-1所示。 执行器水温检测 控制器水位检测 显示电路 图2-1系统设计
13、整体框图 软件设计部分则通过用C语言编写程序来控制整个系统的测量、控制和显示,从而实现基于单片机的智能水族箱系统的控制。2.2主要电路模块设计方案的选择2.2.1水温检测和控制的设计方案根据了解,水温检测和控制的实现方案有两种。方案一:采用传统的二位模拟控制方法,选用模拟电路,用电位器设定给定值,采用上下限比较电路将反馈的温度值与给定的温度值比较后,决定加热或者不加热。由于采用模拟控制方式,系统受环境的影响大,不能实现复杂的控制算法使控制精度做的较高,而且不能显示和用键盘设定。方案二:利用DS18B20数字温度传感器直接把温度信号转换成数字量,在单片机内部通过软件编写控制的方式,设定温度控制域
14、值,如果水温低于低的设定度数,则自动启动加热模块以保持水温,而当水温高于高的设定度数则停止加热,同时输出温度值到显示模块以实现水温动态显示,该方案相较于前一个系统稳定性高,同时能实现可视化和自动化,让水温测量控制工作变得简单了许多。综上所述,本设计的水温检测控制设计方案采用单片机结合传感器水温检测电路实现对水族箱水温的控制。2.2.2水位检测电路的设计方案 方案一:利用超声波水位计测量,该技术基于超声波在空气中的传播速度及遇到被测物体表面产生反射的原理。可实现非接触测量、测量范围宽、并且测量不受介质密度、介电常数等的影响,因此它的适用范围非常广泛,包括水渠、油罐、粘稠、腐蚀性等的水位测量中。但
15、是超声波水位计价格昂贵且此处水位测量精度要求不是特别高。方案二:通过设计555电路来自制水位传感器,将几条头部裸露的导线高度均匀分布的固定起来,通过水位高低使线路导通来实现水位的检测。综上所述及本设计的基本情况,故使用555电路设计的水位检测电路在这里比较适用。2.3 智能水族箱的总设计方案 整体的设计框图如图2-2所示。DS18B20水温检测加热器/水泵(执行器) 单片机(控制器) 555水位检测电路 显示电路 时钟电路 图2-2 整体设计框图 根据上述的水温检测控制的实现方案和水位检测方案的选择,设定了整个智能水族箱系统的设计方案。首先将被测的水温和水位以数字信号送入单片机与设定好的温度值
16、进行比较,判断是否需要加热或加水,再通过单片机控制执行器工作,同时实时在液晶上显示出当前温度和水位是否正常第三章 系统硬件设计3.1系统硬件设计 本设计系统的硬件设计部分主要由温度检测控制电路、水位检测控制电路、单片机主控电路、时钟电路及显示电路组成的。温度检测控制电路的功能主要是将被测温度值送入单片机进行比较;水位检测电路是检测水族箱中的水位是否正常;单片机的主控电路它的作用是通过对检测到的温度信号和水位信号进行比较并控制加热器/水泵这些执行器工作;时钟电路的功能是定时给水族箱进行抽放换水;显示电路的功能主要是实时的把温度和水位结果显示在液晶上面。 3.2温度检测控制模块本设计通过水温传感器
17、探测电路获得的水温数据与设定的温度上限和下限比较,获得的结果并直接驱动继电器控制加热器进行加热,以保持水族箱的温度恒定。其中水温传感器选用DS18B20芯片。3.2.1 DS18B20芯片DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种数字化单总线器件。属于新一代适配微处理器的改进型智能温度传感器。与传统的热敏电阻比,他能够直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源
18、于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。同时其“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入了全新的概念。DS18B20“一线总线”数字化温度传感器支持“一线总线”接口,测量温度范围为-55+125。现场温度直接以“一线总线”的数字方式传输,用符号扩展的16位数字方式串行输出,大大提高了系统的抗干扰性。因此,数字化单总线器件DS18B20适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。它在测温精度、转换时间、传输距离、分辨率等方面较DS1
19、8B20都有了很大的改进,给用户带来了更方便和更令人满意的效果。可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。DS18B20的性能特点如下:(1)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电。(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(5)温范围55125,在-1
20、0+85时精度为0.5。(6)可编程的分辨率为912位,对应的可分辨温度分别为 0.5、0.25、0.125和0.0625,可实现高精度测温。(7)测量结果直接输出数字温度信号,以一线总线串行传送给CPU。(8)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下图3.1所示。 图3-1 管脚图3.2.2水温检测电路 水温检测电路如下图3-2所示,其中DS18B20的1脚接地,2脚接单片机的P1.3口,2脚和3脚之间串联个9K的电阻,3脚接
21、电源正极。 图3-2 水温检测电路图3.2.3 温度控制电路 温度控制电路如下图3-3所示,采用继电器来驱动PTC加热棒,由于继电器能用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。 图3-3 温度控制电路图3.3 水位检测控制模块通过设计555电路来自制水位传感器,将几条头部裸露的导线高度均匀分布的固定起来,通过水位高低使线路导通来实现水位的检测并通过继电器控制充水。3.3.1 NE555芯片 NE555大约在1971由Signetics Corporation发布,在当时是唯一非常快速且商业化的Timer IC,在往后的30来非常普遍被使用,
22、且延伸出许多的应用电,尽管近来CMOS技术版本的Timer IC如MOTOROLA的MC1455已被大的使用,但原规格的NE555依然正常的在市场上供应,尽管新版IC在功能上有部份的改善,但其脚位劲能并没变化,所以到目前可直接的代用。 NE555是属于555系列的计时IC的其中的一种型号,555系列IC的接脚功能及运用都是相容的,只是型号不同的因其价格不同其稳定度、省电、可产生的振荡频率也不大相同;而555是一个用途很广且相当普遍的计时IC,只需少数的电阻和电容,便可产生数位电路所需的各种不同频率之脉冲信号。NE555的特点有:1.只需简单的电阻器、电容器,即可完成特定的振荡延时作用。其延时范
23、围极广,可由几微秒至几小时之久。2.它的操作电源电压范围极大,可与TTL,CMOS等逻辑电路配合,也就是它的输出准位及输入触发准位均能与这些逻辑系列的高、低态组合。3.其输出端的供给电流大,可直接推动多种自动控制的负载。4.它的计时精确度高、温度稳定度佳,且价格便宜。5.静态电流最大值VCC=5V,RL=6mA VCC=15V,RL=15mA。3.3.2 水位检测电路 水位检测电路采用555电路设计当B与C同时在水中时设定为低水位,当A、B、C都在水中时设定为高水位,同时通过单片机能在显示屏上显示并执行下一步操作。其电路图如3-4所示 图3-4 水位检测电路图3.3.3 水位控制电路 水位控制
24、电路同样采用继电器来控制,当水位检测到低水位需要加水时便会驱动水泵加水同样在定时电路检测到需要换水时便会驱动水泵进行换水,其电路图如3-5所示 图3-5 水位控制电路图3.4单片机主控电路3.4.1单片机选择单片机是一种集成电路芯片,采用超大规模集成电路技术把计算机的中央处理器CPU、只读存储器ROM、多种I/O和中断系统、定时器/计时器等功能集成在一块硅片上形成一个功能芯片,概括的讲:一块芯片就成了一台计算机。因此得名单片微型计算机(Single Chip Microcomputer),简称为单片机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。单片机是靠程序运行的,并且可
25、以修改,不同的程序可以实现不同的功能,尤其是一些独特功能的项目实现,使用其他器件需要花费很大力气才可以做到,但是通过单片机编程可以使得该项目变得简单并且更智能、更高效、更可靠。3.4.2单片机的引脚及各引脚功能本设计采用STC89C52单片机作为控制核心,它被广泛地运用在电子产品的设计中,它是一种低功耗、高性能的8位微控制器,其引脚图如图3-6所示,其各引脚功能如下介绍: 图3-6 STC89C52单片机引脚图 VCC:电源。GND:地。 P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用在高阻抗输入。当访问外部程序和数据存储
26、器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在Flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。在程序校验时,需要外部上拉电阻。P1口:P1口是一个有内部上拉电阻的8位I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。当对P1“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。当它作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL),此外P1.0和P1.2分别作为定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。在Flash编程和校对时,P1口接收低8位地址字节。
27、P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。当作为输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口就送出8位地址。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。在Flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时
28、可以作为输入口使用。当作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口也作为AT89C52特殊功能(第二功能)使用。在Flash编程和校验时,P3口也接收一些控制信号。 EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在Flash编程期间,EA也接收12V的VPP电压。XTAL1:振荡器返乡放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.4.3单片机及最小系统对于单片机最小系统设计是指用最少的元件组成单片机可以工作的系统,它的最
29、小系统一般包括单片机、晶振电路、复位电路。本设计研究中,所用到的单片机最小系统有复位电路、晶振电路两部分。其单片机最小系统电路如图3-7所示。 图3-7 单片机最小系统图复位电路:本设计的单片机最小系统中的复位电路是采用按键复位的,其工作原理是当按键按下后,图3-7中的C19迅速充电,两个电阻R10、R11起分压作用后使得REST端得到高电平;当按键松开后,电容放电,整个电路相当于断路。本设计的STC89C52单片机当引脚REST的高电平持续两个机器周期以上就会复位,因此选择恰当的电容值和电阻值可以保证可靠的复位。晶振电路:本设计的晶振电路取得的晶振频率为12MHz,它使得单片机有一个比较稳定
30、的工作频率,图3-7中的电容C20、C21的作用即为起振作用。3.5声光报警电路 声光报警电路在本设计中是个辅助添加功能,当在低水位时发光二极管正向导通发光,蜂鸣器报警。 图3-8 声光报警电路图3.6时钟电路 时钟电路:本设计的时钟电路除了显示时间的功能还为定时为水族箱换水提供定时作用,时钟电路在单片机工作中是非常需要的,产生的时钟信号可以作为单片机内部各个微操作的时间基准,单片机中的各功能部件的运行都是以时钟频率为基准的,同时也可以是得液晶在显示上更加丰富些。其时钟电路如图3-9所示。图3-9 时钟电路图 3.7液晶LCD1602显示电路本显示电路的设计就采用液晶LCD1602作为显示器件
31、,它的设计电路简单且显示稳定。其显示原理为具体显示电路如图3-7所示。其中液晶LCD1602的D0至D7脚分别与单片机的P0.0至P0.7引脚连接,通过RS脚与单片机的P1.0脚连接,RW脚与单片机的P1.1脚连接,EN脚与单片机的P1.2脚连接,根据1602时序写出命令子函数和数据子函数,根据命令子函数进行初始化,根据数据子函数开始写数据,最后实现液晶上的温度水位和时间的显示。其显示电路图如图3-10所示。 图3-10 液晶显示电路液晶LCD1602是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有
32、一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。LCD1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。它有16个引脚,其中引脚1是VSS为电源地,引脚2是VCC接5V电源正极,引脚3是V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度),引脚4是RS为寄存器选择,高电平1时选择数据寄存器
33、、低电平0时选择指令寄存器。引脚5是:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。6脚是E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。引脚7至引脚14是D0D7为8位双向数据端,引脚15至16是空脚或背灯电源。15脚背光正极,16脚背光负极。第四章 软件系统设计4.1软件结构设计 软件设计是智能水族箱系统设计的主要内容,应该根据系统功能要求和系统硬件电路为基础进行系统的软件设计。合理的软件结构是设计出一个性能优良的单片机应
34、用于系统软件的基础,必须充分的重视。对于简单的课题设计,可采用顺序结构设计方法,其系统软件由主程序和若干个中断服务程序构成。明确主次序和中断服务程序完成的操作及指定各中断的优先级。对于复杂的课题设计,可采用实时多任务操作系统,此操作系统应具备任务调度,实时控制,实时时钟,输入输出和中断控制,系统调用,多个任务并行运行等功能。以提高系统的实时性和并行性。 在程序设计方法上,模块程序设计是单片机应用中常用的程序设计方法。这种模块化程序便于设计和调试,容易完成可供多个程序共享的优点,但各个模块之间的连接有一定的难度。根据需要也可以采用自上而下的程序设计方法,此方法先从主程序开始设计,然后再编制个从属
35、的程序和子程序。这种方法比较符合人的日常思维。缺点是上一级的程序错误会对整个程序产生影响。 软件结构设计和程序设计方法确定后,根据系统功能定义,可先画出程序粗框图,再对粗框图进行扩充和具体化,既对存储器,寄存器,标志位等工作单元作具体的分配和说明。再绘制出详细的流程图。程序流程图设计出来后,便可着手编写程序,单片机应用程序一般采用Keil C51集成环境开发软件部分,Keil C51是美国Keil Software公司出品的5l系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,
36、全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。4.2整体设计流程图 本课题研究中单片机起到了对,和显示功能,因此软件设计部分就比较复杂。软件系统设计中包括了系统初始化程序,水温检测控制系统,水位检测控制系统,液晶显示程序。系统初始化程序中包括对系统的I/O、1602液晶显示和时钟初始化程序。软件整体设计工作流程如图4-1所示。 开始 系统初始化 显示时间、温度、水位 开启加热电路 温度过低 Y N水位过低 开启加水泵 Y N定时换水时间 是否到 开启排水泵 Y N 图4-1 整体设
37、计工作流程图4.3各模块程序4.3.1水温检测控制程序 水温检测控制程序主要是通过检测温度与设定温度的比较进行对加热器的控制,使水族箱的温度可以适合所饲养的鱼类的生存。 子程序入口 水温采集 开启加热器水温过低? Y水温到达设定值? 继续加热 N 停止加热 Y 返回 图4-2 水温检测控制流程图4.3.2水位检测控制程序水位检测控制主要是通过检测水位是否正常以及对水泵的控制来实现水族箱水位的控制。 开始 水位是否过低 开启加水泵 Y水位是否正常 继续加水 Y N 返回图4-3 水位检测控制流程图 4.3.3定时换水程序通过对放水的时间的判断,来进行换水。流程图如图4-4所示。 子程序入口换水时
38、间? 开启排水泵 Y N 返回图4-4 定时换水流程图4.3.4液晶显示程序本设计使用的是液晶LCD1602,当液晶接收到温度、水位显示处理的指令后,液晶开始初始化,在程序中设定其要显示的功能,例如字符显示的位置,数据方式,单位选择等,再根据1602时序写出命令子函数和数据子函数,根据命令子函数进行初始化,根据数据子函数开始写数据,最后实现液晶上的温度和水位的显示。它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。通过设定功能并发送需要
39、现实的字符代码,使液晶通过不同引脚显示需要的数据和字符。液晶LCD1602有便捷的接口方式和简单方便的操作指令,其工作流程图如图4-5所示。 开始 液晶初始化 设定功能 液晶写入指令 液晶显示数据 图4-5 液晶显示流程图4.3.5时钟显示程序 本设计其中一个主要的功能是进行定时的给水族箱换水,时钟显示是其中的一附加显示功能。在液晶上时钟主要是在整块液晶的上显示当时的日期、时间和星期几。其中断服务子程序流程图如图4-6所示。保护现场开始秒针清零,分针加160秒是否到?60分针是否到?分针清零,时针加124小时是否到?时针清零YYYNNN返回图4-6 时钟中断服务子程序流程图第五章 制作与调试5.1系统硬件制作 本设计题目基于单片机的智能水族箱系统确定后,查阅了相关资料后发现这是一个比较难实现的设计,制作这么一个测试系统需要了解的不仅仅是功能方面的实现,于是我制定了一个系统的计划。在基础的任务书和开题报告等完成后,全力着手硬件的制作。首先确定自己的设计电路及需要的电子元件,了解这些电子元件是否符合该电路的测量要求,尤其是在驱动执行器的设计上的协调。焊接时参考设计原理图,清楚认知每个芯片引脚作用后仔细连接各个引脚。