毕业设计(论文)--基于单片机的智能水族箱控制系统_鱼缸.doc_第1页
毕业设计(论文)--基于单片机的智能水族箱控制系统_鱼缸.doc_第2页
毕业设计(论文)--基于单片机的智能水族箱控制系统_鱼缸.doc_第3页
毕业设计(论文)--基于单片机的智能水族箱控制系统_鱼缸.doc_第4页
毕业设计(论文)--基于单片机的智能水族箱控制系统_鱼缸.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

哈尔滨工业大学华德应用技术学院毕业设计(论文)摘 要随着人们物质生活的改善和欣赏能力的提高,观赏鱼缸之类的工艺产品逐渐进入了家庭和宾馆、商场等公共场所。但是,目前市场上的观赏鱼缸的水温检测、液位控制、水循环、喂食等操作都需要人为的手工进行,这就给人们带来了很大的麻烦和不便。本文通过对目前大多数水族箱控制设备应用现状的分析和研究,提出了一种多功能的观赏鱼缸智能控制系统的设计方案。该控制系统基于89系列单片机的家庭水族箱控制系统。整套系统以STC89C51单片机为核心芯片,结合传感器技术、继电器原理、C语言编程等技术,集多种控制功能于一体,包括恒温、自动照明、自动换水、自动喂食、自动水循环等,并可根据需要增加控制参数,通过选择不同元器件控制成本。本文从功能设计、元器件选择、硬件电路设计和软件设计等几个方面对该控制系统进行阐述。通过较长时间的运行测试,表明该控制系统运行稳定可靠、操作简单方便、具有多种节电工作模式。同时该系统设计灵活、结构简单、成本低廉,易于规模化生产,可广泛用于家庭和宾馆等安装观赏鱼缸的场所。关键词 自动控制;单片机;水族箱;传感器技术AbstractWith the improvement of peoples material life and appreciating ability,such crafts as aquarium gradually enter houses and public places like hotels and department stores.But as for the aquariums found in the present markets,water temperature testing,water level control,water recycling and food feeding are all manually performed,bringing about a lot of troubles and inconveniences.This dissertation analyzes and studies the current applications of most aquariums control devices and makes out a design of multi-functional intelligent control system in aquarium.The control system based on the 89 Series MCU family aquarium control system.The entire system to the STC89C51 MCU as the core chip,combined with the sensor technology, the relay, C language programming technology, set a variety of control functions, including temperature, automatic lighting, automatic water changing, automatic feeding, automatic water circulation and so on, and may need to increase the control parameters, through the selection of different components of cost control. This article from the function design, components selection, hardware circuit design and software design aspects of the control system are described.Through long time operation test, indicates that the control system is stable and reliable,the operation is simple and convenient, has a variety of energy-saving operation mode. At the same time, the system of flexible design, simple structure, low cost, easy to scale production, can be widely used in families and hotels and other places of installation of ornamental fish.Keywords automatic control Series MCU aquarium sensor technology目 录摘 要IAbstractII第1章 绪论11.1 选题背景11.2 国内外研究现状及发展趋势21.3 主要研究内容31.4 课题研究的步骤4第2章 鱼缸智能控制系统的总体设计52.1 概述52.2 系统的设计要求52.3 系统总体方案与功能62.3.1 鱼缸智能控制系统的功能组成与控制参数62.3.2 系统的硬件结构框图72.4 主要元器件的选取82.4.1 单片机的选取82.4.2 键盘控制和LCD数码显示驱动芯片的选取102.5 语言工具的选取112.6 本章小结12第3章 系统的硬件设计133.1 硬件总体结构133.2 各模块硬件设计143.2.1 时钟电路设计143.2.2 键盘控制与显示模块设计153.2.3 温度控制模块163.2.4 其他模块设计173.3 继电器控制模块183.3.1 继电器的原理183.3.2 继电器的选用193.4 电路原理图及电路板设计193.5 本章小结20第4章 系统的软件设计214.1 软件设计方法214.2 主程序工作流程224.2.1 主程序工作流程图224.2.2 主程序流程详解224.2.3 DS18B20工作流程图244.3 时间和温度读取模块244.3.1 读取DS1302的时钟244.3.2 读取DS18B20的温度244.4 键盘控制与显示处理模块264.5 E2PROM模块284.6 本章小结28第5章 总体设计的调试与展望295.1 系统的调试295.1.1 系统硬件调试295.1.2 系统软件调试305.2 创新点与应用范围305.2.1 设计总结305.2.2 创新点315.2.3 应用范围和实施效果315.3 展望325.4 本章小结32结 论33致 谢34参考文献35附录136附录240附录344附录445附录546附录64754第1章 绪论1.1 选题背景随着我国经济的发展和人民生活水平的大幅度提高,人们的消费观念变化很大,消费档次与水平都在提高,人们的生活品味越来越高,环境的个性化、环保化也越来越受到人们的重视,与之相关的休闲、居家装饰等行业相应的日显蓬勃发展趋势。人们开始渴望那大自然的宁静与和谐,而一个生机盎然、苍翠欲滴的鱼草水族箱不但可以给人带来无比宽松舒适的美感,更能调节居住环境,让人们感受那久违的大自然,让大自然的美景在自己的身边长存1。水族行业正是在这种需求下应运而生的。“鱼缸”又称为“水族箱”,“水族箱”一词起源于英国,沿用至今已超过了150年。当时的定义仅仅是一个养动植物的水容器,而随着科技水平的不断进步,以及人们养殖观赏鱼和种植水草的水平的不断提高,水族箱不仅被认为是一个养动植物的容器,而且被认为是自然城的一个缩影,是一相对完备的生态系统。在早期,水族箱多用于展览馆、公园等大众化的场所供大家观赏,随着生活水平的提高,科技和水族养殖业的快速发展。水族箱已成为普通家庭的室内装饰。近年来,这种以水草、金鱼为主的水族箱被称作“水中微缩的鱼草园林”,深受人们的喜爱,但由于人们缺乏养护的技艺或者是由于时间原因不能及时进行养护,往往“好景不长”,最后的结局多是“草桔鱼忘”。在家居环境或是休闲娱乐场所都有各种各样的鱼缸,而保持一个适宜鱼类生活的环境是一件非常耗精力的工作。针对鱼类生活环境的净化和改善的设备有很多,目前市场上常用的鱼缸控制系统有:水温控制、充氧控制、过滤控制等相关系统。但是由于产品繁多,功能不统一,而且大多是非智能化的、单一的恒温控制、充氧或照明系统。如果仅仅是把多个单独的设备组成一套多功能的鱼缸控制系统,需要投入的费用较大,同时多个单一器件机械化的组装之后,也存在一定的资源浪费。这样不仅增加了成本,重复投资,影响美观,而且功能使用不灵活、不方便,整体性能也无法得到提升。因此,根据当前市场的需求,以鱼缸中的水温、溶氧量、光照等的控制为研究对象,形成一套集多个功能为一体的控制系统。该设计不仅解决了人们在日常生活中对鱼缸的维护问题,还对利用高薪技术改造原有的普通家居的发展有一定的实际意义和研究价值。1.2 国内外研究现状及发展趋势随着经济水平的突飞猛进,装饰业的日趋兴起,人们对生活、家居品味的追求愈加重视,体现在经济形态中就是与之相关的休闲、居家装饰等行业日趋蓬勃发展之势。居住、工作环境的生动化、温馨化也越来越和人的精神、情操、新的生活观念紧密地联系在一起。休闲水族行业也正是在人类的这种需求下应运而生,并且近年来其快速发展之状况使其已经成为一股新兴的经济力量受到经济界及业内人士的关注,据最新资料显示:水族产品的日渐丰富,水族市场更加繁荣昌盛,水族行业产业规模的年增长率达到13.8%,仅北京就由传统的几个小市场,发展成8个大规模的市场。其市场空间的拓展速度也昭示着将有更多的投资机会点在这种新的经济形势下诞生。如今是国际水族产品看中国,许多国外大的采购公司都盯准中国这个市场,把长远的目标放在中国2。随着鱼缸产业迅猛发展,巨大的鱼缸市场的需求也极大推动了国内外各种鱼缸控制设备的研发和生产。传统的鱼缸需经常换水和补充氧气,常配备两种设备:水泵和空气泵,用以清洁水体和补充氧气。但这些设备的工作时间会因季节、温度及饲养鱼的多少而不同。每天需要进行多次开停操作,这样的连续工作,会缩短设备的寿命,更不利于节能。在观赏鱼饲养过程中的实践表明:市场上现有的鱼缸控制系统都是功能较简单的设备。如灯光照明控制,只能人为的进行开关控制,光照时间短了就不能很好的满足鱼缸中鱼类,特别是水草的光照需求;时间长了超过水草光照需求,不仅不利于水草生长,而且还造成电力资源的浪费。如温度的控制,采用加热棒进行加热控制,由于加热棒本身采用双金属片温控以及手工控制加热棒的启停,造成温控精度较差,很难达到恒温效果。鱼缸的充氧,由于水溶解氧的特性决定,当水中溶解的氧气达到一定程度,或者鱼缸内鱼的密度不是太大,即使是在夏天也不必要一直充氧,可以采用间隔充氧和换水,否则再进行充氧都是多余的,也必然是浪费大量的电力资源3。因此,一些电路简单,能可靠工作和“自动间歇”的控制器也随之产生。扩展到鱼缸内其他参数的控制,市场上陆续出现了与鱼缸相关的控制设备。如鱼缸间歇充氧定时器、鱼缸自动恒温器、鱼缸灯光自动控制器等。由于这些设备的均各自独立工作,独立控制相应的环境参数,所以一个鱼缸中需配置几个独立的控制设备;而这些独立控制设备的价格一般都在100200元,如果配齐整套控制设备,价格大概在10001500之间;因此,多功能型的鱼缸控制器的开发也受到了很多厂商的关注,陆续出现了多种为水族行业优化制作的多功能控制器,这些仪器集温度、灯光、充氧、报警等控制功能于一体。功能设计上追求性能稳定可靠安装、调试、维护方便。此外,这些控制器不仅可以广泛应用于家庭观赏鱼缸的养护管理;而且也适用于水族养殖业,尤其是宾馆、饭店、展厅、居家等对水系要求较高的观赏和经济水生物的养护。1.3 主要研究内容本课题拟议ATMEL公司生产的AT89C52单片机为核心,同时结合传感器技术,设计一套适合各类水族箱的水位高度、水温度、水中氧气浓度、灯光和鱼饵为主要控制对象的水族箱智能控制系统。本课题的主要任务是研制一套单片机系统,并使这套单片机系统可实现对水族产品进行智能控制和管理。整套系统能够完成鱼缸水质及环境参数的自动测量和智能控制。本课题研究设计的控制系统主要特点是:1 采用单片机控制设计,实现水族箱节电模式、自动换水、自动喂食、冷热自动恒温、自动照明、状态显示。大大提高智能化控制的能力,不仅降低了资源耗费,同时也降低了人力的付出。2 人机操作界面采用数码、LED指示显示;操作设置实现多级菜单显示的方法。操作简单、方便,极具人性化特点。3 设计上下位机通讯端口,通过RS-485总线实现远程数据采集、显示和控制管理。4 产品整体设计具有技术的通用性,贴近实际的应用,易于推广和大规模生产。根据系统要求和拟完成的功能特点,本课题研究的主要内容有:1 总体设计:首先按照系统的应用场合,工作环境,控制对象等确定合理的设计方案,权衡利弊,仔细划分软件部分和硬件部分各自应完成的功能,形成系统的研究模型。2 硬件设计:由于现在市场上各种芯片种类繁多,而且不断在推陈出新,因此必须按照系统要求,根据“性价比最高”原则,选择既适合于本系统,又运行可靠的芯片和元器件,进而设计出最合理的硬件电路,通过实验随时对电路图进行修改,最终调试无误后,再制成印制电路板。3 软件设计:利用模块化的程序设计方法,把系统应用程序按照整体功能划分为若干相对独立的程序模块,绘出程序流程图,各个模块单独进行设计,利用单片机C语言编程。4 系统的调试与运行。在单片机开发装置上,用调试软件对程序进行调试,查错和修改,然后把调好的程序联成一个完整的系统程序,再进行联机调试,在线仿真,最后组装样机,脱机运行,通过试运行对系统进行检测,以验证系统的功能。1.4 课题研究的步骤在设计开发过程中,严格遵循科学的研究方法,从课题的选择、系统功能规划、电路原理图设计、电路板设计、软件控制流程设计、软件程序设计以及样机制作调试,整机运行测试等几大步骤逐一完成。具体的步骤分析如下所示4。课题的分析1 总体论证:项目调研,可行性分析选定系统组成方案2 总体设计:系统功能分配单片机系统的选型3 硬件开发:元器件的配置,绘制硬件原理图设计印制电路板图,电气检查4 软件开发:绘制软件功能框图,确定算法系统资源分配,编程,调试5 联机调试:检查硬件,排除故障装入软件反复调试6 脱机运行考核:模拟现场运行考核系统的稳定性和可靠性第2章 鱼缸智能控制系统的总体设计本系统的硬件由输入输出部分和控制部分组成。输入输出部分主要完成数据的采集、输入和输出控制、串口通信等;控制部分主要完成系统参数和控制参数的设定、数据存储/看门狗/复位、时钟电路、LCD显示和按键处理以及各路输入和输出指示等。2.1 概述单片微型计算机简称单片机,又称微控制器或嵌入式控制器。它将计算机的基本部件微型化,使之集成在一块芯片上的微机。片内含有CPU,ROM,RAM,并行I/O口,定时计数器,中断控制,时钟系统及总线等。它是工业控制和智能化控制系统中应用最多的一种模式。这种模式的最大特点是设计者可根据自己的实际需要开发,设计一个单片机系统,因而更加方便,更加灵活,成本更低。其基本方法是在单片机的基础上扩展一些接口,如用于模拟/数字转换的A/D,D/A接口,用于人机对话的键盘处理接口,LED和LCD接口,用于输出控制的电机接口等。然后再开发一些应用软件就可组成完整的单片机系统。单片机有着体积小,功耗低,功能强,性能价格比高,易于推广应用等显著特点,在自动化装置,智能化仪器仪表,过程控制和家用电器等许多领域获得了广泛的应用。从国内开发应用单片机的情况来看,自80年代初起步以来,以INTEL公司的MCS-48系列单片机为主导机种,率先渗入到微机控制的各个领域,取得了一定的应用成果。80年代中期以来,随着性能更强,速度更快的MCS-51系列的加入,单片机得到了更为迅速的推广和广泛的应用。目前,尽管16位和32位已为人们熟悉和了解,但在我国目前和今后一段时间内,8位单片机仍是实际应用中的主导品种5。2.2 系统的设计要求系统的总体设计要求如下:1 鱼缸环境参数检测范围:由于鱼缸里各种鱼类和水草生长需要相对稳定的环境参数,这些环境参数包括:水位,照明,水温等。为了尽可能的保证环境参数在稳定的范围内波动,使鱼缸内的各种环境参数可以及时调整控制,本系统可预置温度上限为35C,同时预置了水循环、充氧模式,照明模式和恒温控制模式等。2 实时显示温度,当前操作状态及当前系统时间。3 当鱼缸里环境参数超过所设定的上下限时,能够发出声光报警信号,同时启动相应的执行机构动作,以完成对应环境参数的改变。4 能够随时设置参数的上下限,能够设置系统的日期和时间。5 能够将系统设置为自动和手动状态,以适应不同的需求。2.3 系统总体方案与功能2.3.1 鱼缸智能控制系统的功能组成与控制参数1 系统功能组成该系统的开发是在充分了解并分析目前各类鱼缸控制器的前提下进行的,整个系统共分为以下几个功能子系统:即自动加热、自动/定时充氧系统、水位控制系统、自动水循环系统、自动照明系统。这些子系统都有各自的信号检测输入以及控制输出功能,并结合系统的时钟电路、数据存储电路/看门狗/复位电路以及各子系统的功能参数的设置与LCD显示电路,共同集成为一套功能完善的智能控制系统678。2 系统控制参数该系统的控制对象为鱼缸,控制的目的是能使系统自动调节,以提供水族最适宜的水质及生活环境。设计时需要注意的水质及环境参数有:水的温度,水的溶氧量,水位的高低,环境灯光,鱼的饵料等参数。下表2-1显示该控制系统对各项参数的处理。表2-1 系统控制参数项目控制参数相应的处理措施1水温根据系统设定的温度范围控制加热器的启动、停止2水位根据水位高低与时间控制水泵的启动、停止3灯光根据系统设定时间定时控制灯的开启与熄灭4水溶氧量根据系统时间定时进行启动、停止依据同一设计原理和方法,针对其他的环境要求,还可以进行不同环境参数的控制,以达到统一的设计,提高扩展能力。2.3.2 系统的硬件结构框图本系统以单片机为核心CPU,组成一个可以放置在鱼缸外独立运行,实现各路水质及环境检测信号的输入及各路控制信号的输出,从总体上讲,该系统硬件设计共包括两大部分:控制部分和输入输出部分,如图2-1所示。控制部分输入输出部分LCD显示按键时钟数据存储看门狗温度检测水位高低检测其他参数检测AT89C52图2-1 系统硬件结构图其中控制部分包括:1 中心控制模块。主要以单片机为核心,包括晶振,复位电路,扩展存贮器等。该模块的主要功能是将A/D转换器送来的数字信号进行运算处理,从而发出各种控制信号。2 人机交互按键控制模块:实现系统各项功能的按键设置以及设置过程中的LCD显示控制,以达到良好的人机交互功能。1)通过LCD1602显示参数值。2)通过键盘设定参数上下限。3)通过LCD1602和蜂鸣器产生超限声光报警。3 时钟控制电路模块:实现系统绝对时钟和相对时钟的同步控制,是定时进行环境参数检测和各项控制器件启、停操作的关键。4 数码显示模块:显示当前工作状态(用各种编号表示当前的温度、工作模式、日期时间等),以及参数设置过程中的相应控制显示。5 数据存储/看门狗/复位模块:实现关键参数的存储,系统工作过程的监测以及异常情况的复位重启。其中输入输出部分包括:1 各路检测信号的输入模块:实现水族箱中各种检测传感器的信号输入,如温度检测、水位高低检测;该模块完成数据采集功能,主要由传感器,放大器,多路开关,A/D转换器等组成。传感器用来感应鱼缸环境参数的变化,并把非电量的变化为电信号。多路开关的作用是分时的选通某一路信号,将模拟电信号传输给A/D转换器,从而将模拟信号转化为单片机可以识别的数字信号。2 各子系统的控制输出模块:根据检测到的各路信号分别控制相应的子系统进行工作,且各子系统的工作互不干扰,同时带相应的输出指示灯显示。该模块主要由光电隔离和各参数相应的执行机构组成。单片机通过将采集值进行比较处理,发出控制信号,传输给执行机构,从而对环境参数进行调节。其中执行机构是由双向可控硅进行控制,输出光电隔离与驱动部分完成弱电信号到强电信号的隔离与放大。2.4 主要元器件的选取2.4.1 单片机的选取单片机按照其基本操作处理的位数可分为:1位机、4位机、8位机、16位机、32位机等。其中1位机和4位机结构简单,成本很低,但指令不丰富,且编程复杂,可用于简单的校制;16位机和32位单片机集成度高,性能优越,但是其价格目前比较贵,从而限制了广泛的应用;而8位单片机小巧灵活,指令丰富,性价比极高的优势使其产品占领目前整个单片机市场的60%以上份额,可以说8位单片机将在今后一段时间内仍是工业检测控制的主流机型。现在世界上比较著名的单片机生产厂家有美国INTEL公司,MOTOROLA公司,TI公司,MAXIM公司,NS公司,ATMEL公司等910。近年来,随着美国ATMEL公司的AT89系列单片机的推出和单片机C语言的广泛应用,MCS-51单片机有了进一步的活力.AT89系列以MCS-51为内核,兼容了MCS-51的硬件和软件,其主要优点在于:片内的程序存贮器采用闪烁存贮技术,具有电可擦除,电可编程,且编程和擦除时间短(4K字节存贮器编程约3秒,擦除时间10ms),并可反复编程,数据不易挥发,而且加密功能也大大增加了,能有效的防止用户程序被复制。时钟频率的提高使运算速度也加快了。产品中的20脚封装形式的机种,使其体积更小,更具应用灵活性,可方便的应用于家电产品及小型仪器仪表。AT89系列单片机主要产品类型和特点如下表2-2。表2-2 AT89XX系列芯片单片机型号/存贮容量和类型RAM16为定时器个数中断源个数最高晶振频率/MHZ封装引脚个数AT89C51/4KEEPROM128252440AT89C52/8KEEPROM256382440AT89C1051/1KEEPROM128252420AT89C2051/2KEEPROM128252420经综合考虑,本系统决定选用美国ATMEL公司生产的AT89C52型单片机作为主控制器芯片,这种机型是该公司近几年推出的机型,其市场价仅几元/片左右,性价比极高,所以一经推出就得到了广大用户的青睐。AT89C52芯片介绍AT89C52是一个低电压,高性能CMOS8位单片机,片内含8k Bytes的可反复擦写的Flash只读程序存储器和256Bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为开发者提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的flash存储器可有效地降低开发成本。其主要功能特性兼容MCS51指令系统8k可反复擦写(1000次)flash ROM32个双向I/O口256x8bit内部RAM时钟频率0-24MHZ3个16位可编程定时/计数器中断2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能由于AT89C52单片机内部片内资源丰富,有8K字节的闪烁存贮器,而本系统下位机程序主要用单片机C语言编写,编译后生成的代码较为简短,效率较高,8K字节的程序控件足够使用,且多余的程序存贮空间可作为将来扩展系统使用,故选此机型可以不必在外部再扩展程序存贮器,这样可以简化系统电路,减少系统成本。2.4.2 键盘控制和LCD数码显示驱动芯片的选取键盘控制和显示处理时与智能控制器交互过程中非常重要的两个部分,它的选择对整个智能控制系统至关重要,它的性能的好坏,直接影响了整个控制系统的操作性能的优劣。本控制系统共设计了5个按键进行键盘控制,采用1602液晶屏进行显示,综合了各种因素。1 1602液晶屏简介字符型液晶是一种用57点阵图形来显示字符的液晶显示器,根据显示的容量可分1行16个字、2行16个字、2行20个字等。最常用的是2行16个字。第1脚:VSS为电源地,接GND。第2脚:VDD接5V正电源。第3脚:液晶显示偏压信号第4脚:数据/命令选择端(H/L)第5脚:读/写选择端(H/L)第6脚:E为使能信号,当E端由高电平跳变为低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线第15脚:BLA背光电源正极(接+5V)第16脚:BLK背光电源负极(接GND)1602液晶模块的内部控制器共有11条指令,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。说明1为高电平,0为低电平)2 1602液晶模块的设置初始化设置表2-3显示模式设置指令码功能00111000设置162显示,57点阵表2-4 显示开/关及光标设置指令码功能00001DCBD=1,开显示;D=0,关显示C=1,显示光标;C=0,不显示光标B=1,光标闪烁;B=0,光标不闪烁000001NSN=1,当读或写一个字节后地址指针加一,且光标加一N=0,当读或写一个字节后 地址指针减一,且光标减一S=1,当写一个字符,整屏显示左移(N=1)或右移(N=0)S=0,当写一个字符,整屏显示不移动数据控制控制器内部设有一个数据地址指针,用户可以通过它们来访问内部的全部80字节RAM。表2-5 数据指针设置指令码功能80H+地址码(027H,40H67H)设置数据地址指针读数据输入:RS=H,RW=H,E=H;输出:D0D7=数据写数据输入:RS=H,RW=L,D0D7=数据,E=高脉冲;输出:无表2-6 其他设置指令码功能01H显示清屏:1.数据指针清零2 .所有显示清零02H显示回车:数据指针清零2.5 语言工具的选取常用的51编程语言有二种,一种是汇编语言,一种是C语言。汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而C语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且C语言还可以嵌入汇编来解决高时效性德代码编写问题。对于开发周期来说,中大型的软件编写用C语言的开发周期常要小于汇编语言很多,而随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言过渡到逐渐使用高级语言进行开发,其中C语言为主,而且市场上机种常见的单片机均有其C语言开发环境。综合以上C语言的优点,本系统选择了C语言进行开发,而且选用Keil软件开发环境,Keil软件是目前最流行开发80C51系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。2.6 本章小结本章论述了多功能鱼缸智能控制系统的总体设计要求,介绍了系统总体方案和功能组成,提出了系统的硬件结构框图;阐述了主要元器件的选取原则,并对主要芯片做了简要介绍;最后给出了软件设计方案和编程语言的选择。第3章 系统的硬件设计本章详细介绍多功能鱼缸智能控制器的硬件结构和设计。主要包括数据存储/看门狗/复位电路模块设计、时钟电路模块设计、系统电源模块设计、键盘控制与显示模块设计、温度控制模块设计、输出控制电路模块设计以及电路原理图与电路板设计等。详细阐明各电路设计中芯片的选型,芯片的内部组成、性能参数和功能特点,并设计出具体的硬件电路,下面就各部分主要电路做介绍。3.1 硬件总体结构 硬件和软件设计是单片机系统的两个重要方面。本章主要论述该系统的硬件电路设计。本系统在硬件电路设计时,主要从以下原则出发:1 硬件电路设计与软件设计相结合优化硬件电路。一些由硬件实现的功能可用软件来实现,反过来一些由软件实现的功能也可用硬件来完成。用软件来实现硬件的功能时,其响应时间比用硬件实现长,还要占用CPU时间。但是用软件实现硬件的功能可以简化硬件结构,提高硬件电路的可靠性,系统升级简化等优点,还可降低成本,因此在本系统的设计过程中,在满足可行性和实时性的前提下尽可能地将硬件功能用软件来实现。2 可靠性及抗干扰设计,根据可靠性设计理论,系统所用芯片数量越少,系统的平局无故障时间越长,而且所用芯片数量越少,地址数据总线在电路板上受干扰的可能性就越少,因此单片机基本系统的设计思想是在满足功能的情况下力争使用较少数量的芯片及线路,系统选用的DS18B20数字温度传感器也基于这方面的考虑。本系统大都采用了功能先进的DIP器件,因此从组件数、电路板空间、功耗、抗干扰及系统成本上都得以大幅度改善。3 灵活的功能升级及系统扩展。一次设计往往不能完全考虑到系统的各个方面,系统需要不断完善,需要进行功能升级;并且,在设计时应考虑到系统在以后应用中扩展的方便性。功能扩展时系统应在原设计不需做很大变动的情况下,修改软件和少量硬件甚至不修改硬件就能完成。功能扩展是否灵活是衡量一个系统优劣的重要指针。根据系统要求及上面几个硬件设计原则,确定系统硬件原理图。系统以单片机STC89C52DIP为中央处理单元,由感温原件、水位传感器、LCD液晶显示、蜂鸣器报警、1302时钟电路组成。下面对主要的电路设计做详细介绍。3.2 各模块硬件设计3.2.1 时钟电路设计本系统采用DS1302芯片完成系统绝对时钟和相对时钟电路的设计。1 DS1302芯片介绍1112DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、星期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM指示决定采用24或12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到3个口线:1)RES(复位),2)I/O(数据线),3)SCLK(串行时钟)。时钟RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。DS1302工作时功耗很低保持数据和时钟信息功率小于1mW。管脚描述X1,X232.768KHz晶振管脚GND地RST复位脚I/O数据输入/输出引脚SCLK串行时钟Vcc1电池供电管脚Vcc2电源供电管脚图3-1 1302时钟电路图2 时钟电路系统设计该时钟电路,主要用于鱼缸智能控制系统主机的时钟显示,时钟晶振采用32.768KHz,提供3.6V的备用电池,一旦外部电源中断,系统由该备用电池保证时钟正常运行。时钟电路图如图3-1所示。作为控制鱼缸各种操作的相对时钟,用来实现换水,打氧的时间控制。同时,也可作为系统扩展其他功能时使用,如闹钟提醒,事件定时,信息备忘,并为事件查询提供时钟。3.2.2 键盘控制与显示模块设计该电路中采用了LCD1602与普通的按钮组成。该键盘控制与显示电路包含了复位电路、晶振电路、LCD显示电路和按键控制电路四大部分。很好的实现了各功能参数的设置。 图3-2 键盘控制、显示电路与复位电路图3.2.3 温度控制模块1 DS18B20芯片介绍DS18B20是DALLAS公司生产的一线式数字温度传感器13,具有3引脚T0-92小体积封装形式;温度测量范围为-55C+125C,可编程为9位12位A/D转换精度,测温分辨率可达0.0625C,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。DS18B20内部结构如图3-3所示图3-3 DS18B20内部结构主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列是:DQ为数字信号输入/输出端;GND为电源地;VDD为外接电源输入。ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64为ROM的循环冗余效验码(CRC=X8+X5+X4+1)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。2 温度检测电路芯片DS18B20的引脚2与单片机P1.7口连接。使用外部5V电源供电,为保证在有效的DS18B20时钟周期内,提供足够的电流,需要接4.7K上拉电阻。电路图如图3-4所示。图3-4 温度检测电路图3.2.4 其他模块设计1 蜂鸣器模块设计蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 ;蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。图3-5 蜂鸣器电路设计2 水位检测模块设计本设计检测水位的方法是通过一种液位控制器放在水中通过霍尔开关来控制单片机的I/O接口。如果水位高于快关则I/O口与5V电源导通,可以控制水泵的开关来控制水位。如图3-6。图3-6 测装液位控制器在鱼缸中放入两个液位控制器,其中的一个放在鱼缸的顶端(养鱼需要的水位置)设为A,另一个则放在鱼缸的底端(不要低于鱼自身的高度即可)设为B,当A与B都导通的时候代表水位是正常的,不需要贮水与放水,可以通过时间或者按钮的设置对放水泵进行开启,当液位低于A时继续放水,如果液位低于B时停止向外放水,此刻开始用另外一个水泵把干净的新水加入到鱼缸中,这时水位不断抬高,当A与B同时导通时代表水以加满,此时换水的整个过程完毕。3.3 继电器控制模块每当需要放水或注入新水的时候都需要开启水泵,需要加热的时候需要通过开启加热棒,由于水泵或者加热棒的功率都很高,单片机供给的电压是不够的,这时候就要用到继电器了14。3.3.1 继电器的原理继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。电磁式继电器一般由控制线圈、铁芯、衔铁、触点簧片等组成,控制线圈和接点组之间是相互绝缘的,因此,能够为控制电路起到良好的电气隔离作用。当我们在继电器的线圈两头加上其线圈的额定的电压时,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的接通、切断的开关目的。3.3.2 继电器的选用本设计选用的为HK4100F-DC5V-SHG继电器。它有6个引脚,其中2、5脚为线圈。1、6脚为公共端。3、4脚一个常开一个常闭。如图3-7所示。图3-7 继电器引脚图本设计所用到的水泵、加热器、贮氧器都是通过继电器的吸和来控制的,所以说继电器对本设计有着很重要的意义。继电器的电路图如图3-8所示。图3-8 继电器电路设计3.4 电路原理图及电路板设计本控制系统的电路原理图和电路板设计,是使用EAGLE进行设计和实现的。自上世纪九十年代初以来,源于CadSoft公司的EAGLE软件一直畅销欧美,在EDA工具行业占有很大比例的市场份额,曾被德国一家著名电子杂志五次评选为“年度最佳产品奖”,为了让更多的EDA工具使用者了解到更好的PCB设计和原理图设计工具,EAGLE现正式进军中国市场,深圳市英蓓特信息技术有限公司作为EAGLE软件亚洲地区第一家也是唯一一家代理商,主要负责该软件的市场推广和销售工作。EAGLE是一款非常易于使用而且功能非常强大的PCB和原理图设计工具,EAGLE这个名字所表达的意思就是Easily Applicable Graphical Layout Editor(容易适用的图形布局编辑器)。本系统电路板设计为双面板,提高系统的抗干扰能力,增强传感器电路的机械强度,延长元器件的使用寿命,方便布线,又方便送厂家加工。电路板实物图见附录。3.5 本章小结本章介绍了鱼缸控制器硬件系统的设计方案,从器件选型、经济成本、原理图设计、结构分析、功能实现等多个方面阐述硬件各部分的结构原理,包括微处理器单元、数字测温单元、实时时钟单元、输入输出控制单元等。至此,本章完成了硬件部分的设计,把这些接口电路组合起来就得到总得设计电路图。第4章 系统的软件设计软件设计是鱼缸智能控制系统设计的主要内容和重点,应该根据系统功能要求,以系统硬件电路为基础进行系统的软件设计。为了使设计出来的软件功能明确,阅读、调试方便,健壮性、可靠性好,一般采用结构化的程序设计方法。结构化的程序设计包括三方面的工作:自顶向下的设计、模块化编程和结构化编程。除此之外,有时还需要加强软件抗干扰设计,以提高程序的可靠性。单片机系统程序采用单片机C编程语言进行开发的,整个单片机系统的程序共分为六个模块,即主程序模块、时钟模块、温度采集模块、屏幕显示模块、蜂鸣器与延时模块、E2PROM模块每个模块都具有一定的功能,其中有的模块还包含一些子模块,即相互独立又相互联系,低级模块可以被高级模块调用。4.1 软件设计方法在介绍具体软件实现之前,先来介绍一下系统软件的设计方法:模块化设计。模块化设计就是把软件按照规定的原则划分为一个个较小的、相对独立但又相关的模块。分解、信息隐藏和模块独立性,是实现模块化设计的重要指导思想。分解是人们处理复杂问题常用的方法,对问题求解的大量实验表明,将一个复杂的问题分解为几个较小的问题,能够减小解题所需要的总工作量。但在一个软件系统的内部,各组成模块之间是相互关联的。模块划分的数量越多,各模块之间的联系也就越多。模块本身的复杂度和工作量虽然随模块的变小而减小,模块的接口工作量却随着模块数的增加而增大。每个软件都存在一个最小成本区,把模块数控制在这个范围内,可以使总的开发工作量保持最小。模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块构造是否合理的标准。坚持模块的独立性,一般认为是获得良好设计的关键。独立性可以从两个方面来度量,即模块本身的内聚和模块之间的耦合。前者指模块内部各个成分之间的联系,所以也称块内联系或模块强度;后者指一个模块与其它模块之间的联系,所以又称为块间联系。模块的独立性愈高,则块内联系越强,块间联系越弱。在开发软件的同时,还要注意软件开发中文档的建立。在软件开发过程中,总是产生和使用大量的信息。软件文档在产品的开发过程中起着重要的作用。文档提高了软件开发过程的能见度。把开发过程中发生的事件以某种可阅读的形式记录在文档中,还可提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、减少返工,可在开发早期发现错误和不一致性,便于及时加以纠正,并且便于协调以后的软件升级、使用和维护。本系统是以上述的软件设计思想为指导,采用Keil C51集成开发环境开发软件部分,Keil C51是美国Keil Software 公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。4.2 主程序工作流程系统软件主程序是检测鱼缸内各种环境参数,从而进行鱼缸智能控制的主监控程序,按照软件模块化设计的原则,将系统功能划分为多个子任务,每个子任务由对应的子程序来实现;再将这些子程序有机地整合在一起,从而实现温度、水位、氧气等参数的采集功能。这样的设计,一方面可以理清设计者的思路,再者,模块化的设计,可以方便编写与调试程序。4.2.1 主程序工作流程图系统监控主程序的工作流程图见图4-1所示,监控主程序主要完成以下工作:4.2.2 主程序流程详解(1) 对系统进行初始化在监控程序中,首先对系统进行初始化编程。硬件方面包括51系统的初始化、软

温馨提示

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

评论

0/150

提交评论