简易温度控制系统doc
- 格式:doc
- 大小:267.42 KB
- 文档页数:28
温度控制系统设计目录第一章系统方案论证 (3)1.1总体方案设计 (3)1.2温度传感系统 (3)1.3温度控制系统及系统电源 (4)1.4单片机处理系统(包括数字部分)及温控箱设计 (4)1.5PID 算法原理 (5)第二章重要电路设计 (7)2.1温度采集 (7)2.2温度控制 (7)第三章软件流程 (8)3.1基本控制 (8)3.2PID 控制 (9)3.3时间最优的 PID 控制流程图 (10)第四章系统功能及使用方法 (11)4.1温度控制系统的功能 (11)4.2温度控制系统的使用方法 (11)第五章系统测试及结果分析 (11)5.1 硬件测试 (11)5.2软件调试 (12)第六章进一步讨论 (12)参考文献 (13)致谢........................................... 错误 !未定义书签。
摘要:本文介绍了以单片机为核心的温度控制器的设计,文章结合课题《温度控制系统》,从硬件和软件设计两方面做了较为详尽的阐述。
关键词:温度控制系统PID 控制单片机Abstract: This paper introduces a temperature control system that is based on the single-chip microcomputer.The hard ware compositionand software design are descried indetail combined with the projectComtrol System of Temperature.PID control Keywords: Control system of temperatureSingle-chip Microcomputer引言:温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。
摘要在工业生产过程中,往往需要对各类加热炉、热处理炉、反应炉的温度进行检测和调节,因此需要一种合适的系统对其温度进行精确控制。
由于单片机具有低功耗、高性能、可靠性好、易于产品化等特点,因此采用单片机对温度进行控制不仅节约成本,控制方法灵活多样,并且可以达到较高的控制精度,从而能够大大提高产品的质量,因此单片机被广泛应用在中小型控制系统中。
自动控制技术尤其是温度控制技术在国内外得到广泛的应用和发展。
时滞效应始终困扰着其实际应用,为此人们发明了多种控制方法来解决时滞问题,例如比例控制方式、DDC控制方式。
本文将针对一种温度控制方式进行学习,并设计一个以AT89S52单片机为核心、利用新型集成化智能1-Wire总线数字温度传感器DS18B20实现的温度采集控制系统,同时还阐述了直接数字控制(DDC)控制算法。
本系统按照模块化程序设计思想,完成了对系统软件部分的设计,给出了各个功能模块的设计思想和流程图。
温度采集控制系统不但能够准确地进行温度数据的采样转换,稳定进行升温、恒温的控制过程,而且可以记录温度—时间对应关系,并以现今广泛使用的液晶显示器作为输出设备,使数据读取更加直观。
现场仿真表明,该系统在测试过程中工作稳定,满足设计要求。
本设计采用以8位AT89S52单片机作为系统的CPU。
使用电加热器升温,配合键盘输入,液晶显示器显示。
具有硬件结构简单、人机界面友善、管理功能健全、系统可靠性高、记录数据准确、使用维护方便等优点。
关键字:温度采集系统;单片机;DS18B20;温度控制The Design of Furnace Temperature Control System Based onSingle Chip MicrocomputerAbstractIn the industrial production process, often require various types of furnace, heat treatment furnace, reactor temperature detection and regulation, so it needs a proper system of precise control of its temperature. as low power consumption single chip, high performance, reliability, easy-to-market commodity and so on, so to control the temperature using SCM not only save on cost, control method of flexible and diverse, and can achieve higher precision, which can greatly enhance the quality of the product, so SCM is widely used in the Small control system.The automatic control technique is a temperature particularly controls technique at domestic and international get the extensive application with develop. Time postpone effect perplex always in fact on the occasion of applied, for this person invents various controls method to resolve the problem of Time postpone. This paper introduces a design of temperature data acquisition system based on single-chip AT89S52. The system collects temperature data through 1-Wire Digital Thermometer DS18B20, and the control algorithm of DDC parameters is presented.This system according to mold a design for turning procedure design toughing, completing to system software part of designs, giving each function mold piece thought with flow chart. A function temperature control system can proceed accurately the data adopts the kind converts, stabilizing the proceeding heat, the control process of the constant temperature, and can satisfy completely to the request of the system accuracy. and can show them to the operators by the way of the Liquid Crystal Display. This system used the present the usage the LCD and actions output equipments, make data kept the view more. The results of the simulation show that the system works stably and meets the expected design requirements.The temperature data acquisition and control system adoption with 8 bit AT89S52 single a machine for system CPU. The usage electricity heating apparatus heats, matching with the keyboard importation, displays with the LCD. It has simple structure, high system reliability, and the data recorded are reliable and the operation and maintenance are convenient.Key words: temperature data acquisition system; single-chip; DS18B20; temperature control目录1 绪论 (1)1.1 课题背景 (1)1.2 选题的目的和意义 (2)1.3 炉温控制的国内外研究现状及发展趋势 (2)1.4 本系统的任务和本文的主要内容 (4)2 系统总体分析与设计 (5)2.1 系统方案选择 (5)2.1.1 主控芯片单片机的选型 (5)2.1.2 温度传感器的选择 (5)2.2 系统的组成和工作原理 (6)2.3 系统主要元件介绍 (7)2.3.1 AT89S52单片机简介 (7)2.3.2 1602液晶显示器 (10)2.3.3 DS18B20数字温度传感器 (14)2.3.4 固态继电器 (18)2.4 本章小结 (19)3 硬件系统设计 (20)3.1 单片机的最小应用系统 (20)3.2 温度采集转换系统 (21)3.3 升温驱动控制系统 (22)3.4 键盘显示系统 (23)3.5 报警系统 (25)3.6 系统电源模块 (26)3.7 本章小结 (27)4 软件系统设计 (28)4.1 软件总体设计 (28)4.2 系统初始化函数 (29)4.3 控制函数 (30)4.4 读温度子程序 (31)4.5 键盘显示函数 (32)4.6 时间函数 (33)4.7 本章小结 (34)5 系统的调试与仿真 (35)5.1 软件调试 (35)5.2 硬件调试 (36)5.3 本章小结 (37)6 结论 (38)致谢 (39)参考文献 (40)附录1 (1)附录2 (18)1 绪论1.1 课题背景及时准确地得到温度信息并对其进行适时的控制,在许多工业场合中都是重要的环节。
基于STM32单片机的温度控制系统设计一、本文概述本文旨在探讨基于STM32单片机的温度控制系统的设计。
我们将从系统需求分析、硬件设计、软件编程以及系统测试等多个方面进行全面而详细的介绍。
STM32单片机作为一款高性能、低功耗的微控制器,广泛应用于各类嵌入式系统中。
通过STM32单片机实现温度控制,不仅可以精确控制目标温度,而且能够实现系统的智能化和自动化。
本文将介绍如何通过STM32单片机,结合传感器、执行器等硬件设备,构建一套高效、稳定的温度控制系统,以满足不同应用场景的需求。
在本文中,我们将首先分析温度控制系统的基本需求,包括温度范围、精度、稳定性等关键指标。
随后,我们将详细介绍系统的硬件设计,包括STM32单片机的选型、传感器和执行器的选择、电路设计等。
在软件编程方面,我们将介绍如何使用STM32的开发环境进行程序编写,包括温度数据的采集、处理、显示以及控制策略的实现等。
我们将对系统进行测试,以验证其性能和稳定性。
通过本文的阐述,读者可以深入了解基于STM32单片机的温度控制系统的设计过程,掌握相关硬件和软件技术,为实际应用提供有力支持。
本文也为从事嵌入式系统设计和开发的工程师提供了一定的参考和借鉴。
二、系统总体设计基于STM32单片机的温度控制系统设计,主要围绕实现精确的温度监测与控制展开。
系统的总体设计目标是构建一个稳定、可靠且高效的环境温度控制平台,能够实时采集环境温度,并根据预设的温度阈值进行智能调节,以实现对环境温度的精确控制。
在系统总体设计中,我们采用了模块化设计的思想,将整个系统划分为多个功能模块,包括温度采集模块、控制算法模块、执行机构模块以及人机交互模块等。
这样的设计方式不仅提高了系统的可维护性和可扩展性,同时也便于后续的调试与优化。
温度采集模块是系统的感知层,负责实时采集环境温度数据。
我们选用高精度温度传感器作为采集元件,将其与STM32单片机相连,通过ADC(模数转换器)将模拟信号转换为数字信号,供后续处理使用。
温度控制系统摘要:随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。
本设计论述了一种以STC89C52单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。
该控制系统可以实时存储相关的温度数据并记录当前的时间。
系统设计了相关的硬件电路和相关应用程序。
硬件电路主要包括STC89C52单片机最小系统,测温电路、实时时钟电路、LCD液晶显示电路以及通讯模块电路等。
系统程序主要包括主程序,读出温度子程序,计算温度子程序、LCD显示程序以及数据存储程序等。
关键词:STC89C52, DS18B20,LCDAbstract:Along with the computer measurement and control technology of the rapid development and wide application, based on singlechip temperature gathering and control system development and application greatly improve the production of temperature in life level of control. This design STC89C52 describes a kind of mainly by MCU control unit, for temperature sensor DS18B20 temperature control system. The control system can real-time storage temperature data and record related to the current time. System design related hardware circuit and related applications. STC89C52 microcontroller hardware circuit include temperature detection circuit smallest system, and real-time clock circuit, LCD display circuit, communication module circuit, etc. System programming mainly include main program, read temperature subroutine, the calculation of temperature subroutines, LCD display procedures and data storage procedures, etc.Keywords: STC89C52, DS18B20,LCD目录1前言 (1)2总体方案设计 (2)2.1方案设计 (2)2.2方案论证 (3)2.3方案选择 (3)3单元模块的设计 (4)3.1单片机模块 (4)3.2 18B20温度模块 (5)3.3显示器模块 (6)4软件设计 (7)4.1 系统总框图 (7)4.2温度采集子程序 (8)5系统功能与调试方法介绍 (9)5.1系统功能 (9)5.2系统指标................................................................ . (9)5.3系统调试 (9)6参考文献 (10)附录1: 相关设计图 (11)附录2:元器件清单 (13)附录3:源程序............................................. (14)1前言工业控制是计算机的一个重要应用领域,计算机控制系统正是为了适应这一领域的需要而发展起来的一门专业技术,它主要研究如何将计算机技术、通过信息技术和自动控制理论应用于工业生产过程,并设计出所需要的计算机控制系统。
温度控制系统实验报告温度控制系统实验报告一、引言温度控制系统作为现代自动化领域的重要组成部分,广泛应用于工业生产、家电和环境控制等领域。
本实验旨在通过搭建一个简单的温度控制系统,了解其工作原理和性能特点。
二、实验目的1. 了解温度控制系统的基本原理;2. 掌握温度传感器的使用方法;3. 熟悉PID控制算法的应用;4. 分析温度控制系统的稳定性和响应速度。
三、实验装置本实验使用的温度控制系统由以下组件组成:1. 温度传感器:用于测量环境温度,常见的有热敏电阻和热电偶等;2. 控制器:根据温度传感器的反馈信号,进行温度控制;3. 加热器:根据控制器的输出信号,调节加热功率;4. 冷却装置:用于降低环境温度,以实现温度控制。
四、实验步骤1. 搭建温度控制系统:将温度传感器与控制器、加热器和冷却装置连接起来,确保各组件正常工作。
2. 设置控制器参数:根据实际需求,设置控制器的比例、积分和微分参数,以实现稳定的温度控制。
3. 测量环境温度:使用温度传感器测量环境温度,并将测量结果输入控制器。
4. 控制温度:根据控制器输出的控制信号,调节加热器和冷却装置的工作状态,使环境温度保持在设定值附近。
5. 记录数据:记录实验过程中的环境温度、控制器输出信号和加热器/冷却装置的工作状态等数据。
五、实验结果与分析通过实验数据的记录和分析,我们可以得出以下结论:1. 温度控制系统的稳定性:根据控制器的调节算法,系统能够在设定值附近维持稳定的温度。
但是,由于传感器的精度、控制器参数的选择等因素,系统可能存在一定的温度波动。
2. 温度控制系统的响应速度:根据实验数据,我们可以计算出系统的响应时间和超调量等参数,以评估系统的控制性能。
3. 温度传感器的准确性:通过与已知准确度的温度计进行对比,我们可以评估温度传感器的准确性和误差范围。
六、实验总结本实验通过搭建温度控制系统,探究了其工作原理和性能特点。
通过实验数据的分析,我们对温度控制系统的稳定性、响应速度和传感器准确性有了更深入的了解。
温度控制系统设计概述温度控制系统是一种广泛应用于工业生产、实验室环境以及家庭生活中的系统。
它通过感知环境温度并根据设定的温度范围来控制加热或制冷设备,以维持特定温度水平。
本文将介绍温度控制系统的设计原理、硬件组成和软件实现。
设计原理温度控制系统的设计基于负反馈原理,即通过对环境温度进行实时监测,并将监测结果与目标温度进行比较,从而确定加热或制冷设备的控制量。
当环境温度偏离目标温度时,控制系统会调节加热或制冷设备的工作状态,使环境温度逐渐趋向目标温度。
硬件组成1. 传感器传感器是温度控制系统的核心组成部分,用于感知环境温度。
常见的温度传感器包括热敏电阻(Thermistor)、温度传感器芯片(Temperature Sensor Chip)和红外温度传感器(Infrared Temperature Sensor)等。
传感器将环境温度转换为电信号,并输出给微控制器进行处理。
微控制器是温度控制系统的中央处理单元,用于接收传感器输入的温度信号,并进行数据处理和控制逻辑的执行。
常见的微控制器包括Arduino、Raspberry Pi 和STM32等。
微控制器可以通过GPIO(General Purpose Input/Output)口实现与其他硬件模块的连接。
3. 控制器控制器是温度控制系统的核心部件,用于根据目标温度和实际温度之间的差异来调节加热或制冷设备的运行状态。
常见的控制器包括PID控制器(Proportional-Integral-Derivative Controller)和模糊控制器(Fuzzy Controller)等。
控制器通过电压或电流输出信号,控制加热或制冷设备的开关状态。
4. 加热或制冷设备加热或制冷设备是温度控制系统的输出组件,用于增加或降低环境温度。
根据具体应用需求,常见的加热设备包括电炉、电热丝和电热器等;常见的制冷设备包括压缩机和热泵等。
软件实现温度控制系统的软件实现主要涉及以下几个方面:1. 温度采集软件需要通过与传感器的接口读取环境温度值。
目录一、要求 (3)二、摘要 (4)三、前言 (5)四、方案分析 (6)五、实现 (10)六、结论 (14)七、附录 (15)简易温度控制系统设计并制作一个简易的单片机温度自动控制系统(见图一)。
控制对象为自定。
图一 恒温箱控制系统 设计要求如下(1)温度设定范围为40℃~90℃,最小区分度为1℃ (2)用十进制数码显示实际温度。
(3)被控对象温度采用发光二极管以光柱形式和数码形式显示。
(4)温度控制的静态误差≤2℃。
扩充功能:控制温度可以在一定范围内设定,并能实现自动调整,以保持设定的温度基本保持不变(测量温度时只要求在现场任意设置一个检测点)。
可编程 控制器显示器 设置键盘电源执行器恒温箱温度传感器变送器220V AC本次设计的主要目的是实现对温度的控制,其主要思路是通过温度传感器感应物体的温度,通过数码管显示出来,由于本此设计的温度设定范围是在40度到90度之间,因此如果物体的温度不在这个设定范围内,那么就需要通过加热或降温使物体的温度达到这个范围。
另外本次设计设定了键盘,通过键盘输入设定的数,然后通过调温使该物体的温度达到设定的数值。
本次设计采用单片机原理,共有温度感应模块、显示模块、键盘输入模块、比较模块四大块。
通过温度动态显示,可以显示被测物体的温度,而通过键盘扫描可以求出设定的温度值,通过温度传感器可以感应物体的温度。
那么,本次设计所能实现的功能就是可以测定物体的温度并能实现自动调整和手动键盘调整。
三、前言随着社会的发展和科技的进步以及测温仪器在各个领域的应用,智能化是现代温控系统发展的主流方向,特别是今年来,温度控制系统已应用到生活的各个方面,但是温度控制一直是一个未开发的领域,是与人们息息相关的一个问题。
针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景和实际意义。
温度是科学技术中最基本的物理量之一。
物理、化学、生物等学科都离不开温度,在工业生产等许多领域,温度常常是表征对象和过渡状态的重要物理量。
本文介绍了一种小型温度测量与控制系统——闭环温度控制系统。
该系统利用单片机可以方便地实现对PID参数的设定,也可以通过计算机与单片机的串行通讯,实现工业过程中的交互式PID控制。
该原理是用温度传感器将检测到的温度转化为电信号,然后经过变送器使输出电信号随输入温度信号呈线性关系。
之后再经过A/D转换送入PC机中,与设定值进行比较,得出偏差。
对此偏差经PID算法进行修正,求得对应的控制量经D/A转换来控制驱动器,从而实现对温度的闭环控制。
本学期主要设计、制作和调试直流稳压电源和变送器,了解信息测试、校准和控制的过程,不仅提高了电子工程设计和实际操作方面的综合能力,而且培养了研发工程项目中所具备的基本素质和要求。
一、课题背景 (3)二、需求分析 (3)三、方案论证 (3)(一)稳压电源方案选择 (3)(二)变送器方案选择 (4)四、电路设计 (5)(一)直流稳压电源部分1.工作原理 (5)2. Protel99 SE 自主绘制电路原理图 (6)3.所需元件 (7)4.芯片介绍 (8)(二)变送器部分1.工作原理 (9)2.所需元件 (11)3.芯片介绍 (11)4.参数计算 (13)五、电路调试 (13)六、故障分析 (17)七、结果与收获 (18)八、致谢 (19)九、参考文献 (20)一、课题背景第一阶段我们主要解决闭环温度控制系统的直流稳压电源和变送器这两部分。
要求在工业生产中降低成本,降低材料、能源消耗,提高产品质量和生产效率。
二、需求分析稳压电源和变送器的功能和指标如下:1.温度测量范围: 0℃~+100℃2.温度测量误差: 不大于±2℃(在次要求下尽量提高指标)3.变送器输出电压: 0~5V4.测量误差: 满刻度1%(0.05V或1℃ )5.要求线性规律控制电压—温度6.保证电路性能稳定可靠,具有一定的抗干扰能力7.注意各电路之间的可靠配合与保护问题(过流、断路、过热保护)三、方案论证(一)稳压电源方案选择要求输入9 V和14 V的交流电压,输出+5 V和±12 V的直流电压。
温度控制系统毕业设计•相关推荐温度控制系统毕业设计摘要在日常生活及工农业生产中,对温度的检测及控制时常显得极其重要。
因此,对数字显示温度计的设计有着实际意义和广泛的应用。
本文介绍一种利用单片机实现对温度只能控制及显示方案。
本毕业设计主要研究的是对高精度的数字温度计的设计,继而实现对对象的测温。
测温系数主要包括供电电源,数字温度传感器的数据采集电路,LED显示电路,蜂鸣报警电路,继电器控制,按键电路,单片机主板电路。
高精度数字温度计的测温过程,由数字温度传感器采集所测对象的温度,并将温度传输到单片机,最终由液晶显示器显示温度值。
该数字温度计测温范围在-55℃~+125℃,精度误差在±0.5℃以内,然后通过LED数码管直接显示出温度值。
数字温度计完全可代替传统的水银温度计,可以在家庭以及工业中都可以应用,实用价值很高。
关键词:单片机:ds18b20:LED显示:数字温度.AbstractIn our daily life and industrial and agricultural production, the detection and control ofthe temperature, the digital thermometer has practical significance and a wide rangeof applications .This article describes a programmer which use a microcontroller toachieve and display the right temperature by intelligent control .This programmermainly consists by temperature control sensors, MCU, LED display modules circuit.The main aim of this thesis is to design high-precision digital thermometer and thenrealize the object temperature measurement. Temperature measurement systemincludes power supply, data acquisition circuit, buzzer alarm circuit, keypad circuit,board with a microcontroller circuit is the key to the whole system. The temperatureprocess of high-precision digital thermometer, from collecting the temperature of theobject by the digital temperature sensor and the temperature transmit ted to themicrocontroller, and ultimately display temperature by the LED. The digitalthermometer requires the high degree is positive 125and the low degree is negative 55,the error is less than 0.5, LED can read the number. This digital thermometer couldreplace the traditional mercurial thermometer, can be used in family or industrial andproduction, it has a great value.Key words: MCU: DS18B20 : LED display: Digital thermometer。
温度自动控制系统简介温度自动控制系统是一种利用现代控制技术对环境温度进行自动调节的系统。
它通过感知环境温度,并根据设定的温度范围自动调节控制器来实现温度的自动控制。
构成温度自动控制系统主要由以下几个部分构成:1. 温度感知器温度感知器是一种能够感知环境温度的传感器。
常见的温度感知器有热敏电阻、热电偶和红外线温度传感器等。
它们能够将温度转化为电信号,供控制器进行处理。
2. 控制器控制器是温度自动控制系统的核心组件,负责接收来自温度感知器的温度信号,并根据设定的温度范围进行判断和控制。
控制器通常采用微处理器或微控制器实现,它可以根据信号进行计算和判断,并控制执行器的工作状态。
3. 执行器执行器是根据控制器的指令来执行相应动作的设备。
在温度自动控制系统中,执行器通常是一种能够调节环境温度的设备,例如电加热器、冷却风扇或空调系统等。
控制器会根据当前温度与设定温度的差值,发送信号给执行器,以调整环境温度。
4. 电源电源是为整个温度自动控制系统提供电能的设备。
温度自动控制系统通常使用直流电源,以保证稳定可靠的供电。
工作原理温度自动控制系统的工作原理可以简要描述如下:1.温度感知器感知环境温度,并将温度信息转化为电信号。
2.控制器从温度感知器接收到温度信号,并判断当前温度是否在设定的温度范围内。
3.如果当前温度在设定的温度范围内,控制器不做任何动作。
4.如果当前温度超过设定的温度范围上限,控制器会发送信号给执行器,使其启动冷却设备,以降低温度。
5.如果当前温度低于设定的温度范围下限,控制器会发送信号给执行器,使其启动加热设备,以提高温度。
6.控制器会定期检测温度,并根据需要调整执行器的工作状态,以保持环境温度在设定范围内。
应用领域温度自动控制系统在许多领域都有广泛应用,下面是几个常见的应用领域:1. 家庭空调系统家庭空调系统是最常见的应用之一。
温度自动控制系统可以根据家庭成员的需求,自动调节空调的工作状态,以保持室内温度在舒适范围内。
课程设计题目温度控制系统设计学院自动化学院专业自动化专业班级姓名指导教师2014年6月24日课程设计任务书题目:温度控制系统设计要求完成的主要任务:被控对象为电炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。
可控硅控制器输入为0-5伏时对应电炉温度0-300℃,温度传感器测量值对应也为0-5伏,对象的特性为二阶惯性系统,惯性时间常数为T1=20秒,滞后时间常数为τ=10秒。
1)设计温度控制系统的计算机硬件系统,画出框图;2)编写积分分离PID算法程序,从键盘接受K p、T i、T d、T及β的值;3)通过数据分析T i改变时对系统超调量的影响.4)撰写设计说明书。
时间安排:6月9日查阅和准备相关技术资料,完成整体方案设计6月10日—6月12日完成硬件设计6月13日-6月15日编写调试程序6月16日-6月17日撰写课程设计说明书6月18日提交课程设计说明书、图纸、电子文档指导教师签名:年月日系主任(或责任教师)签名:年月日本次课程设计我设计的题目是温度控制系统。
通过专业课程的学习,我将引入计算机,单片机,传感器,以及PID算法来实现电炉温度的自动控制,完成课程设计的任务.计算机的自动控制是机器和仪表的发展趋势,它不仅解放了劳动力,也比以往的人为监控更准确,更及时。
一旦温度发生变化,计算机监控系统可以立即检测到并通过模拟量数字通道传送到计算机。
计算机接收到信号后通过与给定值进行比较后,计算出偏差,再通过PID控制算法给出下一步将要执行的指令。
最后通过模拟量输出通道将指令传送到生产过程,实现机器仪表的智能控制.本次课程设计用到了MATLAB这一软件,通过编写程序,将被控系统离散化。
再通过MATLAB中的simulink 仿真功能,可以看到随着Ki,Kp,Kd改变波形发生的改变,从而可以通过波形直观地看出PID参数对系统动态性能的影响。
第一章绪论本章介绍了温度采集与控制系统设计的背景与意义,通过本章,可以了解温度传感器和单片机的发展状况以及相关技术的发展状况。
1.1 课题背景与意义温度控制无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,而在当今,我国农村锅炉取暖,农业大棚等多数都没有实时的温度监测和控制系统,还有部分厂矿,企业还一直沿用简单的温度设备和纸质数据记录仪,无法实现温度数据的实时监测与控制。
随着社会经济的高速发展,越来越多的生产部门和生产环节对温度控制精度的可靠性和稳定性等有了更高的要求,传统的温度控制器的控制精度普遍不高,不能满足对温度要求较为苛刻的生产环节。
人们对于温度监测技术的要求日益提高,促进了温度传感器技术的不断发展进步。
温度传感器主要经历了三个发展阶段:模拟集成温度传感器、模拟集成温度控制器、智能温度传感器。
温度传感器的发展趋势:进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片机测温系统等高科技的方向迅速发展。
自从1976年Intel公司推出第一批单片机以来,80年代的单片机技术进入了快速发展的时期。
近年来,随着大规模集成电路的发展,单片机继续朝着快速,高性能的方向发展,从4位、8位单片机发展到16位、32位单片机。
单片机主要用于控制,它的应用领域遍及各个行业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。
单片机在国内的主要的应用领域有三个:第一是家用电器业,例如全自动洗衣机、智能玩具;第二是通讯业,包括手机、电话和BP机等等;第三是仪器仪表和计算机外设制造,例如键盘、收银机、电表等。
除了上述应用领域外,汽车、电子行业在外国也是单片机应用很广泛的一个领域。
它成本低、集成度高、功耗低、控制功能多、能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪表中的误差的修正、线性处理等问题。
11.2 本课题的研究内容与目标设计以STC89C52单片机为系统控制核心,结合DS18B20温度传感器、12864液晶显示、BM100无线模块、报警、升温和降温指示灯几部分电路,构成了一整套温度检测,报警及控制系统。
[导读]温度控制系统被广泛应用于工业、农业、医疗等行业的仪器设备中,目前应用最多的是单片机或微机系统设计的温度控制系统。
温度控制系统被广泛应用于工业、农业、医疗等行业的仪器设备中,目前应用最多的是单片机或微机系统设计的温度控制系统。
系统硬件部分由输人输出接口、中央处理单元、A/D 转换、定时计数等集成模块组成,系统软件部分需要用运算量大的PID算法编程实现,整套控制系统设计及实现较为复杂和繁琐。
由分立元件组成的模拟型电路信号输入、放大、运算及控制输出都由硬件电路完成,不需要软件设计。
与数字电路相比,其设计及实现过程更为简便,所以采用简易实用的模拟电路实现温控电路的设计。
1 温控总电路组成温控电路主要由电源部分、温度检测元件、信号放大、比例积分、电压比较、移相触发控制继电器、超温保护、加热炉和LED显示几部分组成,其电路结构如图1所示。
图1 温控系统电路组成图由温度检测元件可以检测到温度值信号,该信号经过放大后输送至比例积分电路并与温度设定电压比较,比较结果输送至相触发电路产生可变周期的脉冲以触发固态继电器中可控硅导通角,从而可控制加热装置的加热功率,达到控制温度的目的。
温度补偿电路减少室温对温度测量准确度的影响;超温保护电路可以保证在加热温度超过设定值时,装置停止加热,起到保护设备的作用。
2 各分电路设计2.1 电源电路温控电路中需要直流电压的器件为运算放大器及电子信息显示模块。
该电压由220V交流电压经整流滤波后加。
至三端稳压器输出得到。
其电路如图2所示。
图2 电源电路图2.2 输入温度信号放大及温度补偿电路用感温元件镍硌一镍铬K型热电偶作温度传感器来采集温度信号,温度信号为mV级,实际测量时需经过放大处理。
热电偶测量温度信号受工作端温度和自由端环境温度影响,所以测量中需要加补偿信号消除环境温度变化对温度测量的影响。
具体电路如图3所示。
图3 信号放大及温度补偿电路2.3 超温保护电路以将功率为60 w将加热装置加热至750℃为例,图3中温度信号经过放大100倍后加到比例积分电路并与温度设定电压比较,比较结果输送相触发电路产生可变周期脉冲以触发固态继电器。
第1章绪论1.1 综述在人类的生活环境中,温度扮演着极其重要的角色。
温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。
对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。
无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。
自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。
在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素.在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数.例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
1.2 加热炉温度控制系统的研究现状随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。
单片机温度控制系统是数控系统的一个简单应用,在冶金、化工、建材、机械、食品、石油等各类工业中,广泛使用于加热炉、热处理炉、反应炉等.温度是工业对象中的一个重要的被控参数。
由于炉子的种类不同,因而所使用的燃料和加热方法也不同,例如煤气、天然气、油、电等;由于工艺不同,所需要的温度高低不同,因而所采用的测温元件和测温方法也不同;产品工艺不同,控制温度的精度也不同,因而对数据采集的精度和所采用的控制算法也不同。
传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。
不仅如此,传统的控制方式不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大,由于它主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。
智能温度控制系统设计摘要:在日常生活中,温度和温差对我们的生活都有非常大的影响。
目前在大城市许多的高档公寓已经实现自动控温,然而在普通公寓并没有实现此类控温系统,因此同高档公寓形成了对比,为实现更多的地方使用自动控温系统,本设计通过单片机实现对温度的恒定控制,更廉价,更方便,适用于普及大多数家庭的使用。
对我们的生活会有很大的帮助。
智能自动控温全面实现全自动化、无人化,都可减少可控因素带来的损失.设计智能自动控温系统,利用温度感应器、报警器、LED显示器通过对单片机的控制实现智能自动控温,解决由于温度不稳定而带来的一系列问题。
本次设计主要以AT89C51单片机为主控核心,与LED显示器、键盘、报警模块等相关电路结合。
利用单片机为设计主核心,外接电路连接LED显示器、键盘、报警模块。
预定温室内部温度,当温室内部温度有所升高或降低时,此时通过外接电路连接的报警模块发出警报,通过电加热器来调节温室内部温度从而达到温室内部温度恒定。
关键词:单片机,温度传感器,键盘,LED显示器,电加热器Designof aTemperature-Control SystemAbstractIn everyday life ,the temperature andthe temperature difference to our lives have a very bigimpact.Currently manyof the luxury apartments in big cities have automatic temperature control,however,didnot materialize in apartments such temp erature controlsystem , thus forming a contrastwiththehigh—endapartments , to achieve more places to use automatic temp erature controlsystem , thedesign byMCU constant controloftemperature, cheaper,more convenient,suitable f or universal use in most families。
目录第1章绪论 (2)1.1 前言 (2)1.2 方案设计与论证 (2)第2章硬件系统设计 (3)2.1 系统设计方案 (3)2.2 硬件系统各功能模块设计 (4)2.2.1 单片机最小系统 (4)2.2.2 温度检测电路 (5)2.2.3 键盘与显示电路 (8)2.2.4 串口通信接口电路 (10)2.2.5 可控硅调功控温电路 (11)2.2.6 掉电检测与保护电路 (13)2.3 本章小结: (16)第3章系统软件设计 (16)3.1 系统开发工具软件介绍 (16)3.1.1 温度采集程序设计 (16)3.1.2 温度积分分离PID控制程序设计 (18)3.2 显示与键盘程序设计 (19)3.2.1 显示扫描程序设计 (19)3.2.2 键盘扫描程序设计 (20)3.3 单片机通信程序设计 (21)3.3.1 单片机串行口原理 (21)3.3.2 单片机串行口初始化 (22)3.3.3 单片机串行口发送子程序设计 (23)3.3.4 单片机串行口接收子程序设计 (24)3.4 本章小结 (24)第4章系统的硬件电路图 (26)简易水温控制系统第1章绪论1.1前言温度控制是很多企业常见的控制装置,如机械行业的零件热处理、塑料制品的注塑机上,粉末冶金行业烧结炉、还原炉等都有温度控制问题,尤以热处理加热炉的温度控制最为典型。
热处理加热炉是工厂热处理和高校热处理实验广泛使用的加热设备。
现在所使用的炉温控制方法很多仍是陈旧的动圈式两位指示调节仪(如XCT101 型动圈式两位指示调节仪) 。
这种炉温控制方法炉温波动范围大,保温时间靠人工计时,加热速度不能控制,温度不能全程动态跟踪显示。
这样的控制和显示方式不能满足日益发展的工业需求。
高校的发展同样要求用现代化手段提升现有的实验设备,为学生提供更多更好、更现代化的实验条件。
因此,我们就学校热处理实验用电阻加热炉进行现代化改革,将PC 机强大的软硬件资源、友好的人机界面和80C196单片机优秀的实时控制功能、灵活的编程能力有机的结合起来,开发出热处理微机控制系统,实现温度控制的自动化。
目录一、要求 (3)二、摘要 (4)三、前言 (5)四、方案分析 (6)五、实现 (10)六、结论 (14)七、附录 (15)简易温度控制系统设计并制作一个简易的单片机温度自动控制系统(见图一)。
控制对象为自定。
图一恒温箱控制系统设计要求如下(1)温度设定范围为40℃~90℃,最小区分度为1℃(2)用十进制数码显示实际温度。
(3)被控对象温度采用发光二极管以光柱形式和数码形式显示。
(4)温度控制的静态误差≤2℃。
扩充功能:控制温度可以在一定范围内设定,并能实现自动调整,以保持设定的温度基本保持不变(测量温度时只要求在现场任意设置一个检测点)。
本次设计的主要目的是实现对温度的控制,其主要思路是通过温度传感器感应物体的温度,通过数码管显示出来,由于本此设计的温度设定范围是在40度到90度之间,因此如果物体的温度不在这个设定范围内,那么就需要通过加热或降温使物体的温度达到这个范围。
另外本次设计设定了键盘,通过键盘输入设定的数,然后通过调温使该物体的温度达到设定的数值。
本次设计采用单片机原理,共有温度感应模块、显示模块、键盘输入模块、比较模块四大块。
通过温度动态显示,可以显示被测物体的温度,而通过键盘扫描可以求出设定的温度值,通过温度传感器可以感应物体的温度。
那么,本次设计所能实现的功能就是可以测定物体的温度并能实现自动调整和手动键盘调整。
三、前言随着社会的发展和科技的进步以及测温仪器在各个领域的应用,智能化是现代温控系统发展的主流方向,特别是今年来,温度控制系统已应用到生活的各个方面,但是温度控制一直是一个未开发的领域,是与人们息息相关的一个问题。
针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景和实际意义。
温度是科学技术中最基本的物理量之一。
物理、化学、生物等学科都离不开温度,在工业生产等许多领域,温度常常是表征对象和过渡状态的重要物理量。
各行各业对温度的要求越来越高,可见温度的测量和控制是非常重要的。
单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。
随着温度控制器应用越来越广泛,各种试用于不同场和的温度控制器应运而生。
四、方案分析本次设计主要版块分为温度感应模块,温度显示模块,键盘设定模块以及温度比较模块。
一、方案的选择1.对于温度感应模块有两种方案:一种是使用普通温度传感器pt100再结合电压放大器和AD转换器将感应到的温度数值转换为数字量存储在某一单元内。
但由于该方案电路繁多,线路冗长,所以舍之不用。
第二种是使用温度传感器18B20感应温度,由于该温度传感器内含AD转换器,因此连接简单,应用方便,故选用该方案。
2.对于温度显示模块有两种方案:一种是使用静态显示,通过数码管显示被测温度和设定温度。
该方案程序简单,但硬件连接复杂,所需元件数量多,不适合设计应用。
第二种是使用动态显示,通过数码管显示被测温度和设定温度。
该方案程序复杂,但硬件连接简单,所需元件少,适合设计应用。
3.对于键盘设定模块有两种方案:一种是使用线反转法,通过矩阵键盘,一次求出行数和列数,然后求出设定的数值。
由于该方案不具有扫描功能,因此不适用于一般的键盘程序,而适用于键盘中断程序。
第二种是使用键盘扫描法,通过矩阵键盘,求出设定的数值,由于该方案具有扫描功能,因此在不使用中断的情况下,使用键盘扫描程序是十分恰当的,本次设计采用的是键盘扫描程序。
4.对于温度比较模块,是通过比较程序,直接决定进行升温还是降温。
二、硬件的说明本次设计硬件用到了单片机89C52、温度传感器18B20、三—八译码器74LS138、驱动74LS245、数码管、矩阵式键盘、灯泡等。
单片机89C52是常用的单片机之一,单片机上有32个P口,其中P0、P1、P2、P3各8个。
温度传感器18B20接到单片机的一个P口上,本次设计是P1.3,因为温度传感器18B20可以直接将数据传输给单片机,因此可直接连接。
三八译码器74LS138出线端用于连接驱动74LS245,入线端ABC连接到单片机的P1口上的P1.0、P1.1、P1.2,通过调节P1口上的这三端的值进而控制出线端0到7哪个为低电平。
本次设计用到2个74LS245,它的输出端接数码管,输入端一个接P0口,一个接74LS138,它们分别控制数码管的字型码输出和数码管选择。
矩阵式键盘采用3×3式,分别表示1到9。
通过将6个出线端接到P2口上,然后通过P2口控制键盘,键盘的行拉高电阻和5伏电压。
三、软件的说明对于温度感应模块,调用18B20程序,直接在某一单元存储温度的数值。
其中18B20程序见附录。
对于温度显示模块,一共有静态和动态两种显示,静态显示时,各个LED 数码管相互独立,公共端接地,每个数码管的8个显示字段控制端分别与一个8位并行输出口相连,只要输出口输出字型码,LED 数码管就立即显示出相应的字符,并保持到输出口输出新的字型码。
采用静态显示,用较小的电流便可获得较高的亮度,而且占用CPU 时间少,编程简单,显示便于检测和控制,但其占用的口线多,硬件电路复杂,成本较高。
动态显示时,是各个LED 数码管一位一位轮流显示。
在硬件电路上,各个数码管的显示字段控制端并联到一起,有一个8位并行输出口控制,各个LED 数码管的公共端作为显示位的位选线,由另外的输出口控制,动态显示节省I/O 口,硬件电路简单。
本次设计采用的是动态显示,实现方法是温度显示程序的流程图为对于键盘设定模块,键盘是由多个按键组成。
它可以分成独立式和矩阵式2种形式。
独立式键盘是一组相互独立的按键,他们分别直接与I/O口电路连接,每个按键占用一根输入口线。
独立式键盘比较灵活,软件结构简单,但当按键较多时,输入口线浪费较大。
因此在应用系统中,按键较多时,一般不采用。
矩阵式键盘也称为行列式键盘,用输入和输出口线组成行列结构,按键设置在行和列的交叉点上,按键闭合时,接通输入和输出口线。
矩阵式键盘在按键较多时可以节省I/O口线。
本次设计采用矩阵式键盘,并且按键识别的方法是扫描法。
在按键识别过程中,依次使行线输出低电平,然后检查列线的输入电平,如果所有列线的输入全为高电平,则该行无按键按下;如果不全为高电平,则被按下的按键在本行,且在输入电平变为低电平的列的交叉点上。
本次设计没有用线反转法是由于本次设计没有用到中断,而没有中断的情况下就要求我们必须不停地扫描键盘,因此线反转法在本次设计中并不是最好的按键识别方法。
键盘程序的流程图为:、对于温度比较模块,通过比较传感器温度和键盘温度,然后对被控对象作出调整。
由于本次设计采用的加热装置是灯泡,降温装置是自然冷却,因此如果单纯地令传感器温度和键盘温度相等,就会出现灯泡一闪一灭的抖动状态,本次的消抖方略是在设定温度上下各加2度。
使最终温度在这个范围内来回波动。
四、软硬件的总体概述本次设计的主题思路如下:本次设计的温度控制系统为手动、自动双重输入系统。
如果键盘没有按下键值,则系统自动将温度设定在40度到90度。
如果键盘输入数据,但数据不在40度到90度的范围之内,那么按没有输入键值处理。
如果键盘输入的数据在40度到90度范围内,那么系统会将被控对象的温度控制在设定温度左右,且误差不超过2度。
五、实现本次设计的功能板块分为四块,分别是温度传感器显示功能、键盘输入显示功能、无键盘输入自动调整功能、有键盘输入温度调整功能。
1.温度传感器显示功能温度传感器18B20能自动感应温度,并且内含AD转换器,能够直接输出一个温度值,并将它存储在单片机某一个单元内。
功能如图所示2.键盘输入显示功能键盘输入数值,数码管会显示输入的数值。
功能如图所示3.无键盘输入自动调整功能在没有键盘输入的情况下,被控对象的温度会被控制在40到90度以内。
功能如图所示4.有键盘输入温度调整功能当有键值输入且键值在40度到90度范围内时,被控对象的温度将被控制到设定温度左右,误差不超过2度。
功能如图所示调试过程中,出现过不少问题,诸如:1.发现在仿真开始后,数码管不亮原因:发现继电器用的不好解决方法:换了一个继电器2.发现温度传感器的温度并不能有效地显示在数码管上原因:温度传感器的程序有问题,其中31H和32H单元错写成了#31H和#32H。
解决方法:将31H和32H前面的#号去掉,温度开始正常显示。
3.发现键盘的数字按下后,键盘没有反应。
原因:程序中键盘的按键识别方法是线反转法,键盘的键值所对应的行与列不能有效接通。
解决方法:改用扫描法,键盘有了反应。
4.发现数码管显示的温度在不停地跳动。
原因:数码管显示程序中先输出字型码后选显示位置。
解决方法:数码管程序中先选显示位置后输出字型码。
5.在连接外电路灯泡时,发现接好后灯泡不亮。
原因:继电器的开关接线端接错解决方法:将继电器的接线端接好6.发现实物中当电灯泡的温度达到设定温度时,灯泡开始一亮一闪不停闪烁。
原因:灯泡的温度不停地升降,导致灯泡不停的抖动解决方法:在设定的温度上下各加2度,使温度在这个范围内来回波动。
六、结论本次设计的题目是温度控制系统,其主要思想是将温度控制在某一个设定的温度左右,误差不超过2度。
本次设计所包含的基本功能如下:当没有键值输入时,被控对象的温度将被设定在40到90度内,来回往复波动。
当有按键按下时,如果按键设置的温度不在40到90度内,那么按照没有按键输入来处理。
如果按键设置的温度在40到90度内,那么就将物体的温度设定在按键温度左右,且误差不超过2度。
本次设计中不足之处就是温度变化比较慢,可能原因是箱子的密封性不太好,传感器与灯泡距离远等原因。
改进方法是换一个密封性好一点的箱子,且箱子不要太大。
本次设计历时3周左右,花费了大量的精力和时间,可以说其中包含了诸多的汗水和付出。
通过翻阅书籍和不停地写程序调试,既增长了知识,又增加了经验。
其过程中有苦有甜,不足道也。
最后感谢老师的指导和同学的帮助。
七、附录1原理图附录2元件明细单片机89C52温度传感器18B20驱动74LS245三线—八线译码器数码管键盘继电器附录3电路程序ORG 0000HLJMP STATORG 0100HSTA T:CLR EA ;关闭中断MOV SP,#70H ;开辟栈区CLR 00H ;DS18B20标志位SETB P3.3 ;关闭加热MOV R1,#00H ;清R1MOV 31H,#00HMOV 32H,#00HMOV 41H,#00H ;设置键盘设定温度的高位MOV 42H,#00H ;设置键盘设定温度的低位MOV 51H,#00H ;设置测量温度高位MOV 52H,#00H ;设置测量温度低位MOV 55H,#00HMOV 61H,#00HMOV 62H,#00HLCALL INIT ;消除上电抖动BCDH:LCALL LOOP ;测温LCALL LOW1 ;显示测量温度LCALL LOW2 ;显示键盘设定温度LCALL KEYB ;扫描键盘LCALL LOW1 ;显示测量温度LCALL LOW2 ;显示键盘设定温度LCALL COMP ;比较温度LJMP BCDH ;返回键盘程序:KEYB:MOV P2,#00011111B ;置输入为1,输出为0MOV A,P2 ;读P2口的引脚状态ANL A,#00011111BXRL A,#00011111BJZ NOKEY ;判断有无按键按下ACALL DL20MS ;延时20MS消抖ANL A,#00011111B ;重读键盘XRL A,#00011111BJZ NOKEY ;再次判断有无按键按下MOV R2,#11101111B ;行扫描初始值,从第一行开始SCAN: MOV A,R2MOV P2,AMOV A,P2ANL A,#00001111BMOV R3,A ;取列线的引脚状态CJNE A,#00001111B,KEYP ;有键按下MOV A,R2RL A ;产生下次的行线输出MOV R2,AXRL A,#11111110BJNZ SCAN ;扫描完否,未完继续NOKEY:MOV R5,#0FFH ;无按键按下RETKEYP:MOV A,R2 ;取行扫描值ANL A,#11110000B ;计算行特征码ORL A,R3 ;计算按键特征码MOV R4,A ;按键特征码暂存在R4中MOV R5,#00H ;设置按键键值初始值MOV DPTR,#KEY_TAB ;特征码表首地址CALV:MOV A,R5 ;计算按键键值MOVC A,@A+DPTRXRL A,R4JZ FIXEDINC R5SJMP CALVFIXED:MOV A,P2 ;判断键值是否释放ANL A,#1FHXRL A,#1FHJNZ FIXEDACALL DL20MS ;延时消抖MOV A,P2ANL A,#1FHXRL A,#1FHJNZ FIXEDINC R5CJNE R1,#1,TURN ;判断是否是第二次按键MOV A,R5 ;若是第二次按键,则将数存在42H中,且R1加1 MOV 42H,AINC R1RETTURN:CJNE R1,#2,RNUO ;若不是第二次按键,则判断是否是第三次按键MOV A,R5 ;若是第三次按键,则将数存在41H中,42H清0 MOV 41H,A 且R1减1MOV 42H,#00HDEC R1RETRNUO:MOV A,R5 ;若是第一次按键,则数存在41H中,42H清0 MOV 41H,A 且R1加1MOV 42H,#00HINC R1RET比较程序:COMP:MOV A,41H ;判断是否有键按下,若有,跳到NEXT CJNE A,#00H,NEXTSGD: MOV A,51H ;无键按下时,判断是否在40到90度范围CJNE A,#4,GOOD 内MOV A,52HCJNE A,#00H,HUPCLR P3.3 ;若温度刚好在40度,则加热RETGOOD:JC NEQ ;判断温度是否大于40度,若小于,则跳转MOV A,51HCJNE A,#9,HUP ;判断温度是否小于90度,若小于,则跳转SETB P3.3 ;温度刚好为90度,关闭加热RETNEQ: CLR P3.3 ;启动加热RETHUP: RET ;结束NEXT:MOV A,41H ;当有键按下时,判断键值是否在40到90 CJNE A,#4,KJH 度范围内DRT: MOV A,41H ;若在范围内,则比较键盘设定温度和测量温度CJNE A,51H,ROMOV A,42HCJNE A,52H,RORET ;键盘设定温度和测量温度相同,不处理KJH: JC QDS ;判断设定温度是否大于40度,若小于,跳转MOV A,41HCJNE A,#9,DRT ;判断设定温度是否小于90度,若小于,跳转MOV A,42HCJNE A,#00H,QDSLJMP DRT ;等于90度,则跳转到DRTQDS: MOV 41H,#00HLJMP SGD ;小于40度,则跳转到SGDRETRO: JC GOON ;比较设定温度和测量温度,若设定温度小于测量MOV A,41H 温度,则跳转到GOONMOV 61H,AMOV A,42HMOV 62H,ACJNE A,#00H,QWE ;令设定温度减1度MOV 62H,#9DEC 61HPUO:MOV A,61H ;重新比较设定温度和测量温度CJNE A,51H,WEQMOV A,62HCJNE A,52H,WEQRET ;相等,不处理WEQ:CLR P3.3 ;不相等,启动加热RETQWE:MOV A,62HDEC AMOV 62H,ALJMP PUOGOON:MOV A,41HMOV 61H,AMOV A,42HMOV 62H,ACJNE A,#9,XCZ ;令设定温度加1度MOV 62H,#00HINC 61HYEC: MOV A,61H ;重新比较设定温度和测量温度CJNE A,51H,LKPMOV A,62HCJNE A,52H,LKPRET ;若相等,不处理LKP: SETB P3.3 ;若不等,关闭加热RETXCZ: MOV A,62HINC AMOV 62H,ALJMP YECDL20MS:MOV R2,#100 ;延时20mS消抖DEL3: MOV R3,#50DEL4: NOPNOPDJNZ R3,DEL4DJNZ R2,DEL3RET显示程序:LOW1:MOV R0,#51H ;显示测量温度,显示缓冲区地址MOV R2,#00000000B ;显示起始位置RED1:ACALL DISO ;显示一位MOV A,R2 ;计算下一个显示位置INC AMOV R2,AINC R0 ;修改缓冲区地址XRL A,#00000010B ;2位显示完否JNZ RED1 ;未完,继续显示RET ;返回DISO:MOV A,R2 ;取显示位置MOV P1,A ;显示MOV DPTR,#LED_SEG ;字型码表首地址MOV A,@R0 ;取显示数据MOVC A,@A+DPTR ;求显示数据的字型码MOV P0,A ;输出字型码ACALL DL1MS ;稳定显示1MSRETLED_SEG:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H;DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H; ;显示字型码表DB 3EH,50H,40H,08H,00H,显示程序LOW2:MOV A,41HCJNE A,#00H,BNMMOV 42H,#00HBNM: MOV R0,#41H ;显示设定温度,显示缓冲区地址MOV R2,#00000010B ;显示起始位置RED2:ACALL DISE ;显示一位MOV A,R2 ;计算下一个显示位置INC AMOV R2,AINC R0 ;修改显示缓冲区地址XRL A,#00000100B ;2位显示完否JNZ RED2 ;未完,继续显示RET ;返回DISE:MOV A,R2 ;取显示位置MOV P1,A ;显示MOV DPTR,#LED_SEG ;字型码表首地址MOV A,@R0 ;取显示数据MOVC A,@A+DPTR ;求显示数据的字型码MOV P0,A ;输出字型码ACALL DL1MS ;稳定显示1MSRETDL1MS:MOV R5,#10 ;延时1MS子程序DEL1: MOV R6,#30DEL0: NOPNOPDJNZ R6,DEL0DJNZ R5,DEL1RETKEY_TAB:DB 77H,7BH,7DH,0B7H,0BBH,0BDH,0D7H ;键盘字型码表DB 0DBH,0DDH温度传感器18B20程序:LOOP:LCALL RE ;温度传感器程序,初始化18B20 LCALL GETLCALL CONVLCALL OBCDRETRE: JB 00H,RE1 ;若18B20存在,转RE1RETRE1: MOV A,#0CCH ;发SKIP ROM命令LCALL WRMOV A,#4EH ;发写暂存存储器命令LCALL WRMOV A,#00H ;TH(报警上限)中写入00HLCALL WRMOV A,#00H ;TL(报警下限)中写入00HLCALL WRRETGET: SETB P1.3 ;定时入口LCALL INITJB 00H,TSS1RET ;若18B20不存在,则返回TSS1:MOV A,#0CCH ;跳过ROM匹配LCALL WRMOV A,#44H ;发出温度转换命令LCALL WRMOV R0,#250 ;等待A/D转换结束,12位的话750MS TSS2:NOPDJNZ R0,TSS2LCALL INITMOV A,#0CCH ;跳过ROM匹配LCALL WRMOV A,#0BEH ;发出读温度命令LCALL WRLCALL READMOV 55H,A ;将读出的温度数据保存RETINIT:SETB P1.3NOPCLR P1.3 ;主机发出延时540us的复位低脉冲MOV R0,#180TSR1:NOPDJNZ R0,TSR1SETB P1.3 ;拉高数据线NOPNOPMOV R0,#36TSR2:JNB P1.3,TSR3 ;等待DS18B20回应DJNZ R0,TSR2LJMP TSR4 ;延时TSR3:SETB 00H ;置标志位,表示DS18B20存在LJMP TSR5TSR4:CLR 00H ;清标志位,表示DS18B20不存在LJMP TSR7TSR5:MOV R0,#6BH ;200usTSR6:DJNZ R0,TSR6 ;复位成功,时序要求延时一段时间TSR7:SETB P1.3RETWR: MOV R2,#8 ;写18B20程序CLR CWR1: CLR P1.3MOV R3,#6DJNZ R3,$RRC AMOV P1.3,CMOV R3,#23DJNZ R3,$SETB P1.3NOPDJNZ R2,WR1SETB P1.3RETREAD:MOV R4,#2 ;读18B20程序,读高位和地位MOV R0,#32H ;低位存入32H,高位存入31HRE00:MOV R2,#8RE01:CLR CSETB P1.3NOPNOPCLR P1.3NOPNOPNOPSETB P1.3MOV R3,#7DJNZ R3,$MOV C,P1.3MOV R3,#23DJNZ R3,$RRC ADJNZ R2,RE01MOV @R0,ADEC R0DJNZ R4,RE00RETCONV:MOV R7,#04RED0:CLR CMOV A,31HRRC AMOV 31H,AMOV A,32HRRC AMOV 32H,ADJNZ R7,RED0RETOBCD:MOV A,32H ;将温度转换为10进制MOV B,#100DIV ABMOV R3,AMOV A,#10XCH A,BDIV ABMOV 51H,A ;高位存在51H MOV 52H,B ;低位存在52H RET。