温度控制器的设计与制作doc资料

合集下载

温度控制器设计

温度控制器设计

帮不帮温度控制器设计一、设计任务设计一个可以驱动1kW加热负载的水温控制器,具体要求如下:1、能够测量温度,温度用数字显示。

2、测量温度范围0〜100℃,测量精度为0.5℃。

3、能够设置水温控制温度,设定范围40〜90℃,且连续可调。

设置温度用数字显示。

4、水温控制精度W±2℃。

5、当超过设定的温度20℃时,产生声、光报警。

二、设计方案分析根据设计要求,该温度控制器是既可以测量温度也可以控制温度,其组成框图如图1所示。

图1温度控制器原理框图因为要求对温度进行测量显示,所以首先采用温度传感器,将温度变化转换成相应的电信号,并通过放大、滤波后送A/D转换器变成数字信号,然后进行译码显示。

若要求温度被控制在设定值附近,则要求将实际测量温度的信号与温度的设定僮基准电压)进行比较,根据比较结果(输出状态)来驱动执行机构,实现自动地控制、调节系统的温度。

测量的温度可以与另一个设定的温度上限比较器相比较,当温度超过上限温度值时,比较器产生报警信号输出。

1、温度检测及信号处理温度检测是温控系统的最关键部分,它只接影响整个系统的测量、控制精度。

目前检测温度的传感器很多,其测量范围、应用场合等也不尽相同。

例如热电偶温度传感器目前在工业生产和科学研究中已得到了广泛的应用,它是将温度信号转化成电动势。

目前热电偶温度传感器已形成系列化和标准化,主要优点是:它属于自发电型传感器,测量温度时可以不需要外加电源;结构简单,使用方便,热电偶的电极不受大小和形状的限制;测量温度范围广,高温热电偶测温高达1800 c以上,低温热电偶可测-260℃以下,目前主要用在高温测量工业生产现场中。

热电阻温度传感器是利用电阻值随温度升高而增大这一特性来测量温度的,目前应用较为广泛的热材料是铜和铂。

在铜电阻和伯电阻中,伯电阻性能最好,非常适合测量-200〜+960℃范围内的温度。

国内统一设计的工业用伯电阻常用的分度号有Pt25、Pt100 等,Pt100即表示该电阻的阻值在0c时为100Q。

温度控制器的设计与技巧

温度控制器的设计与技巧

放大 元件基极 电流 的很小变化就 能使集 电极 电流有很大 的变 控 硅 SCR的 控 制 极 与 阴 极 之 间 就 电 阻 较 大 ,有 一 定 的 控 制
化 ,在其集 电极 电阻上会产生较高 的电压变化 ,该 电压变化 电压 ,控 制 极 与 阳 极 之 间就 导通 ,负 载 RL中 就 有 电 流通 过 ,
原理 进行 必 要 的研 究。
下 降 到 规 定 值 时 , Rt的 电 阻 值 就 增 大 到 合 适 值 一_÷Rt上
1.恒温控制方案介绍
电 压 就 相 应 地 增 大 到 合 适 值 一-÷Vl基 极 电流 就 增 大 到 合 适 值 一_÷Vl的集 电极 电流就放大到合适值 一-÷R2上 电压就放
二 极 管 :D6、D3、D2、D1为 整 流 二 极 管, 如 1N4001~ 1N4005;DIO、 D9、 D8、D7也 是 整 流 二 极 管 ,由可控硅 SCR决定其工作 电流 :D5为 1.5V的红色发光
LED。
三极管 :V1为 9015型 ;V2和 V3为 9014型。 电阻:Rt= lkQ(负温度 系数),Rpl: lOkD微调 电阻,
WWW ele169 ̄om l 43
如图 l'恒温控制 电路系统 由温度 探头 ,温度探 头感 觉 大到合适 值 一_÷V2就变成饱和而 导通 一_÷V2的集 电极 电位
到的微小 信号作为放大 元件 的基极信 号;放大元件运用 的三 就下 降到饱和值 一_÷V3的集 电极 电位就升高到截止值 一_÷D4
极管 是 PNP型,开关元件运用 的三极管是 NPN型 ,于是 , 与 D5中无 电流就 不发光 ,光电耦合器 中的 V4不 导通,可
关键词 :传感元件;可控硅 ;恒温控 制;加热元件

温度控制器毕业论文

