当前位置:文档之家› 花卉温室温控系统课程设计

花卉温室温控系统课程设计

花卉温室温控系统课程设计
花卉温室温控系统课程设计

单片机原理与应用

课程设计报告

题目:花卉温室温控系统设计

学院:工程技术学院

班级:

学号:

姓名:

联系方式:

指导教师:

报告成绩:

2015年 01月03日

前言

在某些工业生产过程中,如自动控制系统、恒温炉、花卉种植、小型温室等领域都对温度有着严格的要求,需要对其加以检测和控制。传统的温度测量方法是将温度传感器输出的模拟信号放大后送至远端A/D转换器,最后单片机对A/D转换后的数据进行分析处理。这种方法的缺点是模拟信号在传输的过程中存在损耗并且容易受到外界的干扰,导致测量的温度精度不

高。

而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加准确。数字温度传感器DS18B20只用了个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。采用单片机控制不仅具有控制方便,简单和灵活性大等优点,从而能够大大的提高产品的质量和数量。

关键性元件:80C51,DS18B20,按键等元件。

尽管如此,我认为设计一个花卉温室温控系统,不论是从学习还是实践的角度,对一名电子信息工程专业的大学生都会产生一些积极地作用,有利于提高对学习的热情。

目录

第一章绪论

1.1课题的背景和意义 (1)

1.2单片机的前景与未来 (1)

1.3温度测控技术的应用 (3)

第二章温度传感器的介绍

2.1 传感器原理及前景简介 (8)

2.2 温度一体化传感器在现实生活中的应用 (9)

2.3 温度传感器DS18B20 (10)

2.3.1 DS18B20简介 (11)

2.3.2 DS18B20的引脚结构及说 (12)

第三章硬件设计

3.1 方案设计 (13)

3.2 硬件电路设计 (13)

3.3 基于80C51的单片机小系统 (14)

3.4 温度采集模块 (15)

3.5 显示模块 (16)

第四章软件部分设计

4.1软件设计……………………………………………………

4.2主程序及各模块程序……………………………………

4.3系统仿真………………………………………

4.4 主程序....................................

第五章设计总结 (35)

第六章参考文献 (36)

第一章绪论

1.1选题背景和意义:

经过这几天的课程设计及在网上的查询了解到,温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同美国,日本,德国等先进国家相比,仍然有较大的差距。目前,在精密测量和精密加工中,环境因素是影响精度的主要因素之一,其中的温度是环境的主要指标。

当前,已经开发了很多的温度测量系统,一些高精度温度传感器的精度可达到±0.01℃,然而价格非常昂贵一般只作为高分辨力的精度测量和用作测温仪器的标准。而对于生产应用中的较低精度温度测量系统,现有的系统多采用了与计算机直接结合的工作模式,增加了系统的成本。鉴于目前的情况,我们提出以价格低廉的单片机作为控制核心,以多个温度传感器作为测量元件,构成了低成本的智能温度测量系统。

在该系统中,根据测量空间或设备的实际需要,由多路温度传感器对关键温度点进行测量,由安装于仪器内的单片机对各路数据进行循环检测、存储,实现温度的智能测量。该系统具有与计算机的通讯功能,在长时间数据采集完成后,可以将数据在传送到计算机进行相关的研究分析。因此,该系统即具有现有的计算

机控制的智能测量功能,又节省硬件成本。另外,我们所设计的智能温度测量系统外形尺寸小,即可用于实验室环境温度的测量,又可用于仪器、大型设备等的内部环境测量。

1.2 单片机的前景与未来:

单片机现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。所以,学习单片机在我国是有着广阔前景的。

1.3温度测控技术的应用:

温度自动测控系统借助于温度传感器,测量大楼,大棚内等的温度数据,并对大棚等实现温度控制。系统采用以可编程序控制器为核心,配置以各类温度传感器,外围接口电路,由可编程序控制器检测个传感器的信号,完成实时数据采集,开关量处理,超限报警信号检测与输出等,并根据采集的信号来控制前端设备的运转。可编程序控制器是一种工业环境下应用的智能控制器件。可用于执行逻辑运算,顺序控制,定时,计数和算术操作等指令,并通过数字或模拟的输入输出方式控制各种类型的仪器设备。可编程序控制器还具有通信,联网等功能,它的应用范围大致介于继电器控制装置与过程控制的计算机之间,它也可在一个大型的集散控制系统中,作为前端控制装置,在上位机的统一调度下工作。测量温度时,温度传感器把温度信号转变为电量,为与可编程序控制器连接,测量的电信号应转化为工业标准信号0-5V或4-20mA。

第二章温度传感器的介绍

2.1 传感器原理及前景简介:

传感器是能感受(或响应)规定的被测量并按照一定规律转换成可用信号输出的器件或装置。通常由直接响应于被测量的敏感元件和产生可用信号输出的转换元件以及相应的电子线路所组成。

传感器的前景可以从以下几方面来看:采用新原理,开发新型传感器;大力开发物性型传感器;传感器的集成化;传感器的多功能化;传感器的智能化(Smart Sensor)。

2.2 温度一体化传感器的应用:

适用于通讯机房,办公室,厂矿,车间,仓库,医院,档案馆,博物馆,暖通空调,楼宇自控等环境的温度测量。温度一体的传感器节省资源,便于温度的测量和对湿度补偿,同时为保证结果真实可靠。

2.3 温度传感器

本设计利用单片机结合传感器技术而开发设计了这一温度控制系统,文中传感器与单片机实际应用有机结合,简单讲述了利用新芯片探测环境温度的过程,以及实现模数转换的原理过程。

2.3.1 DS18B20简介

(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(2)在使用中不需要任何外围元件。

(3)可用数据线供电,电压范围:+3.0~+5.5 V。

(4)测温范围:-55 ~+128 ℃。固有测温分辨率为0.5 ℃。

(5)通过编程可实现9~12位的数字读数方式。

(6)用户可自设定非易失性的报警上下限值。

(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。

(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

2.3.2 DS18B20引脚结构及说明

引脚说明: GND :接地。

DQ :数据输入/输出脚。

VDD :外接供电电源输入端(在寄生电源接线方式时接地)。

DS1820通过一个单线接口发送或接收信息,因此在中央微处理器和DS1820之间仅需一条连接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。

因为每个DS1820都有一个独特的片序列号,所以多只DS1820可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。这一特性在HVAC 环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。

第三章 硬件设计

3.1 方案设计:

本系统采用了单片机80C51,利用数字温度传感器DS18B20对环境进行测温,同时采用MAX7219驱动六位4段共阴极数码管,同时还对温度上下限进行存储,此外还有键盘设备来实现温度上下限值的设置,红灯报警温度的越线。总体硬件结构框图如图1.1所示。

3.2 硬件电路设计 (1)最小化电路设计 主控芯片要能正常工作,首

先要提供电源,除其次要有晶振

电路提供时钟脉冲信号,除此之外还要有复位电路使单片机或系统其它部件处于某种确定的初始状态,最后还要是单片机有程序。(2)单片机

工作需要3个基

本条件:接电源、接石英晶体

振荡器和复位电路、单片机内装入程序,如下图2.2所示。

①接石英晶体振荡器:

将单片机第19脚(XTAL1)与18脚(XTAL2)分别接外部晶体的两个引脚,由石英晶体组成振荡器,保证单片机内部各部分有序工作。单片机运行程序的速度与振荡器的频率有关。单片机在读、写操作时都需要消耗一定的时间。机器周期是指单片机完成一个基本操作所用的时间,当外接石英晶体为12MHz 时,1个机器周期为1ms ;当外接石英晶体为6MHz 时,1个机器周期为1ms 。②复位电路:

89C51 晶振及复位按键 排阻

报警电路

温度传感器 LED 显示

图 1.1 系统硬件结构

9脚接复位电路,在实际应用中,复位电路有两种基本形式:一种是上电复位,另一种是上电与按键均有效的复位。上电复位要求接通电源后,单片机自动实现复位操作。常用的上电复位电路如图 2.4(a)所示。上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。该电路典型的电阻和电容参数为:晶振为12MHz时,C1为10uF,R1为8.2KΩ;晶振为6MHz时,电容C1为22uF,R1为1KΩ。

上电与按键均有效的复位电路如图2.4(b)所示。上电与按键均有效的复位电路原理与上电复位原理相同,不同的是上电与按键均有效的复位电路在单片机运行期间,能用按键来控制复位操作晶振为6MHz时,

电容C1为22uF,R2为200Ω。

图2.4(a)上电复位电路图2.4(b)按键与上电复位

本设计中使用后者电路复位,就是可以在单片机运行期间可以人工的复位。这样是比较方便。

3.3 基于

80C51的

单片机小

系统

80C5

1单片机

属于MCS-

51系列单

片机,由

Intel公

司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(CMP)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP(Dual In Line Package),内有128个RAM单元及4K的ROM,80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用其来作为控制核心。

引脚功能:

P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1口:P1口是一个具有内部上拉电阻的8 位双向I/O 口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低

图2.2单片机的基本电路

的引脚由于内部电阻的原因,将输出电流(TTL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数和定时器/计数器2的触发输入。

P2口:P2 口是一个具有内部上拉电阻的8位双向I/O 口,P2输出缓冲器能驱动4个TTL 逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX A,@DPTR)时,P2口送出高八位地址。

P3口:P3口是一个具有内部上拉电阻的8位双向I/O 口,P3输出缓冲器能驱动4个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。

RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下, ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

80C51引脚分布图

3.4 温度采集模块

跟以往的采用A/D转换器进行温度测量不同的是,本系统采用的是一线协议器件DS18B20进行温度测量,测量的方法不同,温度采集不同。

(1) 测温原理

测温原理如下图1所示。

(2) DSl820工作过程及时序

初始化:

初始化ROM操作命令存储器操作命令处理数据单总线上的所有处理均从初始化开始。总线主机检测到

DSl8B20的存在便可以发出ROM操作命令之一这些命令如下:

ROM操作品令

时序

主机使用时间隙来读写DSl820的数据位和写命令字的位。 ◆ 初始化

初始化时序见图2主机总线to 时刻发送一复位脉冲(最短为480us 的低电平信号)接着在tl 时刻释放总线并进入接收状态DSl820在检测到总线的上升沿之后等待15-60us 接着DS1820在t2时刻发出存在脉冲(低电平持续60-240 us)如图中虚线所示

t1t2t3t4

t0

图2 初始化时序图

◆ 写时间隙

当主机总线t o 时刻从高拉至低电平时就产生写时间隙见图3图4从to 时刻开始15us 之内应将所需写的位送到总线上DSl820在t0后15-60us 间对总线采样若低电平写入的位是0见图3,若高电平写入的位是1,见图4,连续写2位间的间隙应大于1us 。

>1μs

60μs

t0

t1

t0

t1

图3写0时序 图4 写1时序

◆ 读时间隙

见图5主机总线t0时刻从高拉至低电平时总线只须保持低电平l7us 之后在t1时刻将总线拉高产生读时间隙,读时间隙在t1时刻后t2时刻前有效t2

距t0为15us 也就是说t2时刻前主机必须完成读位并在t0后的60us-120us 内释放总线。读位子程序(读得的位到C 中

)

>1μs

主机起作用DS18B20起作用上拉电阻起作用

图5 读时

温度采集电路

DS18B20工作可采用两种供电方式,外接供电电源供电和寄生电源供电。当DS18B20处于写存储器操作和温度A /D 变换操作时,总线上必须有强上拉。

(1)采用寄生电源供电

P2.0口接单线总线,为保证在有效

DS18B20时钟周期内提供足够的电

流,可用一个MOSFET管和

AT89S52的p2.0来完成对总线的上

拉。采用寄生电源供电方式

图6寄生电源供电

时VDD和CND端均接地。由于单

线制只有一根线,因此发送接收口必须是二态的。

(2)采用外部电源供电的方式

采用寄生电源供电,外部电源部连接到VDD,引脚如图7所示。

图7外部电源供电

3.5 显示模块

本系统显示电路用来显示温度上下限的值和通过DS18B20采集进来的实时温度值。

1 显示器简介

数码管具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境

要求低,易一于维护,同时其精度高,测量快,精确可靠,操作简单。数码显示是采用BCD编码显示数

字,程序编译容易,资源占用较少。

(1) 4段LED数码

LED是近似于恒压的元器件,到导电时(发光)的正向压降一般约为1.6V或2.4V,反向击穿电压一般

≥5V。工作电流通常在10---20mA,故电路中需要串联适当的限流电阻。发光强度基本上与正向电流成正比。发光效率和颜色取决于制造的材料,一般常用红色,偶尔也用于黄色或绿色。

(2) 发光二级管显示驱动(点亮)的方法

●静态驱动方法:即给欲点亮的LED通过恒定的定流。这种驱动方法需要显示的位数增加时,所需的逻

辑部件及连线也相应增加,成本也增加。

●动态驱动方法:是给欲点亮的LED通过脉冲电流,此时LED的脉冲电流倍数于其额定电流值。利用动

态驱动方法可以减少需要的逻辑部件和连线。

最常用的一种数码显示器是由7段条形的LED组成,如图8所示。点亮适当的字段,就可以出不同的数字。此外不少于7段数码管显示器在右下角带有一个圆形的LED作小数点用,这样一共有8段,恰好适用于8位的并行系统。

图8(a)为共阴极接法,公共阴极接地。当各段阳极上的电平为“1”时,该段点亮;电平为“0”时,段就熄灭。图8(b)为共阳极接法+5V电源。当各段阴极上的电平为“0”时,该段就点亮;电平为“1”时,段就熄灭。图中的电阻是限流电阻。

图8(a)共阴极接法

图8(b)共阳极接法

而本设计才用的是4段条形的LED组成。

2 驱动芯片简介

RESPACK-8(排阻)是MAXMI公司生产的一种串行接口方式7段共阴极LED显示驱动器。其片内包含有一个BCD码到B码的译码器、多路复用扫描电路、字段和字位驱动器,以及存储每个数字的8X8RAM。每位数字都可以被寻址和更新,允许对每一位数字选择B码译码或不译码。采用三线串行方式与单片机接口。电路十分简单,只需要一个10KΩ左右的外接电阻来设置所有LED的段电流。RESPACK-8(排阻)的引脚排列如下图所示。

排阻的功能是:起到上拉作用,上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时其限流作用,下拉同理。上拉是对器件注入电流,下拉是输出电流,强弱只是上拉电阻的阻值不同。第二是给单片机I/O一个高电平所学要的电流,起驱动能力。

排阻引脚图

排阻RESPACK-8与80C51单片机接口

第四章 软件部分设计

4.1.1DS18B20温度采集流程

如图 4.1所示,DS18B20先复位,然后跳过ROM 匹配,启动温度转换,准备读温度前再次复位DS18B20,然后再跳过ROM 匹配,读取温度值,返回。

图4.1 DS18B20 温度采集流程图

4.2 主程序及各模块程序

4.2.1报警装置程序设计(蜂鸣器及灯)

当温度值设置在温度上下限范围内(20~35摄氏度之间)时。报警模块(即蜂鸣器及报警灯)处于断开状态,即不发生报警;当温度高于所设定的温度上限值。

报警模块蓝色指示灯亮同时蜂鸣器响、且显示灯红灯亮,表示花卉温室温度值过高(已超于设定值35摄氏度);当温度低于所设定的温度下限值。报警模块蓝色指示灯亮同时蜂鸣器响、且显示灯黄灯亮,表示花卉温室温度值过低(已低于设定值20摄氏度)。

void BEEP()

{

DS18B20温度采集模块

DS18B20初始化

跳过ROM 启动温度转化

DS18B20初始化

跳过ROM 读取温度值 最后 返回

if(r>=high)

{

beep=!beep;

led1=0;

led2=1;

}

else if(r>low)

{

beep=0;

led1=1;

led2=1;

}

else if(r

{

beep=!beep;

led1=1;

led2=0;

}

4.2.2复位子程序:

ow_reset(void)//DS18B20 复位函数

{

char presence=1;

while(presence)

{

while(presence)

{

DQ=1;_nop_();_nop_();//从高拉倒低

DQ=0;

delay(50); //550 us

DQ=1;

delay(6); //66 us

presence=DQ; //presence=0 复位成功,继续下一步}

delay(45); //延时 500 us

presence=~DQ;

}

DQ=1; //拉高电平

}

4.3系统仿真

本系统采用PROTEUS仿真软件进行仿真。

4.3.1 仿真软件简介

Protues软件是英国Labcenter electronics公司出版的工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

仿真软件功能特点:作为一款EDA仿真软件,Proteus与同类软件有着很多的相似之处。相比之下,其主要的特点有两个:

(1) 实时动态仿真:

对动态元件的实时仿真,它对“人机对话”的模拟增强了系统的真实性;与多数仿真软件相似,Proteus 有着数量庞大的元件库。Labcenter公司与相关的第三方软件阵容共同开发了6000多个模拟和数字电路中常用的spice模型以及各种动态元件,基本元件如电阻、电容、各种二极管、三极管、MOS管、555定时器等;74系列TTL元件和4000系列CMOS元件;存储芯片包括各种常用的ROM,RAM,EEPROM,还有常见I2C器件等。在丰富的库元件的支持下,原理布图时只要进行相应的调用和连线,通过对每个元件的属性设置完成绘图,然后即可进行仿真和虚拟测量。

(2) 虚拟工具箱的功能:

虚拟工具箱,它能与仿真同时进行,测量方便而准确。Proteus的虚拟工具箱提供了电路测试中的常用工具和仪器,主要用于在实时仿真同时的电路参数观测,测量结果随仿真动态变化并显示,可以满足精度要求不是很高的测量分析,对于电路特性的定性分析可以起到事半功倍的效果,大大节约了测试时间和开发成本。

4.3.2 仿真过程

(1) 绘制原理图

绘制原理图要在原理图编辑窗口中的蓝色方框内完成。原理图编辑窗口的操作是不同于常用的WINDOWS应用程序的,正确的操作是:用左键放置元件;右键选择元件;双击右键删除元件;右键拖选多个元件;先右键后左键编辑元件属性;先右键后左键拖动元件;连线用左键,删除用右键;改连接再左键拖动;中键放缩原理图。

(2)加载仿真文件

在Protues软件中画好原理图后,然后双击主芯片A T89S52就会弹出如图4.1所示的对话框。然后再选择上面生成的*.hex文件。最后进行运行。

相关主题
文本预览
相关文档 最新文档