单片机温度控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

工程实训报告

单片机温度控制系统设

班级:

学号:

姓名:

实训日期:2008年11月24日至2008年12月12日

第1章单片机温度系统概述

1.1 引言

在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。

1.2 设计摘要

本文介绍了基于单片机AT89C51 的温度控制系统的设计方案与软硬件实现。采用温度传感器DS18B20 采集温度数据,液晶显示屏LCM1602 显示温度数据,

AT24C02B 存储温度上下限设定值,按键设置温度上下限并可改变加热器与致冷器的温控状态,当温度低于设定的下限时,单片机启动加热器加热,同时点亮绿色发光二极管,当温度高于设定的上限时,单片机启动致冷器降温,同时点亮红色发光二

极管。给出了系统总体框架、程序流程图和Proteus 仿真结果,并在硬件平台上实现了所设计的功能。

1.3 系统总体设计

系统主要包括单片机控制模块,温度采集模块,温度显示模块,温度上下限调

模块,电机驱动模块和外部存储模块等六大部分。系统总体框架如图1 所示。

第2章硬件电路设计

2.1 单片机控制模块

控制模块是整个设计方案的核心,它控制了温度的采集、处理与显示、温度上

下限值的设定与温度越限时电机的启动。

本文选用AT89C51 作为控制器件。它是美国ATMEL 公司生产的8 位Flash ROM 单片机。其最突出的优点是片内ROM 为Flash ROM,可方便地擦写1000 次以上,价格低廉,而且其指令丰富,编译工具多,仿真环境好。因此被广泛地应用于各种控制领域。本控制系统中AT89C51 与外围设备的连接关系如图2 所示:

由图2 可知,温度数据采集模块中温度传感器DS18B20 的DQ 端接P1.7;显示模块LCM1602的DB0~DB7 数据端口接P0.0~P0.7,数据命令选择端RS 接P2.0,读写选择端接P2.1,使能信号接P2.2;温度上下限调整模块包括模式切换、增加温度上下限值、减少温度上下限值、温控开关等四个功能,它们分别接P1.0~P1.3;外部存储模块为AT24C02B,其SCK、SDA 分别接P2.3 与P2.4;电机控制电路与P3.6 和P3.7 相连;XTAL1、XTAL2 接振荡电路,RST 接复位电路,EA 接高电平,

LCM1602 上的VO、RST 接电源+5V,GND 接地。

2.2温度数据采集模块

温度由DALLAS 公司生产的一线式数字温度传感器DS18B20 采集。DS18B20 测温范围为-55°C~+125°C,测温分辨率可达0.0625°C,被测温度用符号扩展的16 位补码形式串行输出。CPU 只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

DS18B20 内部有一个9 字节的高速存储器用于存储温度值。其中前两个字节是测得的温度数据,第1 字节的内容是温度的低八位,第2 字节是温度的高八位,第3 和第4 字节是温度上限 TH 与温度下限 TL 的易失性拷贝,第5 字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新,第6、7、8 这三个字节用于内部计算,第9个字节是冗余检验字节,可用来保证通信的正确性。当温度转换命令发出后,经转换所得的温度值以二字节补码形式存放在此存储器的第1 和第2 个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,其中高5 位是符号位,中间7 位是整数位,最低4 位是小数位。DS18B20 最大的特点是单总线数据传输方式,因此对读写的数据位有着严格的时序要求。时序包括:初始化时序、读时序、写时序。每一次命令和数据的传输都是从单片机启动写时序开始,如果要求DS18B20 回送数据,在进行写命令后,单片机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20 的时序及命令请参考文献[1]。

2.3 LCM1602

LCM1602 是2 行×16 个字符的字符型LCD 显示器,它由32 个字符点阵块组成,每个字符点阵块由5×7 或5×10 个点阵组成,可以显示ASCII 码表中的所有可视的字符。它内置了字符产生器ROM (Character Generator ROM,CGROM)、字符产生器RAM (CharacterGenerator RAM, CGRAM)和显示数据RAM(Data Display RAM, DDRAM)。CGROM 中内置了192个常用字符的字模,CGRAM 包含8 个字节的RAM,可存放用户自定义的字符,DDRAM 就是用来寄存待显示的字符代码。DDRAM 地址与显示位置的对应关系以及LCM1602 的指令与读写时序可参考文献[2]。

2.4外部存储模块

外部存储模块采用美国ATMEL 公司生产的低功耗CMOS 型E2PROM 器件

(大于10000 次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。它采用了I2C 总线规程,使主/从机双向通信。主机通过SCL 引脚产生串行时钟信号并发出控制字,控制总线数据传送的开始、方向和停止。无论是主机还是从机,接收到一个字节后必须发出一个确认信号。AT24C02B 占用很少的资源和I /O 线,并且支持在线编程,数据实时存取十分方便。AT24C02B 的读写时序及控制字见参考文献[3]。

2.5 温度上下限设置模块

温度上下限设置模块包括四个按键:

(1)模式切换键:进行模式之间的切换,模式包括设置温度上限模式、设置温度下限模式,每次按下该键就在这两种模式之间切换。

(2)温度上下限增加键:增加温度上下限的值。

(3)温度上下限减少键:减少温度上下限的值。

(4)温控开关键:是温控与非温控之间的切换键。它用于设置是否进行温度控制即是否让越界的温度值触发加热器或致冷器的启动。

2.6 控制电路模块

该部分电路有光耦合元件4N25、继电器、三极管,若干电阻等构成。这部分电路的主要作用是光电隔离,即消除后级电机对前级单片机的影响。三极管使用的是9013,9013是NPN 型的,把其集电极接+5V 电压,射极接继电器。当单片机引脚给出低电位时,4N25内部的发光二极管亮,使其内部的三极管导通,继而通过第4 引脚上的10K 电阻分得电压。当4N25 给其基极提供足够的电压时9013 导通。继电器的常开开关闭合,电机上电工作。

相关文档
最新文档