温度控制器毕业论文

题目:温度控制器的设计机电工程学院李小草摘要本文设计了一个温度自动控制器。

本设计以单片机(8031)为控制核心,外加硬件电路,将温度显示和数字控制集和于一体,实现智能温度控制。

并采取软件程序实现升温的调节,能对加热炉的升温速度和保温时间严格控制。

单片机控制系统由微处理器和工业生产对象两大部分组成。

本文是通过热敏电阻和单片机等,来实现对工程上一些系统的温度进行范围控制的过程。

关键词:测温;PID算法;单片机;温度控制器目录摘要 (I)ABSTRACT (II)第1章前言 (1)1.1 概述 (2)1.2 课题分析 (2)1.3 设计思路 (2)第2章系统的基本组成及工作原理 (3)2.1 系统的基本组成 (3)2.2 系统的基本工作原理 (3)第3章测温电路的选择及设计 (5)3.1热电偶测温电路 (5)3.1.1 热电偶 (5)3.1.2 毫伏变送器 (6)3.2热敏电阻测温电路 (6)3.2.1 热敏电阻 (6)3.2.2 关于铂电阻的特性 (7)3.2.3 温度丈量电路 (7)第4章芯片组的电路设计 (8)4.1A D C0809与8031接口硬件电路设计 (8)4.28155与8031接口硬件电路设计 (9)4.2.1 8155芯片的结构 (9)4.2.28155与8031接口电路 (9)4.32732E P R O M的工作原理及硬件接口设计 (11)第5章掉电呵护功能电路 (14)第6章温度控制电路 (15)6.1温度控制电路 (15)6.2控制规律的选择 (16)第7章系统程序设计 (18)7.1系统控制主程序 (18)T中断服务程 7.20序 (20)7.3采样程序及其流程图 (24)7.4数字滤波子程序及其流程图 (25)总结 (27)致谢 (28)参考文献 (29)附录 (30)第1章前言现代信息技术的三大基础是信息收集控制(即温度控制器技术)、信息传输(通信技术)和信息处理(计算机技术)。

简单的温度控制器设计原理

简单的温度控制器设计原理

简单的温度控制器设计原理温度控制器是一种用于控制某个系统或装置的温度的设备,可以自动调节温度并保持在特定范围内。

它通常由传感器、控制器、执行器等组成,通过不断监测环境温度,计算偏差并作出相应的调整来实现温度控制。

温度控制器的设计原理涉及到传感器、控制器和执行器的协同工作。

其中传感器用于检测环境温度,并将检测到的温度信号转化为电信号;控制器则对传感器的信号进行处理,计算出温度的偏差,并根据预设的控制算法作出相应的调节策略;执行器则根据控制器的指令,实现对系统的温度调节。

在温度控制器中,传感器是非常重要的一部分,通过传感器的准确测量,可以实现对环境温度的实时监测。

常见的传感器包括热电偶、热敏电阻、红外线传感器等。

这些传感器可以将温度转化为电信号,并通过连接到控制器的电路进行传递。

控制器是温度控制器的核心部件,主要负责对传感器的信号进行处理,并生成控制信号。

控制器通常包括一个微处理器或控制芯片,用于计算温度的偏差,并根据预设的控制算法来调节温度。

控制器通常具有一定的的控制逻辑,可以根据具体的场景要求来进行温度的控制模式选择。

执行器则是根据控制器发出的指令来实现温度调节的部分。

常见的执行器包括加热装置、冷却装置、换向阀等。

执行器的作用是根据控制器的指令来实现相应的温度调节操作,例如调节加热元件功率、打开或关闭冷却设备等,以使系统的温度保持在目标范围内。

整个温度控制器的工作过程可以描述为下面的流程:首先,传感器不断地检测环境温度,并将检测到的温度数据转化为电信号。

然后,控制器接收到传感器的信号后,计算出温度的偏差,并根据预设的控制算法生成控制信号。

最后,执行器根据控制器发出的控制信号来进行相应的操作,从而实现对系统温度的调节。

温度控制器的设计目标是使系统的温度能够稳定地控制在预设的目标范围内,以满足特定的环境要求。

为了实现这个目标,温度控制器的设计需要考虑以下几个方面:首先,传感器的选择和校准是非常重要的,确保传感器能够准确地反映环境温度。

基于单片机的水温控制器设计

