单片机控制温度Word文件下载.docx
《单片机控制温度Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机控制温度Word文件下载.docx(43页珍藏版)》请在冰豆网上搜索。
3.5LCD1602显示模块12
3.6驱动电路12
第4章系统软件的设计14
4.1主程序设计14
4.2温度检测14
4.2.1读取温度设计14
4.2.2温度数据处理设计16
4.3液晶显示器LCM160217
4.3.1LCM1602初始化17
4.4马达的控制21
第5章系统调试22
第6章总结与展望23
5.1总结23
5.2展望23
参考文献24
致谢25
附录A:
程序26
附录B:
元件清单42
附录C:
实物照片42
基于单片机AT89C52的大棚温度控制系统
摘要
蔬菜的生长与温度息息相关,对于蔬菜大棚来说,最重要的一个管理因素是温度控制。
温度不合适,蔬菜则停止生长或者生长速度减慢,从而造成不可估量的损失。
所以要将温度始终控制在适合蔬菜生长的范围内。
如果仅靠人工控制既耗人力,又容易造成误差。
为此,在现代化的蔬菜大棚管理中通常有温度自动控制系统,以控制蔬菜大棚温度,适应生产需要。
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
单片机具有体积小、集成度高、性能稳定、控制功能强、易扩展、低功耗、价格便宜等特点,所以单片机市场前景广阔。
本设计是通过单片机控制,来实现对蔬菜大棚温度进行自动控制。
系统以AT89C52单片机为基础,通过数字及模拟式对温度进行采集并检测,通过显示屏显示当前温度。
当采集到的温度高于系统设定值,马达将带动风扇的转动,实现自动控制大棚里的温度。
【关键词】大棚温度控制系统AT89C52DS18B20LCD1602直流马达
TheGreenhouseTemperatureControlSystem
BasedonAT89C52MCU
Abstract
Thegrowthofvegetablesandtemperaturearecloselyrelated,forvegetableshed,oneofthemostimportantmanagementfactoristhetemperaturecontrol.Temperaturenotappropriate,thenstopthevegetablegrowthorgrowthslowed,causingtheimmeasurableloss.Sowillalwayscontroltemperatureinvegetablegrowthfortherange.Ifonlyonartificialcontrolbothhumanconsumption,andeasytocausetheerror.Therefore,inmodernmanagementofvegetableshed,usuallywithtemperatureautomaticcontrolsystem,tocontrolthevegetablescanopytemperature,toadapttotherequirementsofproduction.
Singlechipmicrocomputersaremicrocomputerasanimportantbranch,isalsoavitalityofthemodel.Singlechipmicrocomputerhereinafterreferredtoasthesinglechipmicrocomputer,isparticularlyapplicabletocontrolfield,soitisalsocalledthemicrocontroller.Singlechipmicrocomputerwithsmallsize,highlevelofintegration,stableperformance,easytocontrolfunctionexpansion,lowpowerconsumption,pricecheapandsoon,sothesinglechipmicrocomputerwideprospectofmarket.
Thisdesignisthroughthesingle-chipmicrocomputercontrol,torealizethecanopytemperaturevegetablesforautomaticcontrol.SystembasedonsinglechipmicrocomputerAT89C52,throughthedigitalandanalogtemperatureinacquisitionanddetection,throughthescreenshowsthecurrenttemperature.Whenthecollectedtemperaturehigherthansystemsetting,motorswilldrivetherotationofthefan,andrealizetheautomaticcontrolthetemperatureoftheshelter.
【Keywords】TemperaturecontrolofthegreenhousessystemAT89C52DS18B20LCD1602DCmotor
第1章绪论
我国南方温度严热而漫长,只有大力推广大棚蔬菜的种植来满足人们日常生活对蔬菜的需要。
随着人们生活水平的日益增长,对蔬菜的要求也较高,对大棚蔬菜的温度控制就是一个重要因素。
温度过高,蔬菜就会停止生长或者糜烂。
本系统仿真就基于单片机AT89C52实现对大棚温度的自动化控制(实物焊接时则采用存储器更强大的AT89S52)。
用数字温度计DS18B20采集,将采集到的温度用显示屏显示,再根据采集到的温度作分析来控制马达的转或停,从而实现对大棚温度的控制。
1.1系统的概述
应用自动控制和电子计算机实现农业生产和管理的自动化,是农业现代化的重要标志之一。
近年来电子技术和信息技术的飞速发展,带来了温室控制与管理技术方面的一场革命,随着“设施农业”、“虚拟农业”等新名称的出现。
温度计算机控制与管理系统正在不断吸收自动控制和信息管理领域的理论和方法,结合温室作物种植的特点,不断创新,逐步完善,从而使温室种植业实现真正意义上的现代化,产业化。
国内外度计算机控制技术的发展善计算机的发展最早可以追溯到上个世纪的40年代,但将计算机用于环境控制则开始于20世纪60年代。
20世纪80年代初诞生了第一批温室控制计算机,此后温度计算机控制及管理技术便函先在发达国家得到广泛应用,后来各发展中国家也都纷纷引进,开发出适合自己的系统。
这在给各国带来了巨大的经济效益的同时,也极大地推动了各国农业的现代化进程。
本系统以AT89C52单片机为控制核心,主要是为了对蔬菜大棚内的温度的检测与控制而设计的。
该测控仪具有检测精度高、使用简单、成本较低和工作稳定可靠等特点,所以具有一定的应用前景。
1.2系统的要求
本系统通过单片机AT89C52控制,用DS18B20数字温度计采集温度。
通过LCD1602液晶显示屏显示当前温度,当检测到温度高于系统设定温度值,马达将带动风扇的转动,实现自动控制降低大棚里的温度。
本设计将实现大棚温度的自动化控制。
用protues7.7仿真软件绘制电路原理图,再根据电路原理图焊接电路板。
1.3系统的主要模块
1.3.1本系统的主要组成部分
本系统为一个全自动温度检测与控制系统,由以下几个部分组成:
AT89C52单片机,复位电路,温度检测电路,显示电路,马达。
组成图如图1-1。
图1-1温度自动控制主要组成部分
由图1-1所示,本系统的核心部分是AT89C52,此芯片是该电路的枢纽。
由它先控制着温度的检测,用检测到的温度实现马达的自动控制,以及显示。
若检测到的温度高于设定的值则驱动马达转动。
1.3.2各部分的功能
AT89C52单片机:
它是系统的中央处理器,担负着系统的控制和运算。
温度检测装置:
DS18B20数字温度计对大棚内温度进行采集,将温度转换成数字。
显示设备:
主要是用于显示检测到的大棚温度。
马达:
主要用于带动风扇的转动。
按键电路:
设置系统时间和参考温度值。
1.3.3工作原理
首先对硬件系统端口定义,DS18B20定义端口为P1.7,P0口控制液晶LCM1602的显示,定义端口P3.7为马达控制端口。
首先对温度采集,将采集到的温度转换数字,采集到的温度由LCM液晶显示屏显示。
再将采集到的温度与系统设定温度值进行比较,而控制P3.7的电平输出。
第2章设计的理论基础
整个控制系统分为硬件电路设计和软件程序设计两部分。
根据系统具体要求,可以对每一个具体部分进行分析设计。
但要实现对各部分的设计,需要充分了解各部分的理论基础。
本设计系统的基本组成单元包括:
单片机控制单元,复位电路,按键电路,DS18B20温度检测电路,LCD1602显示电路,直流马达。
本章将逐一进行介绍。
2.1AT89C52的工作原理
2.1.1CPU的结构
CPU是单片机内部的核心部分,是单片机的指挥和执行机构,它决定了单片机的主要功能特性。
从功能上看,CPU包括两个基本部分:
运算器和控制器。
下面说明控制器和运算器[1]。
运算器包括算术逻辑运算部件ALU、累加器ACCC、B寄存器、暂存寄存器TMP1和TMP2、程序状态寄存器PSW、BCD码运算调整电路等。
为了提高数据处理和位操作能力,片内设有一些专用的寄存器,而且还增强了为处理逻辑电路的功能。
在进行位操作是,进位位CY作为位操作累加器,整个位操作系统构成一台布尔处理机。
2.1.2CPU的结构I/O口结构
AT89C52单片机有4个8位并行I/O接口,记作P0、P1、P2和P3,每个端口都是8位准双向口,共占32根引脚。
每一条I/O线都能独立地用作输入或输出。
每个端口都包括一个锁存器,一个输出驱动器和输入缓冲器,作输出时数据可以锁存,作输入时数据可以缓冲,但是这四个通道的功能完全不同。
在无片外扩展存储器的系统中,这四个端口的每一位都可以作为准双向I/O端口使用,在具有片外扩展存储器系统中,P2口送出高8位地址,P0口为双向总线,分时送出低8位地址和数据的输入/输出。
2.1.3程序存储器
程序存储器用于存放编好的程序和表格常数,通常该区域具有不同的保护措施,以防止该区域的内容被破坏。
程序存储器通过16位程序计数器寻址,寻址能力为64K字节。
这似的能在6K地址空间内任意寻址,但没有指令使程序能控制从程序存储器空间转移到数据存储空间。
对AT89C52芯片来说,片内有4K字节ROM/EPROM,片外可扩展60K字节EPROM,片内和片外程序存储器统一编址。
在程序存储器中,有6个地址单元被保留用于某些特定的地址。
如表2.1所示:
表2.1AT89C52的复位、中断入口地址
入口地址
说明
0000H
复位后,PC=0000H
0003H
外部中断入口
000BH
定时器T0溢出中断入口
0013H
001BH
定时器T1溢出中断口
0023H
串行口中断入口
数据存储器用于存放运算的中间结果、数据暂存和缓冲以及标志位等。
AT89C51数据存储器空间也分为内片和外片两大部分,即片内数据存储器RAM和片外数据存储器RAM。
片内数据存储器最大可以寻址256个单元,片外最大可扩展64K字节RAM,并且片内使用的是MOV指令,片外64KROM空间专门为MOVX指令所用。
2.1.4定时器
AT89C51单片机的内部有两个16位可变成定时器0和定时器1,它们都有定时或是事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。
它们具有计数和定时两种工作方式以及四种工作模式。
两个特殊功能寄存器用于确定定时器/计数器的功能和操作方式。
定时器T0的核心是一个加1计数器,它由8位寄存器TH0和TH1组成,可被变成为13位、16位、两个分开的8位等不同的结构。
计数器的输入脉冲源可以是外部脉冲源或系统时钟震荡器,计数器对着两个输入脉冲之一进行递增计数。
定时器T0具有方式0、方式1、方式2和方式3四种工作方式。
T1具有方式0、方式1和方式2三种工作方式。
不管是定时工作方式还是计数方式,定时器T0和T1在对内部时钟或对外部时间计数时,不占用CPU时间,除非定时器/计数器溢出,才可能中断CPU的当前操作。
由此可见,定时器是单片机中效率最高而且工作灵活的部件。
2.1.5中断系统
中断是指中央CPU正在处理某事情的时候,外部发生了某一事件,请求COU迅速去处理,于是,CPU暂时中断当前的工作,转入处理所发生的事件;
中断服务处理完成以后,再回到原来被中断的工作,这样的过程称为中断[2]。
AT89C52单片机有五个中断请求源。
其中,两个外部中断源;
两个片内定时器/计数器的溢出中断源TE0和TF1;
一个片内串行口接受或发送中断源RI或TI。
这些中断请求分别由单片机的特殊功能寄存器TCON和SCON的相应位锁存。
当几个中断源同时向CPU请求中断,要求CPU提供服务的时候,就存在CPU优先响应哪一个中断请求,于是一些微处理器和单片机规定了每个中断源的优先级别。
2.2单总线数字温度传感器DS18B20检测电路
由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。
这里采用DALLAS公司的数字温度传感器DS18B20作为测温元件。
2.2.1DS18B20简单介绍
DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。
DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。
温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
被测温度用符号扩展的16位数字量方式串行输出;
其工作电源既可以在远端引入,也可以采用寄生电源方式产生;
多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便[3]。
2.2.2DS18B20的性能特点
独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电。
温范围-55℃~+125℃,在-10~+85℃时精度为±
0.5。
零待机功耗。
可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
用户可定义报警设置。
报警搜索命令识别并标志超过程序限定温度的器件。
测量结果直接输出数字温度信号,以"
一线总线"
串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
以上特点使DS18B20非常适用与多点、远距离温度检测系统。
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列、各种封装形式如图4所示,DQ为数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源;
GND为地信号;
VDD为可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
2.2.3DS18B20的测温原理
DS18B20的测温原理,低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值[4]。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。
另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的各种操作必须按协议进行。
操作协议为:
初始化DS18B20→发ROM功能命令→发存储器操作命令→处理数据[5]。
2.3LCD1602液晶显示器
2.3.1LCD1602简介
字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,引脚定义如表2.2所示:
表2.2引脚接口说明表
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
3
VL
液晶显示偏压
11
D4
4
RS
数据/命令选择
12
D5
5
R/W
读/写选择
13
D6
6
E
使能信号
14
D7
7
D0
15
BLA
背光源正极
8
D1
16
BLK
背光源负极
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
引言:
近年来,随着大规模集成电路的发展,单片机继续朝快速,高性能方向发展,从位、8位单片机发展到16位,32位单片机。
单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。
单片机在家用电器业中应用得十分广泛:
例如全自动冼衣机、智能玩具;
除了上述传统领域外,汽车、电子工业在国外也是单片机应用十分广泛的一个领域。
它成本低、集成度高j功耗低、控制功能多、能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪器中的误差的修正、线性处理等问题。
本文设计的就是利用805l单片机进行管理和控制的,具有能采集并显示温度,对于超出范围的温度发出蜂鸣声警报的温度采集系统。
1系统设计
采用Intel公司生产的805l单片机作为主控制器进行对采集到的信号处理再输送给八段数码显示。
Intel公司生产的8051是一个低功耗,字长为8位的单片微型计算机,由中央处理器、片内128BRAM、片内4KBROM、两个16位的定时计数器、四个8位的I/O口(P0、Pl、P2、P3)、一个全双工的串行口、五个中断源以及时钟等组成。
它具有体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好。
本设计是以单片机为核心的最小温度采集系统。
它主要是采用热敏传感器采集温度并进行信号处理。
再经过A/D转换电路转换成数字信号后,送给单片机进行信号处理与计算。
计算的结果从显示台上显示出来。
。
本设计中模块的功能如下:
(1)温度采集电路:
将被测温度量经过温度传感器转换为供给A/D转换的电量。
(2)A/D转换电路:
是将电量转换成可供单片机识别接收的二进制数值。
(3)单片机:
对接收到的二进制数值按照设计目的进行相应的处理。
(4)显示器:
是将采集到的温度并经过单片机的处理完毕后的结果显示出来,让人们能看到此时此处的温度值。
1.1硬件电路设计
硬件线路如下图所示
由图可知,ADC0809输出部分直接与89C51的P1口相连;
ADC0809的CLOCK端与89C51的ALE相连;
P2.O与ADC0809的START和ALE脚相连;
ADC0809的OE端与P2.1相连,通过对P2.O和P2.1的置位,启动A/D和读取A/D转换结果;
P2