毕业设计第三稿.docx

上传人:b****7 文档编号:8746089 上传时间:2023-02-01 格式:DOCX 页数:25 大小:375.20KB
下载 相关 举报
毕业设计第三稿.docx_第1页
第1页 / 共25页
毕业设计第三稿.docx_第2页
第2页 / 共25页
毕业设计第三稿.docx_第3页
第3页 / 共25页
毕业设计第三稿.docx_第4页
第4页 / 共25页
毕业设计第三稿.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

毕业设计第三稿.docx

《毕业设计第三稿.docx》由会员分享,可在线阅读,更多相关《毕业设计第三稿.docx(25页珍藏版)》请在冰豆网上搜索。

毕业设计第三稿.docx

毕业设计第三稿

                            届别 

  学号 

 

毕业设计

 

花卉培养亮度监控系统

 

姓  名

系别、专业

导师姓名、职称

完成时间

 

摘要

该论文的基本内容是研究如何解决花卉培养过程中的时间、亮度问题,用一个小系统模拟实际过程中整个系统的工作原理。

系统功能是在不同的时间段使外界环境的亮度智能控制在特定的范围之内,以便适用于不同花卉的培养。

系统方案是通过单片机实现时间段的控制,亮度的自动调节。

整个系统分为8个模块和5个显示界面,信息处理单元模块,系统亮度监测模块,串口通信模块,时钟模块,键盘模块,光源亮度驱动模块,显示模块,电源模块;主界面(显示当前时间段、外界亮度、以及下一时间段的设定的亮度值),1、2、3段时间长短设置界面,亮度设置界面;精度设置和手动模式设置界面以及信息浏览界面。

本文主要介绍了系统的设计思想,方案设计,各硬件模块的实现、软件实现以及系统调试过程中出现的问题及解决方法。

关键词:

单片机;液晶显示;LED驱动;亮度

 

ABSTRACT

Thebasiccontentofthepaperistostudyhowtosolvetheflowersdevelopincourseoftime,thebrightnessproblem,asmallsimulationwiththeactualprocessofthewholesystemworks.Systemfunctionindifferenttimeperiodssothatthebrightnessoftheexternalenvironmentisintelligentlycontroledinaspecificrange,inorderforthecultivationofvariousflowers.Singlechipsystemsolutiontimebycontrol,automaticbrightnessadjustment.Thewholesystemisdividedintoeightmodulesand5displayinterfaces,theinformationprocessingunitmodule,thesystembrightnessmonitoringmodule,serialcommunicationmodule,clockmodule,thekeyboardmodule,lightsourceintensitydrivermodule,displaymodule,powermodule;themaininterface(displaythecurrenttimesection,theoutsidelight,andsetthenexttimethebrightnessvalue),setthelengthof1,2,3-timeinterface,thebrightnesssettinginterface;precisionsettingsandmanualmodeinterface,andinformationbrowsinginterface.Thispaperdescribesthesystemdesign,programdesign,implementationofthevarioushardwaremodules,softwareandsystemdebuggingprocessproblemsandsolutions.

Keywords:

microcontroller;liquidcrystaldisplay;LEDDriver;brightness

 

1前言

1.1国内外研究动态

近年来,世界花卉业以前所未有的速度增长,并远远超过世界经济发展的速度。

2000年全球花卉消费总额高达1800亿美元,而1989年只有300亿美元;世界花卉贸易总额从1990年的65亿美元,猛增到2000年的近1000亿美元。

素有“欧洲花园”之称的传统花卉发达国家荷兰,仅球根花卉的生产面积就达20720公顷,切花、盆花及观叶植物的生产面积也达8017公顷,总产值为35.9亿美元,平均每公顷产值达13.8万美元;新兴的花卉发达国家哥伦比亚以其独特的气候优势大力发展花卉产业,其生产面积4757公顷,总产值为4.8亿美元,平均每公顷产值为10.0万美元。

花卉业成为很多国家和地区农业创汇的支柱,真正显示其作为“效益农业”的作用和发展潜力。

花卉生产向温室化、自动化发展,八十年代的能源危机,加之花卉比蔬菜需热量少,使世界上许多温室,首先是蔬菜温室退出经营,以香石竹、菊花代替。

由于温室设备的高度机械化,微电脑自动调节温度、湿度和气体浓度,花卉生产在人工气候条件下实现了工厂化的全年均衡供应。