基于单片机的水温控制器设计

基于单片机的水温控制器设计引言水温控制在很多领域中都具有重要的应用价值,例如温室、鱼缸、热水器等。

基于单片机的水温控制器能够自动调控水温,提高水温的稳定性和准确性。

本文将介绍如何设计一个基于单片机的水温控制器,以实现对水温的精确控制。

一、硬件设计1.单片机选择选择一个合适的单片机对于设计一个稳定可靠的水温控制器至关重要。

常用的单片机有STC89C52、AT89C52等。

在选择时应考虑单片机的性能、功耗、接口等因素。

2.温度传感器温度传感器用于检测水温,常用的有NTC热敏电阻和DS18B20数字温度传感器。

NTC热敏电阻价格便宜,但精度较低,DS18B20精度高,但价格相对较贵。

3.加热装置加热装置用于根据温度控制器的输出信号进行加热或制冷。

可以选择加热丝、加热管或半导体制冷片等。

4.驱动电路驱动电路用于将单片机的输出信号转换为合适的电流或电压,驱动加热装置。

可以选择晶体管或继电器等。

5.显示模块可以选择液晶显示屏或LED数码管等显示水温的数值。

二、软件设计1.初始化设置首先,对单片机进行初始化设置,包括引脚配置、定时器设置等。

然后,设置温度传感器和加热装置的引脚。

最后,设置温度范围,以便根据实际需求进行调整。

2.温度检测使用温度传感器检测水温,并将读取到的温度值转换为数字形式,以便进行比较和控制。

可以使用ADC(模拟-数字转换)模块转换模拟信号为数字信号。

3.控制算法本设计中可以采用PID控制算法进行水温控制。

PID(Proportional-Integral-Derivative)控制算法根据设定值和反馈值之间的差异来计算控制信号。

可以根据需求进行参数调整,以获得更好的控制效果。

4.显示和报警使用显示模块显示当前水温的数值,并在温度超出设定值时触发报警功能。

报警可以采用声音、灯光等形式。

5.控制输出根据PID算法计算出的控制信号,控制驱动电路,驱动加热装置或制冷装置,以实现水温的调节。

总结基于单片机的水温控制器能够实现对水温的精确控制。

温度控制器的设计与制作

温度控制器的设计与制作

6.4实施—制作过程6.4.1硬件设计温度测量采用最新的单线数字温度传感器DS18B20,DS18B20是美国DALLAS 半导体公司最新推出的一种改进型智能温度传感器。

与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

可以分别在93.75ms 和750ms 内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。

因而,使用DS18B20可使系统结构更趋简单,可靠性更高。

降温控制系统采用低压直流电风扇。

当温度高于设定最高限温度时,启动风扇降温,当温度降到指定最高限温度以下后,风扇自动停止运转。

温控系统的温度显示和温度的设定直接采用综合实训板上的显示和键盘。

当环境温度低于设定的最低限温度值时,也采用综合实训板上的蜂鸣器进行报警。

用0#、1#键作为温度最高限、最低限的设定功能键;2#、3#键作为温度值设定的增加和减小功能键。

0#键:作为最高限温度的设定功能键。

按一次进入最高限温度设定状态,选择最高限温度值后,再按一次确认设定完成。

1#键:作为最低限温度的设定功能键。

按一次进入最低限温度设定状态,选择最低限温度值后,再按一次确认设定完成。

2#键:+1功能键,每按一次将温度值加1,范围为1~99℃。

3#键:-1功能键,每按一次将温度值减1,范围为99~1℃。

6.4.2软件设计(1)温控系统采用模块化程序结构,可以分成以下程序模块:①系统初始化程序:首先完成变量的设定、中断入口的设定、堆栈、输入输出口及外部部件的初始化工作。

②主程序MAIN :完成键盘扫描、温度值采集及转换、温度值的显示。

当温度值高于设定最高限时,驱动风扇工作;当温度值低于设定最低限时,驱动蜂鸣器报警。

③键盘扫描程序KEYSCAN :完成键盘的扫描并根据确定的键值执行相应的功能,主要完成最高温度、最低温度的设定。

实验报告

第I 页课程设计说明书数字显示温度控制器设计制作摘要在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。

在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。

本次设计一个数字显示温度的测量与控制装置.应用温度敏感元件和二次仪表的组合,对温度进行调节、控制,且能直接读数.经实验验证此控制器的性能指标达到要求,为温度测量与控制的工业应用奠定了一定的基础。

