2017毕业论文-基于AT89C51单片机的蔬菜大棚温度湿度自动控制系统设计.doc_第1页
2017毕业论文-基于AT89C51单片机的蔬菜大棚温度湿度自动控制系统设计.doc_第2页
2017毕业论文-基于AT89C51单片机的蔬菜大棚温度湿度自动控制系统设计.doc_第3页
2017毕业论文-基于AT89C51单片机的蔬菜大棚温度湿度自动控制系统设计.doc_第4页
2017毕业论文-基于AT89C51单片机的蔬菜大棚温度湿度自动控制系统设计.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

湖南理工学院毕业设计论文摘 要蔬菜大棚温度湿度自动控制系统由主控制器AT89C51单片机、并行口扩展芯片8255、74LS373、A/D转换器0809、湿度传感器、温度传感器DS1820、固态继电器、RAM6264、掉电保护和LED显示器和报警电路等构成,实现对蔬菜大棚温湿度的检测与控制,从而有效提高蔬菜的产量。文中提出了具体设计方案,讨论了蔬菜大棚温湿度巡回检测与控制的基本原理,进行了可行性论证。给出了电路图和程序流程图并附有源程序。由于利用了单片机及数字控制系统的优点,系统的各方面性能得到了显著的提高。关键词:温湿度传感器;湿度传感器;快速检测;A/D转换器;LED显示器;报警电路;固态继电器;ABSTRACT Vegetables canopy temperature and humidity automatic control system consists of the main controller AT89C51 single-chip, parallel port expansion chip 8255,74 LS373 and A/D converter 0809, humidity sensor, the temperature sensor, solid-state relay, the DS1820 RAM6264, power fail safeguard and leds display and alarm circuit, etc .To achieve the vegetable greenhouse temperature and humidity testing and control, to improve the vegetables production.In this paper, the specific design, discussed the detection of vegetable greenhouses temperature and humidity and circuit control principle, carried out a feasibility demonstration.Schematic diagram is given together with source code and procedures.The use of the MCU and the advantages of digital control system, all aspects of the system performance is significantly improved.Keywords: temperature and humidity sensors; Humidity sensors; Rapid detection; A/D converter; The LED display; Alarm circuit; Solid state relays.目 录摘 要1ABSTRACT2目 录31 概述41.1 温室计算机控制的概况42 系统的硬件组成电路设计62.1 系统的硬件组成框图62.1.1 系统的工作原理62.2 系统主控制器部分设计62.2.1 AT89C51的工作原理62.2.2 AT89C51的复位电路82.2.3 AT89C51的引脚功能82.3 数据存储器的扩展102.4 LED显示器132.5 A/D转换接口142.5.1 A/D转换器的基本工作原理及器件简介142.5.2 ADC0809与AT89C51单片机的接口设计163 单总线接口193.1 单总线芯片的硬件结构193.2 单总线芯片的供电193.3 单总通信的ROM命令194 单总线数字温度传感器DS1820和湿度检测电路214.1DS1820 的主要特性214.2DS1820 内部结构214.3 DS1820的工作原理224.4 DS1820使用中注意事项224.5 湿度检测电路234.6 报警电路235 系统的软件设计255.1 设计方法255.2 主程序的分析与说明256 结 论26致 谢27参考文献28附 录291 概述1.1 温室计算机控制的概况温室环境测控,即根据植物生长发育的需要,自动调节温室内环境条件的总称。现代化温室,通过传感器技术、微型计算机及单片机技术和人工智能技术,能自动测控温室的环境,其中包括温度、湿度、光照、C02浓度等,使作物在不适宜生长发育的反季节中,获得比室外生长更优的环境条件,达到早熟、优质、高产的目的。在农业种植问题中,温室环境与生物的生长、发育、能量交换密切相关,进行环境测控是实现温室生产管理自动化、科学化的基本保证,通过对监测数据的分析,结合作物生长发育规律,控制环境条件,达到作物优质、高产、高效盼栽培目的。传统的环境测控管理采用模拟控制仪表和人工管理方法,工作效率低。随着微机技术的发展,逐步采用配置灵活、开放式结构、运算能力较强、高可靠性、完善的开发手段及具有数据处理、统计分析、打印报表等功能的测控系统所代替,取得了较好的经济效益。随着国民经济的迅速增长,现代农业得到长足发展,受控农业的研究和应用技术越来越受到重视,特别是温室工程已成为工厂化高效农业的一个重要组成部分。支持温室工程的相关技术,如温室环境复杂系统的建模技术与专家决策支持系统、温室环境智能测控技术研究与系统开发、温室环境调配工程技术与设施研究等已成为当前该领域的关键技术和研究热点问题。研究温室环境信息进行模拟、分析、预测,研究开发基于作物成长栽培环境的温室环境多因子智能化综合测控系统,研究高效生产的温室环境综合测控模式与配套设施等将是今后主要研究内容。目前,我国农业正处在从传统农业向以优质、高效、高产为目的的现代化农业转化的新阶段。农业环境控制工程作为农业生物速生、优质、高产手段是农业现代化的标志,农业设施的自动检测与控制是我国急待发展的项目。应用自动控制和电子计算机实现农业生产和管理的自动化,是农业现代化的重要标志之一。近年来电子技术和信息技术的飞速发展,带来了温室控制与管理技术方面的一场革命,随着“设施农业”、“虚拟农业”等新名称的出现,“设施园艺”、“虚拟温室”的概念也应运而生。温室计算机控制与管理系统正在不断吸收自动控制和信息管理领域新的理论和方法,结合温室作物种植的特点,不断创新,逐步完善,从而使温室种植业实现真正意义上的现代化、产业化。国内外温室计算机控制技术的发展状况计算机的发展最早可以追溯到上个世纪的40年代,但将计算机用于环境控制则开始于20世纪60年代。20世纪80年代初诞生了第一批温室控制计算机,此后温室计算机控制及管理技术便先是在发达国家得到广泛应用,后来各发展中国家也都纷纷引进、开发出适合自己的系统。这在给各国带来巨大的经济效益的同时,也极大地推动了各国农业的现代化进程。 温度监测预警系统是针对蔬菜大棚温度监测而设计,同时也可用于粮食仓储、冷库及烟叶发酵等场合的温度监测。塑料大棚是开发日光资源、充分利用太阳光能的主要形式之一,能避光、增产、保湿,为蔬菜生长创造一个良好环境。蔬菜大棚作为一个相对封闭的环境,其内部形成了一个小气候环境,良好的空气环境是蔬菜正常生长的重要条件。为了增产、增收,要注意大棚内部的气体、温度和湿度3个重要因素。气体主要是指棚内的二氧化碳的含量。当空气中的二氧化碳浓度提高到0.1%时,可使蔬菜的光合作用速率增加 1 倍以上,增产20%80%;若使二氧化碳浓度降至0.005%时,光合作用几乎停止。蔬菜生长的适宜温度为 2030。大棚内白天增温快,当棚外平均气温为 15时,棚内可达 4050。因此,要适时调节棚内温度,避免高温危害。塑料大棚经常处于密闭状态,蒸发量大大减小,内部湿度一般在80%90%,湿度过大极易导致病虫害的发生。现在对大棚内气体、温度和湿度的有效调节,主要是通过适时的通风来实现。二氧化碳含量过大和湿度过大都会导致温度升高。通过调节温度可以有效地控制二者的浓度。因此,对棚内温度的控制是非常重要的。本文介绍的分布式单总线蔬菜大棚温度监测预警系统,采用全数字化设计,直接监测每个棚内不同部分的温度,通过对温度的良好控制,有效地提高蔬菜的产量。2 系统的硬件组成电路设计2.1 系统的硬件组成框图本系统为一个全自动的蔬菜大棚温湿度巡回检测与控制系统,由以下几部分组成:AT89C51单片机,温湿度传感器,8255并行口电路A/D转换器变送器,驱动电路报警和显示电路组成,其接口部分包括单片机外扩展的数据存储器6264一片和地址锁存器74LS373,系统的组成如图1-1所示:图1-1 硬件组成框图2.1.1 系统的工作原理在应用程序的作用下,首先对8255进行初始化,设定工作方式0。PA口PB口PC口均为输出口,PA口PB口为显示输出,PC口为报警和相关设备驱动口。由于工艺决定,进大棚之前已经将湿度控制在安全限以内,测量过程是先温度后湿度的顺序,首先对温度进行采样,每一个温度点采样5次,计算平均值作为采样值送入显示和存储的相应单元进行存储和传感器的编号和温度的显示,然后判断温度是否超过设定温度,如果温度超标则报警并根据传感器的位置判断启动通风设备还是加热设备,如果不超标就继续检测下一个点的温度,知道整个大棚的多个点温度全部测试完成,然后计算和显示大棚的平均温度,然后对8个点的湿度进行测量并且显示,也是按照每个点测量5次然后取平均值的方法计算,来减少干扰因素带来的误差,8个点的湿度测量完成后计算并显示大棚的平均湿度。同样与设定的湿度值比较如果超标就报警,并启动风扇进行通风处理。然后系统返回再进行温度和湿度的巡回测量和显示。2.2 系统主控制器部分设计2.2.1 AT89C51的工作原理 1 CPU的结构 CPU是单片机内部的核心部分,是单片机的指挥和执行机构,它决定了单片机的主要功能特性。从功能上看,CPU包括两个基本部分:运算器和控制器。下面说明控制器和运算器。 1)运算器 运算器包括算术逻辑运算部件ALU、累加器ACCC、B寄存器、暂存寄存器TMP1和TMP2、程序状态寄存器PSW、BCD码运算调整电路等。 2)时钟电路AT89C51芯片内部有一个高增益反向放大器,用于构成振荡器。反向放大器的输入端为XTAL1,输出端为XTAL2。在TXAL1和XTAL2两端跨接由石英晶体及两个电容构成的自激振荡器,如图2-1所示。电容器C1和C2通常都取30pF左右,选用不同的电容量对振荡频率有微调作用。但石英晶体本身的标定频率才是单片机振荡频率的决定因素。其振荡频率范围是112MHz。图2-1 时钟电路本设计考虑系统的独立完整性,选用内部时钟方式,石英震荡频率选用12MHZ,ALE信号频率为2MHZ。2 I/O口结构:AT89C51单片机有4个8位并行I/O接口,记作P0、P1、P2和P3,每个端口都是8位准双向口,共占32根引脚。每一条I/O线都能独立地用作输入或输出。每个端口都包括一个锁存器(即特殊功能寄存器P0P3),一个输出驱动器和输入缓冲器,作输出时数据可以锁存,作输入时数据可以缓冲,但是这四个通道的功能完全不同。3 程序存储器及数据存储器1)程序存储器对AT89C51芯片来说,片内有4K字节ROM/EPROM,片外可扩展60K字节EPROM,片内和片外程序存储器统一编址。在程序存储器中,有6个地址单元被保留用于某些特定的地址,如下表2-1所示。2)数据存储器AT89C51数据存储器空间也分为内片和外片两大部分,即片内数据存储器RAM和片外数据存储器RAM。如何区别片内、片外RAM空间呢?片内数据存储器最大可以寻址256个单元,片外最大可扩展64K字节RAM,并且片内使用的是MOV指令,片外64K ROM空间专门为MOVX指令所用。4 定时器AT89C51单片机的内部有两个16位可变成定时器0(T0)和定时器1(T1),它们都有定时或是事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。表2-1 AT89C51的复位、中断入口地址 入口地址 说明 0000H复位后,PC=0000H 0003H外部中断 入口 000BH定时器T0溢出中断入口 0013H外部中断 入口 001BH 定时器T1溢出中断口 0023H串行口中断入口它们具有计数和定时两种工作方式以及四种工作模式。定时器T0具有方式0、方式1、方式2和方式3四种工作方式。T1具有方式0、方式1和方式2三种工作方式。5 中断系统AT89C51单片机有五个中断请求源。其中,两个外部中断源;两个片内定时器/计数器(T0、T1)的溢出中断源TE0和TF1;一个片内串行口接受或发送中断源RI或TI。这些中断请求分别由单片机的特殊功能寄存器TCON和SCON的相应位锁存。当几个中断源同时向CPU请求中断,要求CPU提供服务的时候,就存在CPU优先响应哪一个中断请求,于是一些微处理器和单片机规定了每个中断源的优先级别。2.2.2 AT89C51的复位电路AT89C51单片机通常采用上电自动复位和开关手动复位两种方式。本设计采用上电复位电路,所谓上电复位,是指单片机只要一上电,便自动地进入复位状态。在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用以复位。2.2.3 AT89C51的引脚功能AT89C51的40条引脚中,有2条专用于主电源的引脚,4条控制和其他电源复用的引脚,32条输入/输出引脚。如图2-3所示,下面介绍主要引脚的名称和功能:1)主电源引脚Vcc和VssVcc:接+5V电源。Vss:接电源地。2)时钟电路引脚XTAL1和XTAL2XTAL1:接外部晶体的一端。在单片机内部,它是反相放大器的输入端,该放大器构成了片内振荡器。在采用外部时钟电路时,对于HMOS单片机上,此引脚必须接地;对AT89C51单片机,此引脚作为驱动端。XTAL2:接外部晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端,振荡器的频率是晶体振荡频率。若采用外部时钟电路时,对于HMOS单片机上,该引脚输入外部时钟脉冲;对AT89C51单片机,此引脚应悬空。图2-2 复位电路图2-3 AT89C51主要引脚图3)控制信号引脚RST/、ALE/、和/RST/:复位/备用电源输入端。单片机商店后,只要在该引脚上输入24个振荡周期(2个机器周期)宽度以上的高电平就会使单片机复位;若在RST与Vcc之间接一个10F的电容,而在RST与Vss之间接一个8.2k的下拉电阻,则可实现单片机上电自动复位。4)输入/输出(I/O)引脚P0、P1、P2和P3P0.0P0.7:P0口是一个8位双向I/O端口。在访问片外存储器时,它分时提供低8位地址和作8位双向数据总线。在EOROM编程时,从P0口输入指令字节;在验证程序时,则输出指令字节(验证时,要接上拉电阻)。P0口能以吸收电流的方式驱动8个LSTTL负载。P1.0P1.7:P1是8位准双向I/O端口。在EPROM编程和程序验证时,它输入低8位地址。P1口能驱动4个LSTTL负载。P2.0P2.7:P2是8位准双向I/O端口。在CPU访问外部存储器时,它输出高8位地址,在对EPROM编程和程序检验时,它输入高8位地址。P2口可驱动4个LSTTL负载。P3.0P3.7:P3是8位准双向I/O端口。它是一个复用功能口,作为第一功能使用时,为普通I/O口,其功能和操作方法与P1口相同。作为第二功能使用时,各引脚的定义如下表。P3口的每一条条引脚均可以独立的定义为第一功能的输入输出或第二功能。P3口能驱动4个LSTTL负载。表2-2 功能表 口线 第二功能 P3.0RXD(串行口输入) P3.1TXD(串行口输出) P3.2(外部中断0输入) P3.3(外部中断1输入) P3.4T0(定时器0的外部输入) P3.5T1(定时器1的外部输入) P3.6(外部数据存储器“写”信号输出) P3.7(外部数据存储器“写”信号输出)2.3 数据存储器的扩展AT89C51片内喊有28字节的数据存储器RAM,主要用工作寄存器、堆栈、软件标志和数据缓冲器。对于简单的测控系统,用它存放运算的中间结果,容量是够用的。但是对于大量数据采集处理系统,则需要在片外扩展RAM。由于本设计采用大量温湿度传感器,所以一片AT89C51芯片是不够用的,所以要对AT89C51的数据存储器进行扩展,因此,选用6264数据存储器一片。6264可以直接和存储器的地址线并联,数据地址线也同样可以并联连接。6264的写选通信号信号连接到AT89C51的上,读选通信号连接到AT89C51的上,这样单片机就能把程序采集来的数据。经过变换最终转换成数字温度量存放到6264中,也可以6264中读取数据7,具体的连接如下图2-4所示:8255A中的控制寄存器很少,所以初始化程序设计简单。对于方式0,如果不要设定C口的联络信号,则只需要设置方式控制字;如果要设定C口的某些位为联络信号,则只需设置C口的位置/复位控制字。对于方式1和方式2,因为都要用到控制信号,所以必须设置两个控制字,即设置方式选择控制字和C口复位控制字。8255有40个引脚,下面根据功能分类说明。图2-4 AT89C51与地址6264的连接1) 数据线数据线有D7D0,PA7PA0,PB7PB0,PC7PC0,均为双向三态,其中D7D0与CPU数据总线相连,用于传递CPU与8255之间的命令和数据;PA7PA0,PB7PB0,PC7PC0,分别与A、B、C三个端口相对应,用于8255A与外设之间的传送数据。2) 寻址线寻址线、和,用于选择8255的三个端口和控制寄存器。:片选信号,输入,低电平有效。有效时表示选中本片。和:输入,通常与系统地址总县的和对应相连。当有效时,和的四种组合00、01、10、11分别选择A、B、C、口和控制寄存器,所以一片8255A共有4个I/O地址。3) 控制线:读信号,输入,低电平有效。当为低电平时,表示CPU对8255A进行读操作。:写信号,输入,低电平有效。当为低电平时,表示CPU对8255A进行写操作。RESET:复位信号,输入,高电平有效。当RESET为高电平时, 8255A内部所有寄存器清零。各端口都自动设置为输入方式,24条I/O引脚均为高租态8。4) 电源和地线采用单一+5V电源。8255A的控制信号和传输动作之间的关系如表2-3所示表2-3 8255的控制信号和传输动作对应关系 传输说明0 0 00 0 10 1 00 0 00 0 10 1 00 1 11 0 1 10 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 11 1A口数据数据总线B口数据数据总线C口数据数据总线数据从数据总线A口数据从数据总线B口数据从数据总线C口数据从数据总线控制寄存器进入高阻态非法进入高阻态 8255A的引脚信号如图2-5所示:图2-5 8255A引脚AT89C51和8255A的接口:8255A可以直接与MCS-51总线接口,其接口电路如图2-6所示图2-7中,8255A的片选信号及口地址选择线A0、A1分别由AT89C51的P2.7和P0.1、P0.0经地址锁存后提供,所以,8255A的A口、B口、C口及控制口的地址分别为6000H、6001H、6002H、6003H。8255A的、分别与AT89C51的、相连,8255A的RESET与AT89C51的RST相连。都接到AT89C51的复位电路上。对8255初始化的程序如下:MOV A ,#80H ;置方式控制字 方式0MOV DPTR,#6003H 指向8255口地址MOVX DPTR A本设计采用8255的A口B口连接LED显示器,用C口进行报警和相应设备的启动,所以PA口PB口PC口的地址分别为6000H,6001H和6002H。图2-6 8255A和AT89C51的连接2.4 LED显示器 LED显示器的结构 LED显示器是由发光二极管显示字段的显示器件,也可称为数码管。其外形结构如图2-7所示,由图可见它由8个发光二极管(以下简称字段)构成,通过不同的组合来显示出09、A、B、C、D、E、F以及小数点“.”等字符。 图2-7 LED显示器的结构表2-4列出七段LED显示器(共阴极)显示的数字、字符和对应的段码关系。共阳极显示器的段码与共阴极显示器的段码是逻辑非的关系,所以对表2-4中的共阴极显示器的段码求反,即可得到共阳极显示器的段码。LED显示器的显示方法本设计显示需要使用2855和7位共阳极显示器的接口电路。8255的A作为位扫描口,经反向驱动器75452接显示器公共阴极;B口作为段数据口,经同相驱动器7407接显示器的各个阳极。表2-4 数字对应的段码表示字符 DP g f e d c b a段码(H)0123456789AbcdEFP.空格0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 00 1 0 1 1 0 1 10 1 0 0 1 1 1 10 1 1 0 0 1 1 00 1 1 0 1 1 0 10 1 1 1 1 1 0 10 0 0 0 0 1 1 10 1 1 1 1 1 1 10 1 1 0 1 1 1 10 1 1 1 0 1 1 10 1 1 1 1 1 0 00 0 1 1 1 0 0 10 1 0 1 1 1 1 00 1 1 1 1 0 0 10 1 1 1 0 0 0 10 1 1 1 0 0 1 11 0 0 0 0 0 0 00 0 0 0 0 0 0 0 3F065B 4F666D7D077F6F777C395E7971738000对于6位显示器,在AT89C51RAM存储器中设置7个显示缓冲单元70H76H,分别存放7位显示器的显示数据。8255的 A 口扫描输出总是只有1位高电平,即7位显示器中仅有1位公共阳极为高电平,其他位为低电平8255的B口输出相应位然后对其他6位巡回显示,如果小数点位固定可以通过对指定位进行置位或者清零来实现。2.5 A/D转换接口2.5.1 A/D转换器的基本工作原理及器件简介A/D转换器的种类繁多、特性各异。在设计数据采集系统、测控系统和智能仪器仪表时,应选择性能合适、性能价格比高的A/D转换器芯片。本设计选择的A/D转换器芯片为ADC0809。ADC0809是8路8位逐次逼近型A/D转换CMOS器件,在过程控制和机床控制等应用中,能对多路模拟信号进行分时采集和A/D转换,输出数字信号通过三态缓冲器,可直接与微处理器的数据总线相连接。ADC0809的内部结构原理图如图2-8所示,芯片的主要组成部分是一个8位逐次比较型A/D转换器。为了实现8路模拟信号的分时采集,片内设置了带有锁存功能的8路模拟选通开关,以及相应的通道地址锁存和图2-8 ADC0809原理图译码电路,可对8路05V的输出模拟电压进行分时转换,转换后的数据送入三态输出数据锁存器。ADC0809的主要特性如下:(1) 分辨率为8位。(2) 最大不可调误差小于。(3) 可锁存三态输出,能与8位为处理器接口。(4) 输出与TTL兼容。(5) 不必进行零点和满度调整。(6) 单电源供电,供电电压为5V。(7) 转换速率取决于芯片的时钟频率,时钟频率范围是:101280kHz。当时钟频率选为500 kHz时,对应的转换时间为128s。ADC0809芯片的引脚如图2-9所示,引脚功能说明如下;:8路模拟信号输入端。:8位数字量输出端。START:启动控制输入端,高电平有效,用于启动ADC0809内部的A/D转换过程。ALE:地址锁存控制输入端。ALE端可与START端接在一起,通过软件输入一个正脉冲,可立即启动A/D转换。CLK:时钟信号输入端。ADDA(ADDB、ADDC):8路模拟选通开关的3位地址选通输入端;其地址码与输入通路的对应关系如表2-5所示。图2-9 ADC0809内部结构图:供电电源输入端。(+):参考电压正端。():参考电压负端。表2-5 地址和通道的对应关系地址码ADDC ADDB ADDA对应的输入通道 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 IN0 IN1 IN2 IN3 IN4 IN5 IN6 1 1 1 IN72.5.2 ADC0809与AT89C51单片机的接口设计ADC0809与单片机AT89C51的硬件接口方式有:查询方式、中断方式和等待延时方式。采用中断方式不浪费CPU的等待时间,但是如果A/D转换时间较短,也可以用程序查询方式和等待查询延时方式。下面介绍两种最常用的方式:查询方式和中断方式。1) 查询方式ADC0809与单片机AT89C51的硬件接口如图2-10所示:图2-10 ADC0809与单片机AT89C51的硬件接口电路由于ADC0809具有三态输出数据锁存器,其8位数据输出端可以与数据总线相连。地址选通端ADDA、ADDB、ADDC分别与AT89C51地址总线的低三位、相连,用于选通中的某一个通道。由于ALE和START连在一起,ALE=START=,ADC0809在锁存通道地址的同时启动A/D转换。在读取A/D转换结果时。OE=产生的正脉冲信号用于打开三态输出锁存器。ADC0809的EOC信号与AT89C51的P1.0相连,作为A/D转换是否结束的状态信号供T89C51查询。采用查询方式分别对8路模拟信号顺序采样,并依次把A/D转换结果转存到数据存储区,其采样转换程序如下:MOV TEMPL0 ,#08H ;设置通道个数MOV R1 ,2AH ;置数据区首地址MOV DPTR ,#5000H ;指向通道0START: MOVX DPTR , A ;启动A/D转换 MOV R3 , #32 ;设置延时时间LOOP100:DJNZ R3 ,LOOP100 ;延时完成?TEST: NB P3.3 ,TEST ;标志位为1?不为等待 MOVX A ,DPTR ;取出A/D转换值 MOV R1 , A ;送入数据区 INC R1 ;指针加1 CJNE R1 ,#2FH, START;判断数据区满?2) 中断方式ADC0809作为AT89C51单片机的一个外部扩展并行口I/O口,口地址取决于所连接的中断口,选通通道取决于地址地位,中断方式的主要特点是将转换完成信号接在单片机的中断口上,转换完成A/D转换器发出信号单片机把它当作一个中断来处理。所以本设计中A/D转换器连接成查询方式。3 单总线接口3.1 单总线芯片的硬件结构对于单总线器件,为了使每个器件在适当的时候都能被驱动,他们与总线匹配的端口也必须具有开漏输出或三态输出的功能,正如上文所述,系统主设备的I/O端口也具有类似的结构,由于主机和从机都是开漏输出,在主设备的总线恻必须有上拉电阻,系统才能正常操作。此外,单总线器件通常采用3引脚封装,外型类似于小工率三极管,在三个引脚中有一个公共地端、一个数据输入/输出端和一个电源端,这个电源端可以为单总线器件提供外部电源,从而免除总线集中馈电。对于大多数采用总线集中供电的单总线器件,等效于在各期间内部有一个约5A的恒流充电源,从而使得单总线器件功耗较低。3.2 单总线芯片的供电单总线接口技术的另外一个显著特点是不需要使用独立的电路,所有的单总线芯片都可以通过单线寄生电源供电。下图对单总线寄生供电的原理进行了描述。在图3-1所示中,DQ引脚连接在单线总线上,整个器件的电源来自这条总线上挂接的主机,这种“偷电”式的供电又称寄生电源。当总线处于高电平时不仅经过二极管给芯片提供了电源,同时又给内部电容器充电而存储了能量;当总线变为低电平时二极管截止,芯片改由电容器供电,仍可正常操作,当然维持时间不可能太长。为了解决单总线供电不足问题,使用MOSFET将输入线的高电平强拉到5.0V,从而可以增加驱动电流。芯片提供了电源,同时又给内部电容器充电而存储了能量;当总线变为低电平时二极管截止,芯片改由电容器供电,仍可正常操作,当然维持时间不可能太长。为了解决单总线供电不足问题,使用MOSFET将输入线的高电平强拉到5.0V,从而可以增加驱动电流。图3-1 寄生电源供电3.3 单总通信的ROM命令下面简要地介绍各个ROM命令的功能,以及使用在何种情况下。1)搜索ROM(代码为FOH)当系统初始上电时,主机必须找出总线上所有从设备的ROM代码,这样主机就能判断出从机的数目和类型。主机通过重复执行搜索ROM循环(搜索ROM命令跟随着位数据交换),以找出总线上所有的从机设备。在每次执行完搜索ROM循环后,主机必须返回至命令序列的第一步(初始化)。2) 读ROM(代码为33H)该命令仅适用于总线上只有一个从设备(单节点)的情况。它允许主机直接读出从主机的64位ROM代码,而无需执行搜索ROM过程,如果该命令用于多节点系统,则必然发生数据冲突,因为每个从机设备都会影响该命令。3) 匹配ROM(代码55H)匹配ROM命令跟随64位ROM代码,从而允许主机访问多节点系统中某个指定的从机设备。仅当从机完全匹配64为的ROM代码时,才会响应主机随后发出的功能命令,而其他设备将处于等复位脉冲的状态。4)直访问ROM(代码CCH)主机能够采用该命令可时反问总线上的所有从机设备,而无须发出任何ROM代码信号,例如,如果单总线器件采用DS18B20传感器,主机通过在发出直访ROM命令后跟随准换温度命令【44H】,就可以同时命令总线上的所有DS18B20开始转换温度,这样大大节省了上机时间。值得注意的是,如果访ROM命令跟随的是读暂存器【BEH】的命令(包括其他读操作命令),则该命令只能应用于单节点系统,否则将由于多个节点都响应该命令而引起数据冲突。5) 单总线器件的ROM搜索Dallas公司的每片单片机器件都是具有唯一的64位注册码,他存储在只读储器(ROM)中,在单总线网络中注册码用于单总线系统主机对从机器件进行逐一寻址。如果单总线网络中从机器件的ROMID是未知的,可以通过ROMID搜索算法来找到该注册码单总线期间的ROM注册的数据格式如表3-1所示表3-1 单总线器件ROM注册码数据格式MSB64位ROM注册码LSB8位CRC校验码MSBLSB48位序列号MSBLSB8位家族码MSBLSB4 单总线数字温度传感器DS1820和湿度检测电路4.1DS1820 的主要特性 DS1820 有下列主要特性 : 1)只需一根 I/ O 线就能完成通信 ; 2)多个分散的 DS1820 可以共用一线进行通信; 3)不需外部元器件 ; 4)可以通过数据线供电 ; 5)检测温度范围为 - 55 + 125C ,精度在0. 5度 ; 6)用 9bit 数字量来表示温度 ; 7)每次将温度转换成数字量需 200ms ; 8)可定义一个不变化的温度设置为报警温度; 9)有 PR35 T 和 SSOP 两种封装型式。4.2DS1820 内部结构 DS1820 内部结构框图如图 4-1 所示。图4-1 DS1820内部结构图 由图4-1 可知 ,DS1820 由以下几部分组成: 1)64 位激光只读存贮器。在这里存放着每个 DS1820 的唯一的序号 ,开始 8 位是产品类型的编号(DS1820 为 10H) ,接着是每个器件的唯一的序号 ,共有 48 位 ,最后 8 位是前 56 位的 CRC 校验码这也是多个 DS1820 可以采用一线进行通信的原因。 2)温度传感器。它是将温度转化为数字量的关键部分。 3)DS1820 的存贮器。它由高速存贮器RAM和EERAM(高温TH和低温TL报警触发器)组成,数据首先写入高速存贮器 RAM 中 ,然后通过复制命令将数据写入 EERAM 中。高速存贮器 RAM 由8 个字节组成 ,头两个字节存放检测温度的值,0号 (LSB) 为存放温度的值,1 号 (MSB) 存放温度值的符号 ,如果温度为负 ,则1号存贮器全为1 ,否则全为0,这也是可用 9bit 来表示温度的原因。最低位先读出。若LSB最低位为1 ,则表示为0.5度 ,求值的方法根据MSB中的值将LSB中的二进制数求补再转换成十进制数除以 2 即得被测温度的值。表 2是温度和数字量的关系。第二和第三字节是从TH和TL中复制的值,当上电被更新;接下来两个字节没用 ,若读它应全为1 ;第六和第七字节为计数寄存器;最后一个字节为 CRC 校验。4.3 DS1820的工作原理 DS1820的引脚排列如图4-2所示。I/O位数据输入/输出端(即单线总线),它属于漏极开路输出,外接上拉电阻后,常态下呈高电平。是可供选用的外部+5V电源端,不用时需接地。GND为地,NC为空脚。图4-2 DS1820的引脚图DS1820测量温度时使用特有的温度测量技术,其测量温度框图如图4-3所示。内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以冲过门电路,而当达到某一设置高温时,振荡器的脉冲无法通过门电路。图4-3 DS1820测温原理框图4.4 DS1820使用中注意事项DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: 1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。 2)当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 3)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环4.5 湿度检测电路本例中采用8255来实现转换。EL7556由积分电路、基准电路、频率转换电路及频率电压(F/V)转换电路等组成,积分电路及R1、R2、C1用于产生一定频率的脉冲信号并从5脚送至8脚。调节R2可对该脉冲信号频率进行调整,从而使湿度传感器的线性和灵敏度处于较好状态;基准电路和频率转换电路可将湿度传感器的电容变化转换成频率变化,再经频率电压转换电路后从9脚输出与频率成线性的电压,然后经C3等滤波后送入A/D转换器,再进行A/D转换以将其转换成数字信号。本设计的湿敏传感器为MXS型电容式湿敏传感器,湿度为76%RH时的电容值为500pF,电容相对变化率为1.7 pF/%。当湿度为0%100%RH时,9脚输出的相应信号频率为01000Hz,精度为2%,F/V电路输出的电压为05V。调整时,可先设定湿度为5%RH,然后调节R2,使9脚输出100mV电压即可。主要特性:1)与MCS-51 兼容 ;2)4K字节可编程闪烁存储器;3) 寿命:1000写/擦循环;4)数据保留时间:10年图4-4 湿度传感器外观和内部结构图4.6 报警电路蜂鸣报警电路是的优点是能通过不断的发出声音使人便于及时断定线路的通断,发音元件主要就是蜂鸣器,只要将报警电路接到3-5V直流电源上就能产生3Hz左右的震荡声响,其电路如图4-5所示图4-5 报警电路5 系统的软件设计5.1 设计方法本温湿度控制系统在设计过程中,遵循的是稳定化、高效化、简单化、小型化的特点,最大限度提高

温馨提示

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

评论

0/150

提交评论