新技术也不断的广泛应用,第一是节能的研究,如选用绝热性能好、透光率强、坚韧耐久的新建筑材料;研制增温快、保温强的新型温室;考虑太阳能、沼气、天然气等加温措施;第二是,花卉育种快速多样化广泛引进野生花卉资源,利用杂交育种、多倍体育种、辐射育种等进行选育,现已开始运用体细胞杂交、基因工程等最新技术培育,新品种迅速增加。

目前主要花卉的园艺栽培品种都在上千,甚至上万个。

如荷兰全国有7个研究中心,专门从事花卉品种的研究,并在二战以后育成了大批的郁金香、风信子、水仙、唐菖蒲及球根鸢尾的新品种。

我们有理由相信在不远的将来,有可能根据人们的意志来改变花卉的花色、形态、香味等。

1.2论文研究的内容及可能出现的问题

该论文研究的目的是解决花卉培养过程中亮度和时间问题。

主要研究如何通过单片机实现三个时间段的长短设置以及不同时间段系统将外界的亮度自动调节在设置的范围之内,还有就是液晶1602显示的人机互动界面。

可能出现的主要问题以及解决方法有:

第一,外部亮度的采集,该问题可以通过用光敏电阻电路感应外界的亮度并通过模数转换芯片ADPCF8591转化为数字信号反馈给系统;第二,系统的供电系统,解决方法是外界输入市电,通过桥式整流电路,电容滤波电路,以及稳压电路设计的输出电源;第三,外部亮度的控制,解决方法是,系统时时将外界亮度数据采集进来和设定的亮度值进行比较,由此计算出亮灯个数,从而使外界亮度稳定在某个范围之内。

2方案设计

本章根据性能指标进行方案论证,根据系统实现功能及性能指标,完成系统方案设计。

2.1系统功能要求

在不同的时间段系统采集外部光照强度,并根据采集到的数据控制LED(用LED灯的通断来模拟花卉培养时用的光源)的通断,达到调节光源发光亮度的目的,总共有3个时间段,要求时间段的长度和亮度都可调,液晶时刻显示外界的亮度值,系统的灵敏度可调,系统工作模式有两种,自动模式和手动模式,在自动模式下系统自己根据外界采集到的数据来控制亮灯的个数,而在手动模式人工手动决定亮灯个数,还可以查询系统已经设置好的参数。

此外要求系统采用多个传感器。

2.2系统方案设计

2.2.1系统设计思想

本系统采用单片机STC89C52作为本设计的核心元件,光敏电阻将外部光信号变化转换为电信号变化,再通过模数转换器转换为数字信号,通过单片机控制LED的亮灯个数。

根据上述系统设计思想的描述,系统构成框图如图2.1所示图中缺省电源模块图中每个模块都需要5V电压供电,其中显示界面是人机互动界面,串口通信模块是用来从上位机向单片机下载系统程序,时钟模块是为系统提供准确的时间。

2.2.2系统构成框图

图2.1系统构成框图

2.3设计系统方案

根据上述系统实现功能的描述,具有自动控制功能的LED光源系统的设计方案可以细分为八大功能模块:

1.信心处理单元模块(主控模块)

信心处理单元模块由单片机最小系统构成。

该部分电路是整个系统的核心部分,接收背景亮度监测电路采集的电信号,经过适当的信息处理(A/D转换),将采集到的数据与设置数据进行比较,然后判断并决定亮灯个数,从而达到调节外界亮度的效果。

2.系统亮度监测模块

系统亮度监测模块由光敏电阻和A/D转换芯片构成。

该亮度监测模块作为整个系统的输入部分,用于采集外部光照强度信号,并将其变化转化为电信号的变化,再通过模数转换,转化成单片机可以处理的数字信号。

3.电源模块

该部分电路是整个系统的能源供给部分,为系统提供工作所需的5V直流稳压电源。

4.串口通信模块

该部分电路是单片机与外部设备之间进行数据通信的主要途径,电路采用RS-232电平转换芯片MAX232与上位机连接。

该电路在系统中的主要作用是用来从上位机向单片机中下载系统程序。

5.LED光源亮度控制驱动模块

光源亮度控制驱动模块主要由电流驱动器和LED构成。

该部分电路作为系统的输出部分,驱动LED发光。

6.显示模块

用户界面显示系统的参数,以及设置系统参数时显示一些提示信息该信息包括3个时间段的剩余时间,外界亮度值,系统时间设置,传感器选择,系统精度设置等等。

总之,就是提供一个人机互动界面。

7.时钟模块

时钟模块为系统提供准确的时间,使系统的时间更精确。