关键词:温度传感器数字电压表温度控制执行机构。

第II 页课程设计说明书目录1设计任务及要求 (1)2数字温度控制器设计方案 (1)3温度控制器电路的设计 (3)3.1温度传感器的选择 (3)3.2采样电路及校准电路 (4)3.3上下限采集电路 (5)3.4温度比较电路 (6)3.5 温度控制电路 (7)3.7 显示温度电路 (10)3.8 直流电源电路 (12)3.8.1稳压电源设计 (12)3.8.2 电路设计 (14)4整机工作原理 (14)5整体电路图 (16)致谢 (18)参考文献 (18)课程设计说明书1 设计任务及要求采用热敏电阻作为温度传感器,由于温度变化而引起的电压变化,在利用比较运算放大器与设置的温度值对应的电压进行比较,输出高或低电平从而对控制对象加热器进行控制。

其电路可分为三部分:测温电路,比较/显示电路,控制电路。

设计要求:(1):实现题目要求的内容(2):电路在功能相当的情况下越简单越好(3):要求输入电压为5V,红绿发光二极管为负载(4):调节电位器,使红,绿发光二极管交替点亮2 数字温度控制器设计方案方案1:此电路是一种数字温度控制器的参考设计方案图1 方案流程图原理:温度检测电路通过热敏电阻检测温度并将温度信号转化成电压信号,时钟发生器产生的脉冲启动A/D转换电路。

通过A/D转换电路将模拟信号转化成数字信号,利用4课程设计说明书线——7段显示译码器/驱动器将得到的BCD码送至LED数码显示管显示。

温度控制系统的设计与实现

温度控制系统的设计与实现汇报人:2023-12-26•引言•温度控制系统基础知识•温度控制系统设计目录•温度控制系统实现•温度控制系统应用与优化01引言目的和背景研究温度控制系统的设计和实现方法,以满足特定应用场景的需求。

随着工业自动化和智能制造的快速发展,温度控制系统的性能和稳定性对于产品质量、生产效率和能源消耗等方面具有重要影响。

03高效、节能的温度控制系统有助于降低生产成本、减少能源浪费,并提高企业的竞争力。

01温度是工业生产过程中最常见的参数之一,对产品的质量和性能具有关键作用。

02温度控制系统的稳定性、准确性和可靠性直接关系到生产过程的稳定性和产品质量。

温度控制系统的重要性02温度控制系统基础知识温度控制系统的性能指标包括控制精度、响应速度、稳定性和可靠性等,这些指标直接影响着系统的性能和效果。

温度控制原理是利用温度传感器检测当前温度,并将该信号传输到控制器。

控制器根据预设的温度值与实际温度值的差异,通过调节加热元件的功率来控制温度。

温度控制系统通常由温度传感器、控制器和加热元件组成,其中温度传感器负责检测温度,控制器负责控制加热元件的开关和功率,加热元件则是实现温度升高的设备。

温度控制原理温度传感器是温度控制系统中非常重要的组成部分,其工作原理是将温度信号转换为电信号或数字信号,以便控制器能够接收和处理。

常见的温度传感器有热敏电阻、热电偶、集成温度传感器等,它们具有不同的特点和适用范围。

选择合适的温度传感器对于温度控制系统的性能和稳定性至关重要。

温度传感器的工作原理加热元件的工作原理加热元件是温度控制系统中实现温度升高的设备,其工作原理是通过电流或电阻加热产生热量,从而升高环境温度。

常见的加热元件有电热丝、红外线灯等,它们具有不同的特点和适用范围。

选择合适的加热元件对于温度控制系统的性能和安全性至关重要。

控制算法是温度控制系统的核心部分,其作用是根据预设的温度值和实际温度值的差异,计算出加热元件的功率调节量,以实现温度的精确控制。

单片机温度控制系统设计及实现

单片机温度控制系统设计及实现温度控制是很多自动化系统中的重要部分,可以应用于许多场景,如家用空调系统、工业加热系统等。

本文将介绍如何利用单片机设计和实现一个简单的温度控制系统。

一、系统设计1. 硬件设计首先,我们需要选择合适的硬件来搭建我们的温度控制系统。

一个基本的温度控制系统由以下几个组件组成:- 传感器:用于检测环境的温度。

