1、 届 别 学 号 毕业设计花卉培养亮度监控系统 姓 名 系 别、 专 业 导 师 姓 名、职 称 完 成 时 间 目 录摘要IABSTRACTII1 前言11.1 国内外研究动态11.2 论文研究的内容及可能出现的问题12 方案设计22.1 系统功能要求22.2 系统方案设计22.2.1 系统设计思想22.2.2 系统构成框图22.3 设计系统方案33 硬件电路设计实现43.1 信息处理单元模块(主控模块)43.2 系统亮度监测模块43.2.1 光电转换电路43.2.2 模/数转换电路53.3 电源模块63.3.1 USB供电63.3.2 稳压电路63.4 显示模块73.5 时钟模块73.6
2、串口通信模块83.7 光源亮度控制驱动模块93.8 提示电路103.9 按键模块104 系统软件编程的设计与实现104.1 系统主程序的设计114.2 各子模块软件设计与实现124.2.1 LED驱动模块程序124.2.2 时钟匹配模块程序135 系统调试135.1 系统硬件调试及问题分析135.2 系统软件调试及问题分析145.3 系统软硬件调试及问题分析155.4 系统PROTEUS下仿真图和实物图175.5 总结18参考文献20致 谢21附录22系统部分原理图22系统主程序框架22系统操作说明书24摘 要该论文的基本内容是研究如何解决花卉培养过程中的时间、亮度问题,用一个小系统模拟实际过
3、程中整个系统的工作原理。系统功能是在不同的时间段使外界环境的亮度智能控制在特定的范围之内,以便适用于不同花卉的培养。系统方案是通过单片机实现时间段的控制,亮度的自动调节。整个系统分为8个模块和5个显示界面,信息处理单元模块,系统亮度监测模块,串口通信模块,时钟模块,键盘模块,光源亮度驱动模块,显示模块,电源模块;主界面(显示当前时间段、外界亮度、以及下一时间段的设定的亮度值),1、2、3段时间长短设置界面,亮度设置界面;精度设置和手动模式设置界面以及信息浏览界面。本文主要介绍了系统的设计思想,方案设计,各硬件模块的实现、软件实现以及系统调试过程中出现的问题及解决方法。关键词:单片机;液晶显示;
4、LED驱动;亮度ABSTRACTThe basic content of the paper is to study how to solve the flowers develop in course of time, the brightness problem, a small simulation with the actual process of the whole system works. System function in different time periods so that the brightness of the external environment is
5、 intelligently controled in a specific range, in order for the cultivation of various flowers. Single chip system solution time by control, automatic brightness adjustment. The whole system is divided into eight modules and 5 display interfaces, the information processing unit module, the system bri
6、ghtness monitoring module, serial communication module, clock module, the keyboard module, light source intensity driver module, display module, power module; the main interface (display the current time section, the outside light, and set the next time the brightness value), set the length of 1,2,3
7、-time interface, the brightness setting interface; precision settings and manual mode interface, and information browsing interface. This paper describes the system design, program design, implementation of the various hardware modules, software and system debugging process problems and solutions. K
8、eywords: microcontroller; liquid crystal display; LED Driver; brightness II1 前言1.1 国内外研究动态近年来,世界花卉业以前所未有的速度增长,并远远超过世界经济发展的速度。2000年全球花卉消费总额高达1800亿美元,而1989年只有300亿美元;世界花卉贸易总额从1990年的65亿美元,猛增到2000年的近1000亿美元。素有“欧洲花园”之称的传统花卉发达国家荷兰,仅球根花卉的生产面积就达20720公顷,切花、盆花及观叶植物的生产面积也达8017公顷,总产值为35.9亿美元,平均每公顷产值达13.8万美元;新兴的花
9、卉发达国家哥伦比亚以其独特的气候优势大力发展花卉产业,其生产面积4757公顷,总产值为4.8亿美元,平均每公顷产值为10.0万美元。花卉业成为很多国家和地区农业创汇的支柱,真正显示其作为“效益农业”的作用和发展潜力。花卉生产向温室化、自动化发展,八十年代的能源危机,加之花卉比蔬菜需热量少,使世界上许多温室,首先是蔬菜温室退出经营,以香石竹、菊花代替。由于温室设备的高度机械化,微电脑自动调节温度、湿度和气体浓度,花卉生产在人工气候条件下实现了工厂化的全年均衡供应。新技术也不断的广泛应用,第一是节能的研究,如选用绝热性能好、透光率强、坚韧耐久的新建筑材料;研制增温快、保温强的新型温室;考虑太阳能、
10、沼气、天然气等加温措施;第二是,花卉育种快速多样化广泛引进野生花卉资源,利用杂交育种、多倍体育种、辐射育种等进行选育,现已开始运用体细胞杂交、基因工程等最新技术培育,新品种迅速增加。目前主要花卉的园艺栽培品种都在上千,甚至上万个。如荷兰全国有7个研究中心,专门从事花卉品种的研究,并在二战以后育成了大批的郁金香、风信子、水仙、唐菖蒲及球根鸢尾的新品种。我们有理由相信在不远的将来,有可能根据人们的意志来改变花卉的花色、形态、香味等。1.2 论文研究的内容及可能出现的问题该论文研究的目的是解决花卉培养过程中亮度和时间问题。主要研究如何通过单片机实现三个时间段的长短设置以及不同时间段系统将外界的亮度自
11、动调节在设置的范围之内,还有就是液晶1602显示的人机互动界面。可能出现的主要问题以及解决方法有:第一,外部亮度的采集,该问题可以通过用光敏电阻电路感应外界的亮度并通过模数转换芯片ADPCF8591转化为数字信号反馈给系统;第二,系统的供电系统,解决方法是外界输入市电,通过桥式整流电路,电容滤波电路,以及稳压电路设计的输出电源;第三,外部亮度的控制,解决方法是,系统时时将外界亮度数据采集进来和设定的亮度值进行比较,由此计算出亮灯个数,从而使外界亮度稳定在某个范围之内。2 方案设计本章根据性能指标进行方案论证,根据系统实现功能及性能指标,完成系统方案设计。2.1 系统功能要求在不同的时间段系统采
12、集外部光照强度,并根据采集到的数据控制LED(用LED灯的通断来模拟花卉培养时用的光源)的通断,达到调节光源发光亮度的目的,总共有3个时间段,要求时间段的长度和亮度都可调,液晶时刻显示外界的亮度值,系统的灵敏度可调,系统工作模式有两种,自动模式和手动模式,在自动模式下系统自己根据外界采集到的数据来控制亮灯的个数,而在手动模式人工手动决定亮灯个数,还可以查询系统已经设置好的参数。此外要求系统采用多个传感器。2.2 系统方案设计2.2.1 系统设计思想本系统采用单片机STC89C52作为本设计的核心元件,光敏电阻将外部光信号变化转换为电信号变化,再通过模数转换器转换为数字信号,通过单片机控制LED
13、的亮灯个数。根据上述系统设计思想的描述,系统构成框图如图2.1所示图中缺省电源模块图中每个模块都需要5V电压供电,其中显示界面是人机互动界面,串口通信模块是用来从上位机向单片机下载系统程序,时钟模块是为系统提供准确的时间。2.2.2 系统构成框图键盘模块信息处理单元模块(主模块)显示模块光源亮度驱动模块串口通信模块亮度监测模块时钟模块图2.1 系统构成框图2.3 设计系统方案根据上述系统实现功能的描述,具有自动控制功能的LED光源系统的设计方案可以细分为八大功能模块:1. 信心处理单元模块(主控模块)信心处理单元模块由单片机最小系统构成。该部分电路是整个系统的核心部分,接收背景亮度监测电路采集
14、的电信号,经过适当的信息处理(A/D转换),将采集到的数据与设置数据进行比较,然后判断并决定亮灯个数,从而达到调节外界亮度的效果。2. 系统亮度监测模块系统亮度监测模块由光敏电阻和A/D转换芯片构成。该亮度监测模块作为整个系统的输入部分,用于采集外部光照强度信号,并将其变化转化为电信号的变化,再通过模数转换,转化成单片机可以处理的数字信号。3. 电源模块该部分电路是整个系统的能源供给部分,为系统提供工作所需的5V直流稳压电源。4. 串口通信模块该部分电路是单片机与外部设备之间进行数据通信的主要途径,电路采用RS-232电平转换芯片MAX232与上位机连接。该电路在系统中的主要作用是用来从上位机
15、向单片机中下载系统程序。5. LED光源亮度控制驱动模块光源亮度控制驱动模块主要由电流驱动器和LED构成。该部分电路作为系统的输出部分,驱动LED发光。6.显示模块 用户界面显示系统的参数,以及设置系统参数时显示一些提示信息该信息包括3个时间段的剩余时间,外界亮度值,系统时间设置,传感器选择,系统精度设置等等。总之,就是提供一个人机互动界面。7.时钟模块时钟模块为系统提供准确的时间,使系统的时间更精确。主要是将时钟模块里的时间跟设置的时间做比较,确定当前段的剩余时间是否为0,是就进入下一时间段,否则停留在当前时间段。8.键盘模块从按键个数和程序复杂度方面综合考虑,本系统不采用矩阵键盘而采用按钮
16、直接给系统输入指令,按钮按下给系统输入一个低电平,系统检测到该信号并判断译码出是什么指令,然后执行相应的操作。3 硬件电路设计实现本章根据已完成的系统方案设计和系统构成框图,详细介绍各个电路模块元件的构成及实现的功能,完成系统硬件电路的设计等。3.1 信息处理单元模块(主控模块)在单片机应用系统开发过程中,单片机是整个设计的核心,因此选择合适的单片机型号很重要。根据实现系统功能需要的单片机硬件资源,在性能指标满足的情况下,该系统的单片机型号选择8051系列的STC89C52芯片。STC89C52系列单片机是宏晶科技推出的新一代超强抗干扰、高速、低功耗的单片机,指令码完全兼容传统8051单片机,
17、12时钟/机器周期和6时钟/机器周期可任意选择。STC89C52具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择,可以满足系统在各个子模块程序之间的切换;STC89C52的运算速度可满足一般的设计要求;而且STC系列单片机支持ISP在线编程功能,可以不用昂贵的编程器。3.2 系统亮度监测模块系统亮度监测模块是整个系统的输入模块,由光电转换电路和模/数转换电路构成。3.2.1 光电转换电路1. 光敏传感器光敏传感器是利用光敏元件将光信号转换为电信号的传感器.它的敏感波长在可见光波长附近,包括红外线波长和紫外线波长。光传感器不只
18、局限于对光的探测,它还可以作为探测元件组成其他传感器,对许多非电量进行检测,只要将这些非电量转换为光信号的变化即可。光电检测方法具有精度高,反应快,非接触等优点,而且可测参数多,传感器的结构简单,形式灵活多样,因此,光敏传感器在检测和控制中应用非常广泛。根据系统参数和器件性价比,我们选择常用的光敏电阻GL5549。2. 光电转换电路光电转换电路图如图3.1所示,光敏电阻与电阻R串联,经限流电阻与模/数转换电路连接,光照越强,光敏电阻阻值越小,则光电转换电路输出电压越大,反之越小,图中包含4个光电转换电路。图3.1光电转换电路3.2.2 模/数转换电路模/数转换电路,我们采用PCF8591模/数
19、转换芯片将光电转换电路输入的模拟信号转换为数字信号。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.5V6V;通过I2C总线完成
20、数据的输入/输出;器件地址由3个地址引脚决定;采样频率由I2C总线传输速率决定;4路模拟量输入可编程为单端输入或差分输入;可配置转换通道号自动增加功能;模拟电压范围为VSSVDD;片上跟踪保持功能;8位逐次逼近A/D转换;带有一路模拟量输出的乘法D/A转换。2模/数转换电路接线图如下图所示(四路输入信号):图3.2 PCF8591转换电路IN1、IN2、IN3、IN4四个通道分别接光电转换电路的四个输出,该模块将四路模拟信号转换为单片机可以处理的数字信号。3.3 电源模块电源电路的设计在整个系统占有重要的地位,它的技术指标会影响到整个系统的性能,如果电源的噪声、纹波比较大,那么在数据采集、信号
21、检测、信号放大等对噪声敏感的场合,系统的精度会有明显的下降,甚至不能正常工作,所以对电源有严格的要求。电源模块为整个系统提供工作所需的5V直流稳压电源。该系统电源供给设计有两种方案。3.3.1 USB供电由于电脑的USB口能提供稳定的5V直流稳压电源,我们可以直接采用电脑通过USB口向单片机系统供电,该方案简单方便,适用于系统调试时使用。3.3.2 稳压电路1. 稳压芯片L7805简介L7805是日本三洋公司生产的三端固定稳压集成电路,广泛应用于各种电器的电源电路中。L7805集成电路的引脚功能及数据如表3.1所示表3.1 L7805集成电路的引脚功能及数据引脚符号功能电压(V)1IN电压输入
22、122GND接地线端03OUT电压输出52. 典型稳压电路如图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完全一样.该显示器默认显示当前时间段的剩余时间以及当前环境的亮度值,以及下一时间段的亮度值,还有系
23、统的时间调节提示,系统的精度调节提示,系统传感器的选择提示,以及一些设置信息的浏览。图3.4为系统的1602的接线图,图中可变电阻R2用来调节液晶的显示背光亮度。3.4 液晶1602接线图3.5 时钟模块该系统采用时钟芯片1302,使系统的时间更精确。下面是时钟芯片1302的概述、工作原理、封装、以及引脚说明。DS1302 是DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31 字节静态RAM 通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式DS1302
24、与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线RES 复位I/O 数据线SCLK串行时钟时钟,RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信。DS1302 工作时功耗很低保持数据和时钟信息时功率小于1mW。要使时钟芯片1302工作,必须外接一个晶振,这里我们采用32KHz的外接晶振。为了防止系统掉电后DS1302停止工作,我们采用备用电池给它供电。图3.5为系统的时钟模块接线图,图中VCC为主电源,BT1为备用电池。图3.5 系统中1302接线图3.6 串口通信模块串行接口是单片机与外部设备之间进行数据通信的主要途径。51系类单片机提供了功能强大的全双工串行通
25、信接口,可以方便的实现多机通信或单片机与主机之间的通信。串口通信电路如图3.6所示。图中,51单片机的串行数据输出端口TXD连接到MAX232第一组收发器的输入端口T1 IN,用于向PC发送数据。串行数据输入端口RXD连接到MAX232第一组收发器的输出端口R1 OUT,用于接收PC串行输入的数据。PC的串行数据输入端口RXIN连接到MAX232第一组收发器的输出端口T1 OUT,用于接收单片机发送的串行数据,PC的串行数据输出端口R1IN连接到MAX232第一组收发器的输入端口R1IN,用于向单片机发送串行数据。图3.6 串口通信电路3.7 光源亮度控制驱动模块光源亮度调节驱动模块整个系统重
26、要的模块之一,用于控制LED亮的个数。电路由NPN三极管和高亮度LED构成。三极管的基级直接接到P1口的电平输出,如果是高电平则三极管发射极导通工作在放大状态,LED灯被点亮,否则不亮,起到开关的作用。图中与LED串联的电阻是用来调节LED灯的亮度,电阻阻值变大,LED亮度变小,电阻阻值变小,LED亮度变大,以便使系统更稳定。系统的LED灯接线图如下:图3.7 光源亮度调节驱动模块电路3.8 提示电路图3.8 提示电路提示电路采用蜂鸣器,由P20口直接驱动,在人机互动设置系统参数时起到提示的作用,提示操作成功。3.9 按键模块图3.9 按键按钮一端接地,一端直接接到I/O口,当按钮按下去时,I
27、O口接地,系统检测到低电平,并判断是哪个按键按下,然后进行相应的处理,为了防止勿按操作整个过程通过程序来进行消抖处理。4 系统软件编程的设计与实现硬件电路设计完成后的工作就是通过软件编程来实现系统的主要功能,也就是进行软件开发。对于电子系统,软件设计建立在具体硬件电路基础之上,系统功能的实现以及工作的可靠性不仅需要合理的硬件设计,很大程度上取决于功能完善、算法先进的软件设计。一个合理的软件设计能够充分发挥微控制器的运算和逻辑控制功能,可靠地实现系统的各种功能。本章主要介绍系统软件编程设计思路,并给出了各分模块的软件设计流程图和编程思想。4.1 系统主程序的设计系统软件部分设计采用模块化设计的方
28、法,把实现系统全部功能一个完整的大程序分解为几个功能相对独立的比较小的程序模块,对实现各个功能的程序模块分别进行设计、编程和调试,最后把各个调试好的程序模块联成一个完整的程序。模块化程序设计的优点是单个功能明确,设计和调试比较方便、容易完成。一个模块可以为多个程序所共享。在本系统单片机部分程序设计中,模块化编程的具体体现是把各个功能相对独立的模块作为子函数,即把程序设计成一个初始化子程序和一个大循环。主程序是一个不断循环检测结构。系统主程序流程图如图4.1所示。系统初始化开始调用时间匹配模块调用ADC转换模块驱动LED灯返回图4.1 系统主程序流程图当系统上电、初始化后,进入单片机控制的大循环
29、之中,调用A/D转换函数、调用电压转换函数、时间匹配模块、调用LED驱动函数,最后进入下一次循环。4.2 各子模块软件设计与实现4.2.1 LED驱动模块程序单片机控制LED灯通过控制P1口的高电平的个数来控制亮灯个数,P1口直接接到了三极管的基级,高电平使三极管基极和发射极导通,LED点被亮,LED点亮个数函数流程图如图4.2所示,其中Voltage为采集到的电压,它的范围在实际中是可以通过设置参数改变的,增强系统的环境的适应能力。NNNNY Y Y Y Y Y Y NNNNN开始Voltage0.440.44=Voltage0.886个LED发光5个LED发光4个LED发光3个LED发光2
30、个LED发光1个LED发光0个LED发光结束0.88=Voltage1.32e=1.321.32=Voltage1.761.76=Voltage2.202.20=Voltage2.642.64=Voltage图4.2 LED点亮个数函数流程图4.2.2 时钟匹配模块程序主程序以轮询的方式调用时间匹配模块,进行时间匹配,如果匹配系统将进入下一时间段,否则继续当前时间段,图4.3为该模块程序流程图。Y Y Y N N N 开始第一段时间结束没?第二段时间结束没?第三段时间结束没?结束图4.3 时间匹配模块程序流程图5 系统调试5.1 系统硬件调试及问题分析系统硬件设计制作完成之后,首先应该测试硬件
31、电路。首先检查系统电源是否接入硬件电路,各个元件管脚是否有虚焊,特别是发光二极管和极性电容的管脚是否正负极反接。经过初步检查之后,就可以向系统接入电源,对系统硬件进一步进行调试。电路连接好之后,我们可以向系统中下载硬件电路测试程序,经过实验,系统串口通信模块完全可以向单片机中下载程序,说明串口通信模块符合要求。下载完系统硬件测试程序后,就可以检测系统LED光源亮度控制驱动电路。经过运行硬件电路测试程序,LED光源亮度控制驱动电路运行结果与程序设计相符,但是LED不是很亮,说明驱动电流太小,为了解决此问题,更换一个驱动电流更大的NPN管,问题得到解决。5.2 系统软件调试及问题分析系统硬件测试完
32、之后,就可以进行系统软件调试。我们将系统程序下载到单片机运行,发现系统在运行过程中,出现以下问题:1.当前时间段剩余时间已经为零,系统却不进入下一时间段,估计是由于当时钟芯片时间与系统设置的时间完全匹配时,系统在执行其他的任务没有检测到,而造成的,因为时间精确到了秒,源程序如下:if(stk*3=time_buf10)&(stk*3+1=time_buf11)&(stk*3+2=time_buf12)& (stk*3+3=time_buf13) k+; if(k=0x03)k=0x00; time_buf10=0x00; time_buf11=0x00; time_buf12=0x00; ds
33、1302_init(); ds1302_write_time(); fen(); 其中time_buf10为天数的值,time_buf11为时钟的值,time_buf12为分钟的值,time_buf13为秒钟得值,将(stk*3+3=time_buf13)该条件去掉,重新测试,当前时间段一结束,系统成功进入下一时间段。2.在设置系统参数时,按上翻/下翻键时,步长不稳定,有时为1,有时为2,估计问题原因是按键按一次,被检测到两次。查看源程序,发现按键程序没有检测按钮是否释放,例如:while(P3_1=0x00) DelayUs(3); fla5=0x01; fen(); 只要P3_1为低电平(
34、按键按下),fen()会一直执行,结果执行了多次。将程序改为如下:while(P3_1=0x00) DelayUs(3); while(P3_1=0x00); fla5=0x01; fen(); 只有P3_1从低电平变为高电平(按键松开),fen()才会被执行,从而达到了只执行一次的效果,问题得到解决。3.在设置系统参数时,如果数值变化范围太大,要不断的按按键,设置的速度太慢,而且会影响按键的使用寿命。为了方便调节,决定增加一个按钮,使程序中的一个标志在0和1两种状态之间变化。当该标志为0时,按键长按和短按的效果一样,一定要按钮松开后参数才变化;当该标志为1时,按键短按时的步长为1,长按时数值
35、连续变化,直到松开。为了达到这种效果只要在按键检测程序前加一条判断语句判断一下该标志是0还是1就行。例如:while(P3_2=0x00)DelayUs(3);if(fla6=0x00)while(P3_2=0x00);light0+;fen();ShowChar(0x1c,light0/1000+0x30); ShowChar(0x1d,light0%1000/100+0x30); ShowChar(0x1e,light0%1000%100/10+0x30); ShowChar(0x1f,light0%10+0x30);其中fla6及为该标志,经测试,该功能成功实现。5.3 系统软硬件调试及
36、问题分析系统硬件和软件单独测试完之后,就可以进行系统软硬件调试。我们将系统程序下载到单片机运行,发现系统在运行过程中,LED发光会在某些点值上不停地闪烁,这种情况有以下两种情况引起:1. 系统所选择的光敏电阻太灵敏,对比较弱的光线都有反应;2. LED亮度不匹配,多亮一盏LED外界亮度值超过亮度值范围的最高值,该LED不亮,外界亮度值低于最低亮度值。为解决上述问题,估计可以采用以下几种方法:1.通过调节与LED灯串联的电阻使亮度适中,如图5.1中的R9,经测试,问题得到解决。图5.1 LED驱动电路2.通过设置系统里精度参数可以加大电压的波动范围。程序中与此有关系的程序如下: if(light
37、3)=0x06)fla1=0x05;kaiguan(fla1);DelayMs(200); else if(light3)lightk+fla4) fla1-;if(fla1=0xff)fla1=0x00;kaiguan(fla1);DelayMs(200);elsefla1=fla1;light3存储的值为外界的亮度值,lightk-fla4 为亮度值的最小值,lightk+fla4 为亮度值得最大值,我们只要改变fla4的值即可改变亮度值的波动范围,改变图5.2中的Pre参数即可,经试验问题得到解决。Cha Set: 01Pre Set: 01图5.2 系统设置界面3.可以通过设置选择其他
38、位置的传感器,图5.2中的Cha参数就是决定系统选用哪一通道的传感器,重新测试,问题得到解决。5.4 系统PROTEUS下仿真图和实物图模数转换芯片1602液晶显示时钟芯片蜂鸣器上拉电阻光敏传感器图5.3 系统仿真图图5.4 系统实物图5.5 总结该系统只是模拟现实系统的工作原理,用高亮度LED灯代替现实中的灯,如果要应用到实际中去的话,必须用继电器去控制灯的开与关,因为现实中的灯电压和电流肯定都比较大,三极管无法驱动。花卉培养亮度监控系统的功能都得以实现,包括三个时间段的控制,亮度的智能控制,人机互动界面的显示,手动模式和自动模式的实现以及手动选择传感器的方案,完全符合当初的系统功能设计要求
39、。缺点就是掉电后,系统的参数和数据会丢失,下次开机需重新设置系统参数。解决办法是添加一个存储模块,将系统的参数及一些用户数据存及时存进去,每次开机时系统都从存储芯片中读取系统的参数和用户数据。还有一个重要的问题就是,该设计没有经过老化测试、系统的稳定性测试,在一些复杂的环境(高低温、高压)下,一些芯片和元器件可能无法正常工作,导致系统无法正常工作。从设计、编程到做出实物成品整个过程还算顺利,但是也出现了不少小问题,通过与同学探讨和向老师请教,各个小问题都逐一得到解决,其中的一些主要问题都在本章进行了详细的分析,以及解决办法。这个过程使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的
40、,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。参考文献1 蔡美琴.MCS-51系列单片机系统及其应用(第二版)M.北京:高等教育出版社,2004.2 胡学海主编.单片机原理及应用系统设计M.北京:电子工业出版社,2005.3 赵继文主编.传感器与应用电路设计M.北京:科学出版社,2002.4 松井邦彦.传感器实用电路设计与制作M.2005.5 黄继昌主编.电子元器件应用手册M.北京:人民邮电出版社,2004.6 雷丽文 等.微机原理与接口技术M.北京:电子工业出版社,1997.2.7 谭浩强.C语言(第三版)M.北京:清华大学出版社,20
41、05.8 康华光.电子技术基础模拟部分(第五版)M.北京:高等教育出版社,2006.1.致 谢本论文是在张宁丹老师的悉心指导和热情关怀下完成的。张宁丹老师渊博的学识、严峻的治学态度及随和的为人之道给我留下了难以磨灭的印象,他为人随和热情,治学严谨细心。在闲聊中他总是能像知心朋友一样鼓励你,在论文的写作和措辞等方面他也总会以“专业标准”严格要求你,从选题、定题开始,一直到最后论文的反复修改、润色,张老师始终认真负责地给予我深刻而细致地指导,帮助我开拓研究思路,精心点拨、热忱鼓励。正是张老师的无私帮助与热忱鼓励,我的毕业论文才能够得以顺利完成,这将使我终身受益,同时张宁丹老师在生活上也给了我极大的
42、鼓励和帮助。为此,我要对他致以最衷心的感谢.在本科学习的四年中,我与同学建立了深厚的友谊,他们在我遇到困难时无私地伸出援助之手,对他们的帮助我特别感谢。最后,对关心、支持我的亲人和老师致以最衷心的感谢。附 录系统部分原理图系统主程序框架void main()InitLcd();/1602初始化ds1302_init();/时钟芯片初始化ds1302_write_time(); /写入时间ds1302_write_byte(ds1302_sec_add,0x00);/时钟停止while(1)if(fla=0x00)/主界面 maindisplay();/显示elseif(fla=0x01) /设
43、置第一段时间的参数 elseif(fla=0x02)/第二段时间的参数设置 elseif(fla=0x03)/第三段时间的参数设置 elseif(fla=0x04)/传感器选择、精度设置 elseif(fla=0x05)/手动模式 else /设置信息浏览 while(P3_0=0x00) /模式切换DelayUs(3);while(P3_0=0x00);fla+;fen();if(fla=0x07)fla=0x00;biao=0x00;WriteCommand(0x0c);/关光标显示while(P3_7=0x00) /返回键DelayUs(3);while(P3_7=0x00);fla=0x00;biao=0x00;WriteCommand(0x0c);/关光标显示fen();while(P2_1=0x00)/快慢切换DelayUs(3);while(P2_1=0x00);fla6=!fla6;fen();系统操作说明书26