主要是将时钟模块里的时间跟设置的时间做比较,确定当前段的剩余时间是否为0,是就进入下一时间段,否则停留在当前时间段。

8.键盘模块

从按键个数和程序复杂度方面综合考虑,本系统不采用矩阵键盘而采用按钮直接给系统输入指令,按钮按下给系统输入一个低电平,系统检测到该信号并判断译码出是什么指令,然后执行相应的操作。

 

3硬件电路设计实现

本章根据已完成的系统方案设计和系统构成框图,详细介绍各个电路模块元件的构成及实现的功能,完成系统硬件电路的设计等。

3.1信息处理单元模块(主控模块)

在单片机应用系统开发过程中,单片机是整个设计的核心,因此选择合适的单片机型号很重要。

根据实现系统功能需要的单片机硬件资源,在性能指标满足的情况下,该系统的单片机型号选择8051系列的STC89C52芯片。

STC89C52系列单片机是宏晶科技推出的新一代超强抗干扰、高速、低功耗的单片机,指令码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择。

STC89C52具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择,可以满足系统在各个子模块程序之间的切换;STC89C52的运算速度可满足一般的设计要求;而且STC系列单片机支持ISP在线编程功能,可以不用昂贵的编程器。

3.2系统亮度监测模块

系统亮度监测模块是整个系统的输入模块,由光电转换电路和模/数转换电路构成。

3.2.1光电转换电路

1.光敏传感器

光敏传感器是利用光敏元件将光信号转换为电信号的传感器.它的敏感波长在可见光波长附近,包括红外线波长和紫外线波长。

光传感器不只局限于对光的探测,它还可以作为探测元件组成其他传感器,对许多非电量进行检测,只要将这些非电量转换为光信号的变化即可。

光电检测方法具有精度高,反应快,非接触等优点,而且可测参数多,传感器的结构简单,形式灵活多样,因此,光敏传感器在检测和控制中应用非常广泛。

根据系统参数和器件性价比,我们选择常用的光敏电阻GL5549。

2.光电转换电路

光电转换电路图如图3.1所示,光敏电阻与电阻R串联,经限流电阻与模/数转换电路连接,光照越强,光敏电阻阻值越小,则光电转换电路输出电压越大,反之越小,图中包含4个光电转换电路。

 

 

图3.1光电转换电路

3.2.2模/数转换电路

模/数转换电路,我们采用PCF8591模/数转换芯片将光电转换电路输入的模拟信号转换为数字信号。

1.模/数转换芯片PCF8591:

PCF8591是一款单电源、低功耗8位COMS型A/D、D/A转换芯片,它具有4路模拟量输入通道、一路模拟量输出通道和1个I2C总线接口。

该器件I2C从地址的低三位由芯片的A0、A1和A2三个地址引脚决定,所以在不增加任何硬件的情况下同一条I2C总线最多可以连接8个同类型的器件。

该器件具有多路模拟量输入、片上跟踪保持、8位A/D转换和8位D/A转换等功能。

A/D与D/A的最大转换速率由I2C总线的最大传输速率决定。

PCF8591具有以下特点:

单电源供电;正常工作电源电压范围为2.5V~6V;通过I2C总线完成数据的输入/输出;器件地址由3个地址引脚决定;采样频率由I2C总线传输速率决定;4路模拟量输入可编程为单端输入或差分输入;可配置转换通道号自动增加功能;模拟电压范围为VSS~VDD;片上跟踪保持功能;8位逐次逼近A/D转换;带有一路模拟量输出的乘法D/A转换。

2.模/数转换电路接线图如下图所示(四路输入信号):

图3.2PCF8591转换电路

IN1、IN2、IN3、IN4四个通道分别接光电转换电路的四个输出,该模块将四路模拟信号转换为单片机可以处理的数字信号。

3.3电源模块

电源电路的设计在整个系统占有重要的地位,它的技术指标会影响到整个系统的性能,如果电源的噪声、纹波比较大,那么在数据采集、信号检测、信号放大等对噪声敏感的场合,系统的精度会有明显的下降,甚至不能正常工作,所以对电源有严格的要求。

电源模块为整个系统提供工作所需的5V直流稳压电源。

该系统电源供给设计有两种方案。

3.3.1USB供电

由于电脑的USB口能提供稳定的5V直流稳压电源,我们可以直接采用电脑通过USB口向单片机系统供电,该方案简单方便,适用于系统调试时使用。

3.3.2稳压电路

1.稳压芯片L7805简介