常见的温度传感器有热敏电阻和温度传感器。

- 控制器:我们选择的是单片机,可以根据传感器的读数进行逻辑判断,并控制输出的信号。

- 执行器:用于根据控制器的指令执行具体的动作,例如开启或关闭空调。

2. 软件设计温度控制系统的软件部分主要包括,传感器读取、温度控制逻辑和执行器控制。

我们可以使用C语言来编写单片机的软件。

- 传感器读取:通过串口或者模拟输入端口来读取传感器的数据,可以利用类似的库函数或者自己编写读取传感器数据的函数。

- 温度控制逻辑:根据读取到的温度值,判断当前环境是否需要进行温度调节,并生成相应的控制信号。

- 执行器控制:将控制信号发送到执行器上,实现对温度的调节。

二、系统实施1. 硬件连接首先,将传感器连接到单片机的输入端口,这样单片机就可以读取传感器的数据。

然后,将执行器连接到单片机的输出端口,单片机可以通过控制输出端口的电平来控制执行器的开关。

2. 软件实现编写单片机的软件程序,根据前面设计的软件逻辑,实现温度的读取和控制。

首先,读取传感器的数据,可以定义一个函数来读取传感器的数据并返回温度值。

其次,根据读取到的温度值,编写逻辑判断代码,判断当前环境是否需要进行温度调节。

如果需要进行温度调节,可以根据温度的高低来控制执行器的开关。

最后,循环执行上述代码,实现实时的温度检测和控制。

三、系统测试和优化完成软硬件的实施之后,需要对温度控制系统进行测试和优化。

1. 测试通过模拟不同的温度情况,并观察控制器的输出是否能够正确地控制执行器的开关。

可以使用温度模拟器或者改变环境温度来进行测试。

基于单片机的智能冰箱温度控制器的设计

基于单片机的智能冰箱温度控制器的设计智能冰箱温度控制器是一种基于单片机的温度控制系统,通过对温度传感器数据的采集和处理,可以实现对冰箱内部温度的精确控制。

本文将介绍该智能冰箱温度控制器的设计原理、硬件组成和软件实现。

设计原理:智能冰箱温度控制器的设计原理是通过感知冰箱内部温度并根据设定的温度值自动控制制冷或加热设备的工作,以维持冰箱内部温度在设定范围内。

其主要实现步骤如下:1.温度传感器采集:使用温度传感器(如DS18B20)对冰箱内部温度进行采集,将温度值转换为数字量。

2.温度数据处理:通过单片机对温度传感器采集的数据进行处理,可以实现多种功能,如温度变化的实时监测、故障检测及报警等。

3.温度控制算法:根据采集到的温度值和设定的温度范围,决定是否打开制冷或加热装置。

在制冷过程中,当温度低于设定范围时,打开制冷装置,使温度升高;当温度高于设定范围时,关闭制冷装置。

加热过程与此类似。

4.控制输出:通过单片机的IO口控制制冷或加热装置的开关,实现对温度的控制。

硬件组成:智能冰箱温度控制器的硬件组成主要包括单片机、温度传感器、继电器、显示屏和按键等。

1.单片机:选择适合的单片机(如STC89C52)作为主控芯片,负责采集并处理温度数据,控制制冷或加热装置的开关。

2.温度传感器:选择精度高、性能稳定的温度传感器(如DS18B20),能够准确地采集冰箱内部温度。

3.继电器:通过继电器,单片机可以控制制冷或加热装置的开关。

继电器的选型要考虑到其负载电流和电压的要求。

4.显示屏和按键:为了方便用户操作和监控系统状态,可以添加液晶显示屏和按键。

显示屏用于显示当前温度和设置的目标温度,按键用于设定目标温度。

软件实现:智能冰箱温度控制器的软件实现主要包括温度数据采集和处理、温度控制算法的实现以及用户界面的设计。

1.温度数据采集和处理:通过单片机的ADC接口读取温度传感器采集到的模拟量,并转换为数字量。

然后,通过算法将数字量转换为实际温度值,并保存在变量中供后续使用。

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

温度控制器的设计与制作一、功能要求设计并制作一个温度控制器,用于自动接通或断开室内的电加热设备,从而使室内温度达到设定温度要求,并能实时显示室内温度。

