中北大学课程设计说明书学生姓名:学号:学院:机械与动力工程学院专业:机械电子工程题目:基于51单片机的温度控制系统设计指导教师:职称:讲师2015年1月19日1目录第1章绪论...................................................................21.1题目背景...............................................................21.2题目简介...............................................................2第2章系统总体设计及方案.....................................................32.1单片机的介绍...........................................................32.2系统功能的确定.........................................................32.3温度传感器DS18B20的介绍...............................................32.3.1DS18B20的内部结构.................................................42.3.2DS18B20的引脚介绍................................................62.4人机交互与串口通信.....................................................6第3章硬件设计...............................................................83.1系统结构框图...........................................................83.2人机交互与串口通信单元设计.............................................93.2.1键盘输入电路.....................................................93.2.2串口通信电路.....................................................93.2.3LED七段数码动态显示电路.........................................103.2.4控制执行单元设计....................................................11第4章软件设计..............................................................124.1设计思路、程序代码....................................................12结束语.......................................................................22参考文献.....................................................................232第1章绪论1.1题目背景不论是对于工业生产还是对于人们的日常生活,温度的变化都会对其产生一定程度的影响。所以,适时和恰当的温度控制对生产生活具有非常重要的作用。在过去,对温度的控制总是采用常规的模拟调节器,然而,这种调节器存在的缺点是控制精度低,具有滞后、非线性等特点。-本文将采用微电子技术来提高温度控制的精度,因为微电子技术的电路设计简单,控制效果好,具有很强的实用性。众所周知,在现代工业以及家用电器测控领域中,单片机系统的开发和运用给其带来了全新的技术创新和变革。而且,自动化和智能化程度的高低均依赖于是否使用单片机。试想:将单片机的温度控制方法如果能够运用到温度控制系统中的话,那么,就可以在一定程度上缓减和克服温度控制系统中存在的滞后现象,同时在很大程度的上,单片机的使用可以提高温度的控制效果以及控制精度。在工业自动化控制中,温度的控制一直都占有非常特殊的地位。在本文中作者针对电烤箱的温控系统利用单片机进行设计,从而达到精确控制电烤箱温度目的。1.2题目简介课题名称:基于51单片机的温度控制系统设计主要任务:(1)电烤箱由1kW电炉加热,最高温度为120℃;(2)电烤箱温度可设置,电烤过程恒温控制,温度控制误差≤±2℃;(3)实时显示温度和设置温度,显示精确为1℃;(4)温度超出设置温度±5℃时发出超限报警,对升温和降温过程不作要求。开发环境:本环境温度控制系统的软件部分是通过KEIL进行编译,并由Proteus7Professional进行仿真测试。技术指标:(1)以AT89C51系列单片机为核心部件(2)以数字电路和模拟电路为硬件基础(3)以C语言为软件实现语言功能概述:在该温度控制系统中,单片机作为核心部件进行检测控制。在该环境温度控制系统中温度检测采用DS18B20温度传感器将实时温度传送至单片机,并加以显示。再通过按键来设定温度,并实时显示。按下确定键后将实际温度与设定温度进行比较,如果实际温度大于设定温度,则进行降温过程,反之,则进行升温过程,实现温度控制和报警等目的,按复位键后,从新开始。3第2章系统总体设计及方案2.1单片机的介绍随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时/计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机。单片机具有以下特点:1.具有优异的性能价格比2.集成度高、体积小、可靠性高3.控制功能强4.低电压、低功耗2.2系统功能的确定一个控制系统是否能被大众所接受,在于该控制系统是否拥有人性化的操作功能。为了使本次设计的环境温度控制系统具有操作简单、灵活及高可靠性等特点,确定了该系统功能:1.独立键盘输入。2.单总线温度传感器DS18B20进行温度采集。3.温度显示。4.温度控制执行,温度超限进行报警。5.温度测量范围为-55-125度,温度有效范围为2-98度,允许误差为1度。2.3温度传感器DS18B20的介绍DS18B20温度传感器是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,在一根通信线,可以挂很多这样的温度传感器,十分方便。DS18B20具有以下的的特点:1.只要求一个端口即可实现通信。2.在DS18B20中的每个器件上都有独一无二的序列号。3.实际应用中不需要外部任何元器件即可实现测温。4.测量温度范围-55到+125。5.数字温度计的分辨率用户可以从9位到12位选择。6.内部有温度上、下限告警设置。42.3.1DS18B20的内部结构DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图2.1所示。64位ROM的位结构如图2.2所示。开始8位是产品类型的编号;接着是每个器件的唯一的序号,共有48位;最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用单线进行通信的原因。非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限数据。图2.264位ROM的位结构图DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的E2PROM。高速暂存RAM的结构为9字节的存储器,结构如图2.3所示。前2字节包含测得的温度信息。第3和第4字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5字节为配置寄存器,其内容用于确定温度值的数字转换分辨率,DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。该字节各位的定义如图2.4所示,其中,低5位一直为1;TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在DS18B20出厂时,该位被设置为0,用户不要去改动;R1和R0决定温度转换的精度位数,即用来设置分辨率,其定义方法见表2.1。温度LSB温度MSB64位ROM和单线接口存储器与控制逻辑高速缓存温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器图2.1DS18B20内部结构框图8位检验CRC48位序列号8位工厂代码(10H)MSBLSBMSBLSBMSBLSB5TH用户字节1TL用户字节2配置寄存器保留保留保留CRC由表可见,DS18B20温度转换的时间比较长,而且设置的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节是前面8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存RAM的第1、2字节中。单片机可以通过单线接口读出该数据。读数据时,低位在先,高位在后,数据格式以0.0625°C/LSB形式表示。温度值格式如图2.5所示:R1R0分辨率/位温度最大转换时间/ms00993.750110187.510113751112750TH用户字节11TL用户字节2E2PROM图2.3高速暂存RAM结构图表2.1DS18B20分辨率的定义和规定图2.4配置寄存器位定义TMR1R01111116低字节232221202-12-22-32-4高字节SSSSS2625242.3.2DS18B20的引脚介绍TO-92封装的DS18B20的引脚排列见图2.6,其引脚功能描述见表2.2。图2.6(底视图)表2.2DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。2.4人机交互与串口通信该热炉温度控制系统由温度采集、独立键盘输入、温度显示、温度控制执行等四大模块组成。1.温度采集:由温度传感器DS18B20完成,并通过串口通信技术与单片机进行数据传输,使用单片机P2.2端口。2.独立键盘输入:将键盘扫描程序设置在主函数中while循环函数的第一条语句,不断刷新获得设定温度,按下确定键后执行温度比较和温度控制。使用单片机的P2.1,P2.3,P2.4,P2.5端口。3.温度显示:通过8个7段LED数码显示管显示当前温度值和设定的温度值,及时反应当前温度的变化与设置温度的关系,使用单片机P0.0--P0.7端口。4.温度控制执行:系统根据当前温度与设置的温度自动进行相应的升温或降温的操作,在系统自动进行升温或降温处理的同时显示相应的指示灯,在本文的设计中,考虑到加入升温降温设备也不会使得图2.5温度数值格式7DS18B20传感器有所感应,故而没有添加升降温设备。只是通过两个升温降温指示灯来表示升降温过程,同样能让使用者知道系统正在进行的操作,使更加简洁。但是,在实际的生产中升降温度设备是必须添加的。两个指示灯使用单片机P1.4,P1.5端口。5.超限报警:在任务书要求中,当温度超出设置温度±5℃时发出超限报警,但是由于作者能力所限,未能达到要求的±5℃,我选择了比较设置温度和实际温度的十位数据的方法,将误差控制在了±10℃以内,在仿真过程中影响是很小的。8第3章硬件设计3.1系统结构框图图3.1系统硬件总体框图该系统由核心部件AT89C51来处理从键盘输入电路和温度采集电路送入的数据,并通过温度显示电路进行温度显示,由温度控制电路来进行相应的升温或降温的操作。如果超