L7805是日本三洋公司生产的三端固定稳压集成电路,广泛应用于各种电器的电源电路中。

L7805集成电路的引脚功能及数据如表3.1所示

表3.1L7805集成电路的引脚功能及数据

引脚

符号

功能

电压(V)

1

IN

电压输入

12

2

GND

接地线端

0

3

OUT

电压输出

5

2.典型稳压电路如图3.3所示

图3.3典型稳压电路

C4、C5、C6、C7分别为输入端和输出端滤波电容。

当输出电较大时,L7805应配上散热板,以免烧坏电源。

3.4显示模块

该模块采用液晶1602显示,显示一些提示信息以及方便数据的输入。

工业字符型液晶,能够同时显示16x02即32个字符(16列2行)。

1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线,VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样.该显示器默认显示当前时间段的剩余时间以及当前环境的亮度值,以及下一时间段的亮度值,还有系统的时间调节提示,系统的精度调节提示,系统传感器的选择提示,以及一些设置信息的浏览。

图3.4为系统的1602的接线图,图中可变电阻R2用来调节液晶的显示背光亮度。

 

3.4液晶1602接线图

3.5时钟模块

该系统采用时钟芯片1302,使系统的时间更精确。

下面是时钟芯片1302的概述、工作原理、封装、以及引脚说明。

DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线RES复位I/O数据线SCLK串行时钟时钟,RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。

DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW。

要使时钟芯片1302工作,必须外接一个晶振,这里我们采用32KHz的外接晶振。

为了防止系统掉电后DS1302停止工作,我们采用备用电池给它供电。

图3.5为系统的时钟模块接线图,图中VCC为主电源,BT1为备用电池。

 

图3.5系统中1302接线图

3.6串口通信模块

串行接口是单片机与外部设备之间进行数据通信的主要途径。

51系类单片机提供了功能强大的全双工串行通信接口,可以方便的实现多机通信或单片机与主机之间的通信。

串口通信电路如图3.6所示。

图中,51单片机的串行数据输出端口TXD连接到MAX232第一组收发器的输入端口T1IN,用于向PC发送数据。

串行数据输入端口RXD连接到MAX232第一组收发器的输出端口R1OUT,用于接收PC串行输入的数据。

PC的串行数据输入端口RXIN连接到MAX232第一组收发器的输出端口T1OUT,用于接收单片机发送的串行数据,PC的串行数据输出端口R1IN连接到MAX232第一组收发器的输入端口R1IN,用于向单片机发送串行数据。

图3.6串口通信电路

3.7光源亮度控制驱动模块

光源亮度调节驱动模块整个系统重要的模块之一,用于控制LED亮的个数。

电路由NPN三极管和高亮度LED构成。

三极管的基级直接接到P1口的电平输出,如果是高电平则三极管发射极导通工作在放大状态,LED灯被点亮,否则不亮,起到开关的作用。

图中与LED串联的电阻是用来调节LED灯的亮度,电阻阻值变大,LED亮度变小,电阻阻值变小,LED亮度变大,以便使系统更稳定。

系统的LED灯接线图如下:

图3.7光源亮度调节驱动模块电路

 

3.8提示电路

 

图3.8提示电路

提示电路采用蜂鸣器,由P20口直接驱动,在人机互动设置系统参数时起到提示的作用,提示操作成功。

3.9按键模块

图3.9按键

按钮一端接地,一端直接接到I/O口,当按钮按下去时,IO口接地,系统检测到低电平,并判断是哪个按键按下,然后进行相应的处理,为了防止勿按操作整个过程通过程序来进行消抖处理。

4系统软件编程的设计与实现

硬件电路设计完成后的工作就是通过软件编程来实现系统的主要功能,也就是进行软件开发。

对于电子系统,软件设计建立在具体硬件电路基础之上,系统功能的实现以及工作的可靠性不仅需要合理的硬件设计,很大程度上取决于功能完善、算法先进的软件设计。

一个合理的软件设计能够充分发挥微控制器的运算和逻辑控制功能,可靠地实现系统的各种功能。

本章主要介绍系统软件编程设计思路,并给出了各分模块的软件设计流程图和编程思想。

4.1系统主程序的设计

系统软件部分设计采用模块化设计的方法,把实现系统全部功能一个完整的大程序分解为几个功能相对独立的比较小的程序模块,对实现各个功能的程序模块分别进行设计、编程和调试,最后把各个调试好的程序模块联成一个完整的程序。

模块化程序设计的优点是单个功能明确,设计和调试比较方便、容易完成。