当室内温度大于等于设定温度时,控制器断开电加热设备;当室内温度比设定温度小2时,控制器接通电加热设备。

控温范围:0~51控温精度:≤1二、硬件系统设计1.硬件系统由七部分组成,即单片机及看门狗电路、温度检测电路、控制输出电路、键盘电路、显示电路、设置温度储存电路及电源电路。

(1)单片机及看门狗电路根据设计所需的单片机的内部资源(程序存储器的容量、数据存储器的容量及I/O口数量),选择AT89C51-24PC较合适。

为了防止程序跑飞,导致温度失控,进而引起可怕的后果,本设计加入了硬件看门狗电路IMP813L,如果它的WDI脚不处于浮空状态,在1.6秒内WDI不被触发(即没有检测到上什沿或下降沿),就说明程序已经跑飞,看门狗输出端WDO将输出低电平到手动复位端,使复位输出端RST发出复位信号,使单片机可靠复位,即程序重新开始执行。

(注:如果选用AT89S51,由于其内部已具有看门狗电路,就不需外加IMP813L)(2)温度检测电路温度传感器采用AD590,它实际上是一个与绝对温度成正比的电流源,它的工作电压为4~30V,感测的温度范围为-550C~+1500C,具有良好的线性输出,其输出电流与温度成正比,即1μA/K。

因此在00C时的输出电流为273.2μA,在1000C时输出电流为373.2μA。

温度传感器将温度的变化转变为电流信号,通过电阻后转变电压信号,经过运算放大器JRC4558运算处理,处理后得到的模拟电压信号传输给A/D转换部分。

A/D转换器选用ADC0804,它是用CMOS集成工艺制成的逐次逼近型模数转换芯片,分辨率8位,转换时间100μs,基准电压0~5V,输入模拟电压0~5V。

(3)控制输出电路控制信号由单片机的P1.4引脚输出,经过光耦TLP521-1隔离后,经三极管C8550直接驱动继电器WJ108-1C-05VDC,如果所接的电加热设备的功率≤2KW,则可利用继电器的常开触点直接控制加热设备,如果加热设备的功率>2KW,可以继电器控制接触器,由接触器直接控制加热设备。

(4)键盘电路键盘共有四个按键,分别是S1(设置)、S2(+)、S3(-)、S4(储存)。

通过键盘来设置室内应达到的温度,键盘采用中断方式控制。

(5)显示电路显示电路由两位E10501_AR数码管组成,由两片74LS164驱动,实现静态显示,74LS164所需的串行数据和时钟由单片机的P3.0和P3.1提供。

对于学过“串行口”知识的班级,实习时,可以采用串行口工作于方式0,即同步移位寄存器的输出方式,通过串行口输出显示数据(实时温度值或设置温度值);对于没学过“串行口”知识的班级,实习时,可以采用模拟串行口的输出方式,实现显示数据的串行输出。

(6)设置温度存储电路为了防止设定温度在电源断电后丢失,此设计加入了储存电路,储存器选用具有I2C总线功能的AT24C01或FM24C01均可。

每次通过键盘设置的室内设定温度都通过储存器储存起来,即使是电源断电,储存器存储的设定温度也不丢失,在电源来电后,单片机自动将设定温度从储存器中读出,一方面避免了断电后的更新设置工作;另一方面也保护了控制器控制的安全性,可靠性。

(7)电源电路电源采用了串联型集成稳压器电路,电源有两路输出,一路由L7805CV稳压输出+5V,除JRC4558、AD590外,电路的其它部分均由+5V供电;一路由MC78L12和LM79L12稳压输出±12V,给JRC4558、AD590供电。

当然这里还可以选择现成的开关型稳压电源,但;----------------------------;温度控制器源程序;----------------------------s1 bit p1.0 ;s1按键控制口位s2 bit p1.1 ;s2按键控制口位s3 bit p1.2 ;s3按键控制口位s4 bit p1.3 ;s4按键控制口位wdkz bit p1.4 ;温度控制口位wdi bit p1.5 ;看门狗触发端sda bit p1.7 ;AT24C01的数据线scl bit p1.6 ;AT24C01的时钟线drxd bit p3.0 ;74LS164数据dtxd bit p3.1 ;74ls164时钟intr bit p3.2 ;A/D转换结束信号控制口位szled bit p3.5 ;设置LEDsbz bit 00h ;秒标志位swwd equ 30h ;十位温度的BCD码存储单元gwwd equ 31h ;个位温度的BCD码存储单元adpj equ 32h ;A/D转换后的平滑滤波值存储单元szwd equ 33h ;设置温度值存储单元adwz equ 34h ;5次A/D值的初始位置,即34h~38h mjsz equ 39h ;1秒记数值(50ms次数)smjsz equ 3ah ;3秒记数值(200ms次数)shmjsz equ 3bh ;10秒记数值(200ms次数)org 0000hljmp startorg 000bhljmp timezd ;T0中断org 0013hljmp temszzd ;INT1中断org 0030hstart: clr sbzmov mjsz,#20mov smjsz,#15mov shmjsz,#50mov sp,#60h;--------------赋初值;lcall durommov szwd,a;--------------读设置温度mov tmod,#01hmov th0,#3chmov tl0,#0b0hsetb tr0;--------------定时器T0的设定及启动 setb it1setb ex1setb et0setb ea;--------------开中断(INT1和T0中断) cyc: lcall adzhmov a,adpjlcall bcdzhlcall displcall tembjjnb sbz,$clr sbzlcall wdogsjmp cyc;---------------------------;模数转换子程序名:adzh;入口参数:无;出口参数:adpj;---------------------------adzh: push pswpush accmov r1,#adwzmov r2,#5adzh1: movx @r0,ajb intr,$movx a,@r0mov @r1,ainc r1djnz r2,adzh1;--------------5次A/D值完成mov r0,#adwzmov r2,#5lcall paix;--------------5次A/D值排序mov r5,#00hmov r6,#00hmov r7,#3mov a,#adwzadd a,#1mov r1,ajiafa: mov a,@r1add a,r5mov r5,amov a,r6addc a,#0mov r6,ainc r1djnz r7,jiafa;--------------去极值后,余下的3个值求和(和在r6r5中) chufa: mov r3,#16mov r4,#30mov r7,#0mov a,r5add a,r5mov r5,amov a,r6addc a,r6mov r6,amov a,r5add a,#15mov r5,amov a,r6addc a,#0mov r6,a;--------------为"四舍五入"作准备即和值乘以2加上15除以30 chufa1: clr cmov a,r5rlc amov r5,amov a,r6rlc amov r6,amov a,r7rlc asubb a,r4jnc chufa2add a,r4sjmp chufa3chufa2: inc r5chufa3: mov r7,adjnz r3,chufa1mov adpj,r5;-------------完成温度平均值pop accpop pswret;--------------------------------;排序子程序名:paix(从大到小);入口参数:R0指向数据存储区的首地址,R2存放数据长度;--------------------------------paix: push pswpush accpaix0: mov a,r0mov r1,amov a,r2mov r5,adec r5clr f0paix1: mov a,@r1inc r1clr csubb a,@r1jnc paix2setb f0add a,@r1xch a,@r1dec r1mov @r1,ainc r1paix2: djnz r5,paix1jnb f0,paix3clr f0dec r2cjne r2,#01h,paix0paix3: pop accpop pswret;--------------------------------;T0中断程序名:timezd;出口参数:sbit;--------------------------------timezd: mov th0,#3chmov tl0,#0b0hdjnz mjsz,timezd1mov mjsz,#20setb sbztimezd1: reti;--------------------------------;温度设置中断程序名:temszzd;入口参数:szwd;出口参数:szwd;-------------------------------- temszzd: push pswpush accclr rs1setb rs0clr tr0mov a,szwdlcall bcdzhlcall disptemsz0: lcall wdoglcall delay200msjb s1,temsz0aljmp temsz0btemsz0a: ljmp ret0temsz0b: djnz smjsz,temsz0mov smjsz,#15clr szledwdog1: lcall wdoglcall delay200msjnb s1,wdog1ljmp temsz2temsz1: lcall delay200msdjnz shmjsz,temsz2mov shmjsz,#50ljmp ret0temsz2: jb s2,temsz3lcall delay20msjb s2,temsz3wdog2: lcall wdoglcall delay200msjnb s2,wdog2inc szwdmov a,szwdcjne a,#52,temsz2amov a,#51mov szwd,atemsz2a: lcall bcdzhlcall dispmov shmjsz,#50sjmp temsz2temsz3: jb s3,temsz4lcall delay20msjb s3,temsz4wdog3: lcall wdoglcall delay200msjnb s3,wdog3dec szwdmov a,szwdcjne a,#255,temsz3amov a,#0mov szwd,atemsz3a: lcall bcdzhlcall dispmov shmjsz,#50sjmp temsz2temsz4: jb s4,temsz1lcall delay20msjb s4,temsz1wdog4: lcall wdoglcall delay200msjnb s4,wdog4lcall xieromret0: setb szledmov a,adpjlcall bcdzhlcall displcall wdogsetb tr0pop accpop pswreti;--------------------------------- ;bcd码转换子程序名:bcdzh;入口参数:a;出口参数:swwd、gwwd;--------------------------------- bcdzh: push pswpush bmov b,#10div abmov swwd,amov gwwd,bpop bpop pswret;---------------------------------- ;温度比较子程序名:tembj;入口参数:adpj、szwd;出口参数:wdkz;---------------------------------- tembj: push pswpush accmov a,adpjcjne a,szwd,tembj0tembj0: jc tembj1setb wdkzsjmp tembj3tembj1: add a,#2cjne a,szwd,tembj2tembj2: jnc tembj3clr wdkztembj3: pop accpop pswret;---------------------------;读ROM子程序名:durom;出口参数:a;--------------------------- durom: push pswclr sda ;启动AT24C01mov a,#0a0hlcall a_sendmov a,#08hlcall a_sendsetb sclsetb sdaclr sdamov a,#0a1hlcall a_sendlcall a_receiveclr sdanopnopsetb sclnopnopsetb sdapop pswret;-------------------------------;字节发送子程序名:a_send;入口参数:a;------------------------------- a_send: push pswmov r0,#08ha_send1: clr sclrlc amov sda,cnopsetb sclnopnopnopdjnz r0,a_send1clr sclnopnopnopsetb scla_loop: mov c,sdajc a_loopclr sclpop pswret;------------------------------- ;字节接收子程序名:a_receive;出口参数:a;------------------------------- a_receive:push pswmov r0,#08ha_rec: setb sclnopnopmov c,sdarlc aclr sclnopnopdjnz r0,a_recsetb sdanopnopsetb sclnopnopclr sclpop pswret;-------------------------------------------- ;写ROM子程序名:xierom;入口参数:szwd;-------------------------------------------- xierom: push pswpush accsetb sclsetb sdaclr sdamov a,#0a0hlcall a_sendmov a,#08hlcall a_sendmov a,szwdlcall a_sendclr sdanopnopsetb sclnopnopsetb sdalcall delay50mspop accpop pswret;---------------------------------;延时200mS子程序名:delay200ms;---------------------------------delay200ms:mov r7,#4del1: mov r6,#200del2: mov r5,#123nopdjnz r5,$djnz r6,del2djnz r7,del1ret;------------------------------------------- ;延时50ms子程序名:delay50ms;-------------------------------------------mov r7,#200dela1: mov r6,#123nopdjnz r6,$djnz r7,dela1ret;------------------------------------------- ;延时20ms子程序名:delay20ms;------------------------------------------- delay20ms:mov r7,#80delay1: mov r6,#123nopdjnz r6,$djnz r7,delay1ret;------------------------------------------ ;看门狗子程序名:wdog;------------------------------------------ wdog: clr wdisetb wdiclr wdiret;------------------------------------------ ;显示子程序disp;入口参数:swwd、gwwd;------------------------------------------ disp: push pswpush accpush bmov dptr,#tabmov a,swwdcjne a,#00h,n0mov a,#0ffhajmp n1n0: movc a,@a+dptrn1: lcall zjfsmov a,gwwdmovc a,@a+dptrlcall zjfspop bpop accpop pswzjfs: mov r0,#08hclr czjfs1: rrc amov drxd,csetb dtxdnopnopnopnopnopnopclr dtxdnopnopnopnopnopnopdjnz r0,zjfs1rettab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90hend四、系统调试1. 硬件系统的调试(1)看温度检测电路部分,图中标有V i1、V i2、V o ,由运放构成的差分比例运算电路可得: 21)22321)(424231()223211(i i o V R RP R RP R R V R RP R V +++-++= 搭接电路前,要准确调整RP3,保证422321=+R RP R ;要准确调整RP4,保证4142423=+RP R R ;保证了上述两项,即保证了)(521i i o V V V -=。

相关文档
最新文档