一个模块可以为多个程序所共享。

在本系统单片机部分程序设计中,模块化编程的具体体现是把各个功能相对独立的模块作为子函数,即把程序设计成一个初始化子程序和一个大循环。

主程序是一个不断循环检测结构。

系统主程序流程图如图4.1所示。

 

图4.1系统主程序流程图

当系统上电、初始化后,进入单片机控制的大循环之中,调用A/D转换函数、调用电压转换函数、时间匹配模块、调用LED驱动函数,最后进入下一次循环。

 

4.2各子模块软件设计与实现

4.2.1LED驱动模块程序

单片机控制LED灯通过控制P1口的高电平的个数来控制亮灯个数,P1口直接接到了三极管的基级,高电平使三极管基极和发射极导通,LED点被亮,LED点亮个数函数流程图如图4.2所示,其中Voltage为采集到的电压,它的范围在实际中是可以通过设置参数改变的,增强系统的环境的适应能力。

图4.2LED点亮个数函数流程图

4.2.2时钟匹配模块程序

主程序以轮询的方式调用时间匹配模块,进行时间匹配,如果匹配系统将进入下一时间段,否则继续当前时间段,图4.3为该模块程序流程图。

图4.3时间匹配模块程序流程图

5系统调试

5.1系统硬件调试及问题分析

系统硬件设计制作完成之后,首先应该测试硬件电路。

首先检查系统电源是否接入硬件电路,各个元件管脚是否有虚焊,特别是发光二极管和极性电容的管脚是否正负极反接。

经过初步检查之后,就可以向系统接入电源,对系统硬件进一步进行调试。

电路连接好之后,我们可以向系统中下载硬件电路测试程序,经过实验,系统串口通信模块完全可以向单片机中下载程序,说明串口通信模块符合要求。

下载完系统硬件测试程序后,就可以检测系统LED光源亮度控制驱动电路。

经过运行硬件电路测试程序,LED光源亮度控制驱动电路运行结果与程序设计相符,但是LED不是很亮,说明驱动电流太小,为了解决此问题,更换一个驱动电流更大的NPN管,问题得到解决。

 

5.2系统软件调试及问题分析

系统硬件测试完之后,就可以进行系统软件调试。

我们将系统程序下载到单片机运行,发现系统在运行过程中,出现以下问题:

1.当前时间段剩余时间已经为零,系统却不进入下一时间段,估计是由于当时钟芯片时间与系统设置的时间完全匹配时,系统在执行其他的任务没有检测到,而造成的,因为时间精确到了秒,源程序如下:

if((st[k*3]==time_buf1[0])&&(st[k*3+1]==time_buf1[1])&&(st[k*3+2]==time_buf1[2])&&(st[k*3+3]==time_buf1[3]))

{

k++;

if(k==0x03)k=0x00;

time_buf1[0]=0x00;

time_buf1[1]=0x00;

time_buf1[2]=0x00;

ds1302_init();

ds1302_write_time();

fen();

}

其中time_buf1[0]为天数的值,time_buf1[1]为时钟的值,time_buf1[2]为分钟的值,time_buf1[3]为秒钟得值,将(st[k*3+3]==time_buf1[3])该条件去掉,重新测试,当前时间段一结束,系统成功进入下一时间段。

2.在设置系统参数时,按上翻/下翻键时,步长不稳定,有时为1,有时为2,估计问题原因是按键按一次,被检测到两次。

查看源程序,发现按键程序没有检测按钮是否释放,例如:

while(P3_1==0x00)

{

DelayUs(3);

fla5=0x01;

fen();

}

只要P3_1为低电平(按键按下),fen()会一直执行,结果执行了多次。

将程序改为如下:

while(P3_1==0x00)

{

DelayUs(3);

while(P3_1==0x00);

fla5=0x01;

fen();

}

只有P3_1从低电平变为高电平(按键松开),fen()才会被执行,从而达到了只执行一次的效果,问题得到解决。

3.在设置系统参数时,如果数值变化范围太大,要不断的按按键,设置的速度太慢,而且会影响按键的使用寿命。

为了方便调节,决定增加一个按钮,使程序中的一个标志在0和1两种状态之间变化。

当该标志为0时,按键长按和短按的效果一样,一定要按钮松开后参数才变化;当该标志为1时,按键短按时的步长为1,长按时数值连续变化,直到松开。

为了达到这种效果只要在按键检测程序前加一条判断语句判断一下该标志是0还是1就

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1