1水温控制器的设计与实现

合集下载

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

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

基于单片机的水温控制系统设计水温控制系统在许多领域中都具有重要的应用价值,例如温室农业、水族馆、游泳池等。

在这些应用中,保持水温在一个合适的范围内对于生物的生存和健康至关重要。

基于单片机的水温控制系统设计是一种有效的方法,它可以实现对水温的精确控制和调节。

本文将详细介绍基于单片机的水温控制系统设计原理、硬件实现和软件编程等方面内容。

第一章研究背景与意义1.1研究背景随着科技的飞速发展,人们对生活品质的追求不断提高,对家电设备的智能化要求也越来越高。

其中,水温控制系统在热水器、空调等家电产品中具有广泛的应用。

精确控制水温对于提高用户体验、节约能源和保护环境具有重要意义。

然而,现有的水温控制系统存在控制精度不高、响应速度慢等问题,因此,研究一种新型的水温控制系统具有重要的实际意义。

1.2研究意义本研究旨在提出一种新型的水温控制系统,通过对水温进行精确控制,提高家电产品的性能和用户体验。

此外,本研究还将探讨系统性能的评估和改进方法,为水温控制领域的研究提供理论支持。

第二章水温控制系统设计原理2.1 水温测量原理本章将介绍水温的测量原理,包括热电偶、热敏电阻、红外传感器等常用温度传感器的原理及特点。

通过对各种传感器的比较,选出适合本研究的温度传感器。

2.2温度传感器选择与应用在本研究中,我们将选择一种具有高精度、快速响应和抗干扰能力的温度传感器。

此外,还将探讨如何将选定的温度传感器应用于水温控制系统,包括传感器的安装位置、信号处理方法等。

2.3控制算法选择与设计本章将分析现有的控制算法,如PID控制、模糊控制、神经网络控制等,并选择一种适合本研究的控制算法。

针对所选控制算法,设计相应的控制电路和程序。

第三章硬件实现3.1控制器选择与搭建本章将讨论控制器的选型,根据系统的需求,选择一款性能稳定、可编程性强、成本合理的控制器。

然后,介绍如何搭建控制器硬件系统,包括控制器与各种外设(如温度传感器、继电器等)的连接方式。

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

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

基于单片机的水温控制系统设计摘要:水温控制系统在工业、农业、生活等各个领域广泛应用。

随着技术的发展,单片机控制技术正在越来越多的应用到水温控制领域中。

本文通过对水温控制系统原理的分析,进行了设计和制作,并通过实验结果验证了本设计的可行性和稳定性。

关键词:单片机控制技术;水温控制系统;可行性;稳定性1. 引言水温控制系统在现代社会中应用广泛,水温控制技术的发展和进步为现代社会的科技进步做出了巨大的贡献。

单片机技术作为一种广泛应用的控制技术,可以实现多种不同的控制操作,因此被广泛应用到水温控制系统中。

本文将针对单片机水温控制系统进行分析设计,并进行实验验证。

2. 水温控制系统原理分析水温控制系统的基本结构由传感器、控制器以及执行机构等组成。

其中,传感器负责温度数据的采集,控制器负责处理和分析数据,并控制执行机构实现温度控制。

单片机水温控制系统的实现原理基于以下几个步骤:1)传感器采集温度数据并将数据转换为数字信号。

2)单片机控制器通过间接方式获取传感器采集的温度数字信号,并将其传输到外围设备中。

3)控制器将传输的信息根据其程序所设定的算法进行计算,得到温度数据,从而调整执行机构的作用。

4)执行机构实现接收计算出的数据并通过温度调节装置将温控装置的工作状态调节到所设定的工作状态,最终实现水温控制。

3. 单片机水温控制系统设计根据以上原理设计单片机水温控制系统,具体实现过程如下:1)传感器:选用DS18B20数字温度传感器,将其与单片机进行连接;2)控制器:选用AT89S52单片机,作为水温控制器,通过程序将传感器所采集到的数字信号转化为温度信息,并与设定温度进行比较和判断,控制继电器开关;3)执行机构:选用继电器作为执行机构,通过继电器的开关控制加热器的加热状态,调节水温。

4. 实验验证将设计好的单片机水温控制系统进行实验,实验过程中将设定温度为30℃,获得的实验结果显示在图1中。

图1 实验结果实验结果表明,本设计的单片机水温控制系统能够在设定温度为30℃时以及系统正常工作的情况下,实现对水温的有效控制。

基于单片机的水温水位控制系统设计

基于单片机的水温水位控制系统设计

四、结论
基于单片机的智能水箱水位和水温控制系统具有结构简单、成本低、可靠性 高等优点。通过实时监测和控制水箱的水位和水温,可以满足不同用户的需求。 此外,通过优化系统的硬件设计和软件设计,可以进一步提高系统的性能和可靠 性。这种系统不仅可以应用于家庭用水领域,也可以应用于工业生产中的液体控 制,具有广泛的应用前景。
1、抗干扰设计
由于环境因素和设备本身的影响,系统可能会受到干扰。因此,需要在硬件 设计和软件设计中加入抗干扰措施,如滤波电路、软件去抖动等。
2、节能设计
为了降低系统的功耗,可以在软件设计中加入休眠模式和唤醒模式。当系统 不需要工作时,可以进入休眠模式,降低功耗。当有数据需要处理时,系统被唤 醒,进入工作状态。
2、软件设计
系统的软件设计主要实现以下功能:数据的采集、处理、显示和控制。首先, 单片机通过水位传感器和水温传感器采集当前的水位和水温数据。然后,单片机 对采集到的数据进行处理,判断水位和水温是否正常。如果异常,则启动相应的 执行机构进行调节。最后,单片机将处理后的数据通过显示模块进行显示。
三、系统优化
六、结论
本次演示设计了一种基于单片机的水温水位控制系统,实现了温度和水位的 自动检测、调节和控制。该系统具有成本低、可靠性高、易于实现等优点,同时 支持远程控制和节能模式等功能。在家庭、工业和科学研究中具有广泛的应用前 景。
参考自动化技术的普及,智能化设备在日常生活和工业生产中 的应用越来越广泛。其中,基于单片机的智能水箱水位和水温控制系统具有重要 应用价值。这种系统可以实现对水箱水位和水温的实时监测和控制,以适应不同 的应用需求。
系统软件采用C语言编写,主要包括以下几个部分:数据采集、数据处理、 控制输出和远程通信。
1、数据采集:通过I/O端口读取DS18B20和超声波水位传感器的数据。

plc水温控制课程设计

plc水温控制课程设计

plc水温控制课程设计一、课程目标知识目标:1. 学生能够理解PLC(可编程逻辑控制器)的基本原理和工作流程;2. 学生能够掌握水温控制系统的组成及各部分功能;3. 学生能够运用PLC编程实现对水温的精确控制。

技能目标:1. 学生能够运用所学知识设计简单的水温控制程序;2. 学生能够使用相关工具和仪器进行水温控制系统的调试与优化;3. 学生能够分析并解决实际水温控制过程中出现的问题。

情感态度价值观目标:1. 学生培养对自动化技术的兴趣,提高学习积极性;2. 学生通过团队协作完成课程任务,培养合作精神和沟通能力;3. 学生认识到水温控制在实际生活中的重要性,增强环保意识。

课程性质:本课程属于应用实践性课程,结合理论知识与实际操作,培养学生的动手能力和实际应用能力。

学生特点:学生为具有一定电子、电气基础知识的初中生,对新鲜事物充满好奇,喜欢动手操作。

教学要求:教师需引导学生将所学理论知识应用于实际操作中,注重培养学生的实际操作能力和问题解决能力,将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 理论知识:- PLC基本原理与结构;- 水温控制系统的组成,包括传感器、执行器、控制器等;- PLC编程基础,如逻辑运算、梯形图编程等;- 水温控制算法,如PID控制原理。

2. 实践操作:- 水温控制系统的搭建,包括电路连接、设备调试等;- PLC编程软件的使用,编写并下载水温控制程序;- 水温控制系统的测试与优化,如调整参数、改进控制效果等。

3. 教学大纲:- 第一课时:PLC基本原理与结构介绍,水温控制系统的概念;- 第二课时:水温控制系统的组成,各部分功能及相互关系;- 第三课时:PLC编程基础,编写简单的水温控制程序;- 第四课时:水温控制算法,PID控制原理及其应用;- 第五课时:实践操作,水温控制系统的搭建与调试;- 第六课时:总结与评价,分析课程实施过程中的优点与不足。

教材章节关联:本教学内容与教材中关于PLC应用、水温控制系统设计等相关章节紧密关联,结合教材内容,确保学生所学知识的科学性和系统性。

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

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

基于单片机的水温控制系统设计引言在能源日益紧张的今天,电热水器,饮水机,电饭煲之类的家用电器在保温时,由于其简单的温控系统,利用温敏电阻来实现温控,因而会造成很大的能源浪费浪费。

利用 AT89C51 单片机为核心,配合温度传感器,信号处理电路,显示电路,输出控制电路,故障报警电路等组成,软件选用汇编语言编程。

单片机可将温度传感器检测到的水温模拟量转换成数字量,显示于LED 显示器上。

该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。

本设计任务和主要内容设计并制作一个水温自动控制系统,控制对象为1升净水,容器为搪瓷器皿。

水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。

本设计主要内容如下:(1)温度设定范围为40~90℃,最小区分度为1℃,标定温度≤1℃。

(2)环境温度降低时温度控制的静态误差≤1℃。

(3)用十进制数码管显示水的实际温度。

(4)采用适当的控制方法,当设定温度突变(由40℃提高到60℃)时,减小系统的调节时间和超调量。

(5)温度控制的静态误差≤0.2℃。

系统主要硬件电路设计单片机控制系统原理框图温度采样电路选用传感器AD590。

其测量范围在-50℃--+150℃,满刻度范围误差为±0.3℃,当电源电压在5—10V之间,稳定度为1﹪时,误差只有±0.01℃。

此器件具有体积小、质量轻、线形度好、性能稳定等优点。

系统的信号采集电路主要由温度传感器(AD590)、基准电压(7812)及A/D转换电路(ADC0804)三部分组成。

信号采集电路温度控制电路此部分电路主要由光电耦合器MOC3041和双向可控硅BTA12组成。

MOC3041光电耦合器的耐压值为400v,它的输出级由过零触发的双向可控硅构成,它控制着主电路双向可控硅的导通和关闭。

100Ω电阻与0.01uF 电容组成双向可控硅保护电路。

部分控制电路系统主程序设计主程序流程图。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

温度控制器设计

温度控制器设计

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

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

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

设置温度用数字显示。

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

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

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

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

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

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

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

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

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

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

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

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

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

水温控制系统开题报告

水温控制系统开题报告

水温控制系统开题报告水温控制系统开题报告一、引言水温控制系统是一种用于调节水温的技术方案,它在许多领域都有广泛的应用,如家庭生活、工业生产以及科研实验等。

本文将探讨水温控制系统的设计原理、应用场景以及未来发展方向。

二、设计原理水温控制系统的设计原理主要包括传感器、控制器和执行器三个部分。

传感器用于感知水温的变化,常见的传感器有温度传感器和红外线传感器。

控制器根据传感器的反馈信号,通过算法计算出控制水温所需的操作指令。

执行器则负责根据控制器的指令,对水温进行调节,常见的执行器有电加热器和冷却装置。

三、应用场景1. 家庭生活水温控制系统在家庭生活中有着广泛的应用。

例如,我们可以利用水温控制系统来调节淋浴水温,让每个家庭成员都能够享受到舒适的洗浴体验。

此外,水温控制系统还可以应用于家庭温泉、游泳池等场所,提供恒定的水温,增加用户的舒适感。

2. 工业生产在工业生产中,水温控制系统的应用也非常广泛。

例如,在食品加工过程中,水温控制系统可以确保食品在适宜的温度下进行加热或冷却,保证产品的质量和安全。

此外,水温控制系统还可以应用于塑料加工、化工生产等领域,提高生产效率和产品质量。

3. 科研实验在科研实验中,水温控制系统也扮演着重要的角色。

例如,在生物实验中,保持恒定的水温对于细胞培养和生物反应的研究至关重要。

水温控制系统可以提供稳定的实验环境,保证实验结果的可靠性和可重复性。

四、未来发展方向水温控制系统在未来的发展中有着广阔的前景。

随着科技的不断进步,传感器和控制器的性能将不断提高,使得水温控制系统更加智能化和精确化。

同时,随着对能源效率和环境保护的要求越来越高,水温控制系统也将朝着节能、环保的方向发展。

例如,利用太阳能、地热能等可再生能源来供给水温控制系统的能量,减少对传统能源的依赖。

此外,随着物联网技术的快速发展,水温控制系统也将与其他智能设备实现互联互通,形成智能家居或智能工厂的一部分。

通过与其他设备的联动,水温控制系统可以更好地适应用户的需求,提供更加个性化的服务。

传感器设计—温度控制器—鱼缸水温自动加热系统

传感器设计—温度控制器—鱼缸水温自动加热系统
• ○四线制:在热电阻的根部两端各连接两根导线,其中两 根引线为热电阻提供恒定电流I,把R转换成电压信号U, 再通过另两根引线把U引至二次仪表。该引线方式可完全 消除引线的电阻影响,主要用于高精度的温度检测。
鱼缸水温自动加热控制系统
流程图
制作应用
基本电路 图
元器 件选 取
电路 原理 分析
• 控制流程图
• 加热11s后,若水温仍低于26℃,则IC1(引脚2)仍小于 1/3Vcc,IC1输出端(3脚)为高电平,继续加热。若水温 高于26℃,Rt阻值减小,R1分压增大,IC1(引脚2) UR1>1/3Vcc,则暂稳态结束后电路立即复位,IC1输出端 (3脚)为低电平,指示灯LED熄灭,继电器K1-1释放, 停止加热。
• 发光二极管LED、二极管D1、继电器K连接IC1输出端(3 脚)。当IC1输出端(3脚)为高电平时,电压继电器K吸 合,指示灯LED亮,反之,LED灯灭。
基本原理:加热器功能的实现
加热电路
加热电路由加热器、继电器K1-1及220v交流电源组成,交流 欠电压继电器K1-1有一对常开触点,当线圈电压达到或大 于某额定值时,衔铁吸合,反之,衔铁释放。因此,当 IC1输出端(3脚)为高电平时,K1-1吸合,加热器工作, 反之,K1-1释放,加热器停止工作。
• 金属热电阻一般适用于-200~500℃范围内的温度测量,其 特点是测量准确、稳定性好、性能可靠,其温度系数更大 ,常温下的电阻值更高(通常在数千欧以上),但互换性 较差,非线性严重。
鱼缸水温加热控制器
• 热电阻的金属材料一般要求:尽可能大而且稳定的温度系 数、电阻率要大(在同样灵敏度下减小传感器的尺寸)、 在使用的温度范围内具有稳定的化学物理性能、材料的复 制性好、电阻值随温度变化要有间值函数关系(最好呈线 性关系)。

pid温度控制实验报告

pid温度控制实验报告

pid温度控制实验报告本实验旨在设计和实现PID温度控制系统,通过控制电热水壶水温,检验PID控制系统在温度控制方面的效果。

一、设计和建立PID温度控制系统本实验采用Arduino开发板作为控制器,其中温度传感器采用DS18B20数字温度传感器,用于感知电热水壶内部的温度。

为了控制电热水壶的加热和停止加热,我们采用继电器模块,通过控制继电器的开关状态来实现电热水壶的加热和停止加热。

本实验还采用了LCD1602液晶显示屏,显示实时温度数据和PID控制结果。

PID控制器由三个部分组成,分别是P(proportional)、I(integral)、D(derivative),它能够根据被控对象的反馈信号及预设值,计算出控制量,实现控制目标。

在本实验中,我们需要控制电热水壶加热时的水温,设定的目标温度为40℃。

二、实验步骤1、硬件连接连接Arduino开发板和其他硬件模块,电热水壶的加热和停止加热分别由继电器的开关状态来实现。

2、编程实现编写程序,包括温度检测、PID控制计算、控制电热水壶加热和停止加热、LCD显示等功能模块。

具体的程序实现细节见下文。

3、调试进行调试,测试温度控制系统的效果。

三、实验结果电热水壶温度控制的PID算法具体实现如下:``` c++// 定义PID控制器struct PID{float Kp; // P参数float Ki; // I参数float Kd; // D参数float pre_error; //上次误差float integral; //积分值} pid;pid.Kp = 5; // 由系统特性等确定pid.Ki = 0.1;pid.Kd = 1;const int relayPin = 2; // 继电器控制引脚2const int ledPin = 13; // LED控制引脚13void setup(){Serial.begin(9600);lcd.begin(16,2);pinMode(relayPin, OUTPUT);lcd.display();lcd.clear();// 变量初始化pid.pre_error = 0;pid.integral = 0;}void loop(){// 读取温度float temp = getTemperature();// 计算PIDfloat error = setpoint - temp;pid.integral += error * sampleTime;float derivative = (error - pid.pre_error) / sampleTime;float output = pid.Kp * error + pid.Ki * pid.integral + pid.Kd *derivative;// 控制电热水壶if(output > 0){digitalWrite(relayPin, HIGH); digitalWrite(ledPin, HIGH); }else{digitalWrite(relayPin, LOW); digitalWrite(ledPin, LOW); }// 保存本次误差pid.pre_error = error;// 显示温度和PID值lcd.setCursor(0, 0);lcd.print("Temp:");lcd.print(temp, 1);lcd.setCursor(0, 1);lcd.print("PID :");lcd.print(output, 1);// 延时一段时间delay(sampleTime);}// 读取温度float getTemperature(){byte data[12];byte addr[8];if ( !ds.search(addr)){ds.reset_search();delay(250);return -1000;}if ( OneWire::crc8( addr, 7) != addr[7]){Serial.println("CRC is not valid!");return -1000;}if ( addr[0] != 0x28){Serial.println("Device is not a DS18B20 family device."); return -1000;}ds.reset();ds.select(addr);ds.write(0x44,1);byte present = ds.reset();ds.select(addr);ds.write(0xBE);for (int i = 0; i < 9; i++){data[i] = ds.read();}int16_t raw = (data[1] << 8) | data[0];if (type_s){raw = raw << 3;if (data[7] == 0x10){raw = (raw & 0xFFF0) + 12 - data[6];}}else{byte cfg = (data[4] & 0x60);if (cfg == 0x00) raw = raw & ~7; // 9 bit resolution, 93.75 ms else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms// default is 12 bit resolution, 750 ms conversion time}float celsius = (float)raw / 16.0;return celsius;}```实验通过控制器成功将水温控制在设定值40℃左右,且温度波动很小,表明PID控制器具有很好的控制效果。

水温控制器原理图

水温控制器原理图

水温控制器原理图
很抱歉,我无法提供图片或图表类的内容。

我只能为您提供文本形式的信息。

对于水温控制器原理图的详细描述,请参考以下文本:
水温控制器主要由以下几个部分组成:温度传感器、比较器、控制开关和继电器。

温度传感器负责测量水温,通常采用热电偶或热敏电阻作为传感器。

当水温升高或降低时,传感器会输出相应的电信号。

比较器是一个电路元件,用于比较传感器输出信号与设定温度值之间的差异。

当温度高于设定值时,比较器会产生一个高电平信号,反之则产生一个低电平信号。

控制开关是一个电路开关,它根据比较器的输出信号来控制电路的开关状态。

当比较器输出高电平信号时,控制开关闭合,反之则断开。

继电器是一个电器元件,用于控制外部电路的开闭。

当控制开关闭合时,继电器吸合,外部电路被连接,从而启动加热装置。

反之,当控制开关断开时,继电器释放,外部电路断开,加热装置停止工作。

整体工作原理如下:温度传感器测量到水温后,传输信号到比较器。

比较器将输入信号与设定温度值进行比较,并输出相应的信号给控制开关。

控制开关根据比较器的输出信号来开闭,
进而控制继电器的状态。

继电器在控制开关闭合时吸合,启动加热装置;在控制开关断开时释放,停止加热装置的工作。

这是水温控制器的基本原理,通过测量和比较水温来控制加热装置的工作状态,从而实现对水温的精确控制。

PID水温控制系统的设计与实现

PID水温控制系统的设计与实现

XXXX大学本科毕业设计PID水温控制系统学生姓名所在系专业名称班级学号指导教师PID水温控制系统学生:指导教师:摘要:随着社会主义现代化的发展,在科学技术突飞猛进的今天,人工智能起不不可忽视的作用。

尤其是各种智能化的仪器、仪表在农、工业的广泛应用给社会带来了极大的便利。

本文从温控模型和特点出发,采用以单片机PIC16F877为核心,用AD7416数字温度传感器进行测量温度。

以PID算法控制温度,并对温度进行良好的精度控制。

本系统的多个部件如,定时器,加热开关,按键设置水温,实时显示温度,控制温度和报警保温等功能等都可利用单片机来实现。

文章着重介绍核心器件的选择、温度控制系统分析、各部份电路及软件的设计。

它具有结构简单、可靠性好,抗干扰能力强、实现容易,成本低,具有实用价值等特点。

它提供了一个通过温度来控制设备的基本思想和原理,相信能在实际应用中为我们的生活带来更大的便利。

关键词:单片机数字温度传感器PID温度控制PID-based temperature control systemAbstract:Along with the development of socialist modernization, rapid progress in science and technology today, not artificial intelligence from the role that can not be overlooked. Especially the variety of intelligent instruments, meters in the agricultural, industrial society to the broad application brought great convenience. In this paper the characteristics of the model and temperature control, the introduction of SCM PIC16F877 at the core, with AD7416 digital temperature sensor to measure the temperature. PID algorithm to control the temperature , and temperature control for good accuracy. Many parts of the system such as, timers, heating switches, buttons installed water temperature, real-time display of temperature, temperature control and alarm functions, such as insulation SCM can be used to achieve. The article highlights the core device of choice, temperature control system, part of the circuit and software design. It has a simple structure, reliability, and strong interference capability to achieve easy, low cost, has practical value, and other characteristics. It provides a temperature controlled equipment through the basic ideas and principles, I believe in the practical application of our life more convenient.Keywords: microcomputer digital temperature PID temperature control目录一、前言 (1)(一)设计任务及要求 (1)(二)方案的比较与选择 (2)二、总体设计 (2)(一)系统总体设计 (2)(二)单元电路的功能原理分析 (7)(三)发挥部分设计 (8)三、系统软件设计 (9)(一)程序的主流程图 (9)(二)各个功能模块流程 (10)四、系统测试与调试 (14)(一)电路测试 (14)(二)仪器的使用 (15)(三)测试的结果 (15)(四)发挥部分测试 (15)五、结论 (15)致谢 (16)附录 (17)附录一设计总电路图 (17)附录二设计PCB图 (18)附录三设计3D图 (19)附录四程序清单 (20)参考文献 (28)一、前言(一)设计任务及要求本文介绍的是一个由PIC16F877为核心的单片机制作的一个水温控制器。

单片机的水温控制系统设计

单片机的水温控制系统设计

数理与信息工程学院《单片机原理及应用》期末课程设计题目:基于单片机的水温控制系统专业:班级:姓名:学号:指导老师:成绩:目录摘要 (4)第1节课题任务要求 (5)第2节总体方案设计 (5)2.1 总体方案确定 (6)2.1.1 控制方法选择 (6)2.1.2 系统组成 (7)2.1.3 单片机系统选择 (7)2.1.4 温度控制 (7)2.1.5 方案选择 (7)第3节系统硬件设计 (8)3.1 系统框图 (8)3.2 程序流程图 (12)第4节参数计算 (16)4.1 系统模块设计 (16)4.1.1 温度采集及转换 (16)4.1.2 传感器输出信号放大 (17)4.1.3模数转换 (18)4.1.4 外围电路设计 (19)4.1.5 数值处理及显示部分 (19)4.1.6 PID算法介绍 (19)4.1.7 A/D转换模块 (20)4.1.8 控制模块 (21)4.2 系统硬件调试 (21)第5节 CPU软件抗干扰 (24)5.1 看门狗设计 (24)第6节测试方法和测试结果 (27)6.1 系统测试仪器及设备 (27)6.2 测试方法 (27)6.3 测试结果 (27)结束语 (29)参考文献 (30)基于单片机的水温控制系统设计摘要:本系统以AT89C51,AT89C2051单片机为核心,主要包括传感器温度采集,A/D模/数转换,按扭操作,单片机控制,数码管数字显示等部分。

本系统采用PID算法实现温度控制功能,通过串行通信完成两片单片机信息的交互而实现温度设定、控制和显示。

本设计还可以通过串口与上位机(电脑)连接,实现电脑控制。

系统设计有体积小、交互性强等优点。

为了实现高精度的水温控制,本单片机系统采用PID算法控制和PWM脉宽调制相结合的技术,通过控制双向可控硅改变电炉和电源的接通、断开,从而改变水温加热时间的方法来实现对水温的控制。

本系统由键盘显示和温度控制两个模块组成,通过模块间的通信完成温度设定、实温显示、水温升降等功能。

热水器水温水位控制系统毕业设计

热水器水温水位控制系统毕业设计

热水器水温水位控制系统毕业设计基于单片机的电热水器水温水位控制系统设计摘要随着人们生活水平的提高,各种热水器的使用已相当普及。

与之相配套的控制仪也相继问世。

然而,目前市场上的各种热水器控制电路还与理想要求相差甚远。

因此我设计了新型的热水器水温水位控制系统来满足于当今的需求,该热水器智能控制系统主要由80C51单片机控制、DS18B20温度传感器、独立键盘、LED数码管和报警系统组成。

该系统能测量并显示水温、设置水温范围,若水温不处于所设置的水温范围则报警,同时还能对水位进行设置及加水,先设置好需要加水的水位段数,单片机会根据这个数进行判断是否加水。

通过软硬件调试使以上所述功能都能正常实现。

本次设计是对水温水位控制系统的智能化改进,采用单片机对其水温水位参数进行控制,提高了电器的工作稳定性,同时引进了数字传感器对水温进行数据采集,这样也就提高了系统的控制精度,以其自身的控制精度高、稳定性好和成本低的独特优点在今后将会由广泛的实用价值,其基于单片机的改进方法也具用广泛的应用意义。

关键词:单片机;DS18B20;水温水位控制Electric Water Heater Water Temperature-Level Control System Based on SCMAbstractWith the improvement of people's living standard, the use of various water heater is very popular. Control apparatus and the matched field. However, the current market on the various water heater control circuit and the ideal requirements differ very far.So i design a new type of water heater water level control system to meet the semand in nowdays. The design of solar water heaters intelligent control system is mainly composed of single-chip80C51,DS18B20 temperature sensor,an independent keyboard ,LED and alarm system.The system can measure and display water temperature ,set the range of water temperature,of the water temperature is not in the range of setting temperature is alarming.At the same time,you can set the water level and add water,first,need to set up the water level above the water,single-chip will determine whether add the water or not according to the number.Through hardware and software debugging,the above functions can be normal.For other related parameters, it also has a certain meaning using. The revivification of the water control system is an intelligent product. To its own control of high precision, stability and low cost of the advantages, in the future there will be a wide range of practical value.The design of the water temperature control system is to improve the intellectualized. A monolithic integrated circuits is to control the level of parameter and improve the stability of the electrical work, and meantime, What’s more,its based on single ways of improvement have wide application meaning.Keywords: singlechip; water level’s examination; water temperature’s examination目录摘要 (1)A BSTRACT (2)第1章绪论 (1)1.1选题的意义 (1)1.2电热水器发展现状 (1)1.3课题任务 (3)第2章系统设计方案 (4)2.1设计原理 (4)2.1.1系统原理 (4)2.1.2子系统工作原理 (5)2.2设计方案 (5)2.2.1系统设计方案的选择 (5)2.2.2各部件控制系统方案 (8)第3章系统硬件设计 (9)3.1系统总体设计 (9)3.2各单元电路设计 (11)3.2.1控制单元设计 (11)3.2.2显示单元设计 (17)3.2.3检测单元设计 (25)第4章系统软件设计 (33)4.1主程序设计 (33)4.2子程序设计 (34)4.2.1温度采集 (34)4.2.2控制按键设计 (35)4.2.3读温度 (36)第5章系统调试 (37)5.1硬件调试 (37)5.1.1调试步骤 (37)5.1.2液位检测 (38)5.1.3温度检测 (39)5.2软件调试 (39)5.2.1P ROTEUS仿真 (39)5.2.2软件调试过程 (40)5.3系统联调 (40)总结 (43)参考文献 (46)致谢 (49)附录 (51)第1章绪论1.1选题的意义随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。

水温自动控制系统毕业设计论文

水温自动控制系统毕业设计论文

水温自动控制系统毕业设计论文摘要本文设计了一种水温自动控制系统,用于控制水温自动调节和保持。

该系统基于单片机控制技术,具有灵活、精度高、稳定性好等优点,并且适用于各种大中小型水族箱的水温控制。

首先,本文分析了水温控制系统的原理和工作原理,讨论了其执行机理和功能。

其次,通过阐述硬件设计,包括测温原理、传感器选择、控制器密度和其他电路部分等。

在软件设计方面,本文采用C语言编程,实现了自动监测水温变化、自动开关附加加热器和调整温度等功能,并且采取多重保护措施,保证了该系统的安全性和稳定性。

最后,本文通过实验验证了该系统的可行性和实用性,在保证了水族箱内水体温度稳定的基础上,实现了节能和自动化控制的优势,为水族箱饲养提供了一定的实用性支持。

关键词:水温自动控制;水温计;单片机;附加加热器;C语言编程;节能。

AbstractThis paper designs a water temperature automatic control systemfor automatic regulation and maintenance of water temperature. Based on the single-chip control technology, the system has the advantages of flexibility, high accuracy and good stability, and is suitable for controlling the water temperature of various large,medium and small aquariums.Firstly, the principle and working principle of the water temperature control system are analyzed, and its executing mechanism and function are discussed. Secondly, by elaborating on hardware design, including temperature measurement principle, sensor selection, controller density and other circuit parts, and in software design, the paper adopts C language programming to achieve automatic monitoring of water temperature changes, automatic switching of additional heaters and adjusting temperatures, and takes multiple protection measures to ensure the safety and stability of the system.Finally, the feasibility and practicality of the system are verified through experiments, which has the advantages of energy saving and automatic control, and provides practical support for the breeding of aquariums by ensuring the stability of water temperature.Keywords:water temperature automatic control;thermometer;single-chip;additional heater;C language programming;energy saving.。

水温控制系统设计大学毕设论文

水温控制系统设计大学毕设论文

水温控制系统目录1.系统的设计及方案论证 (2)1.1题目要求 (2)1.1.1基本要求 (2)1.1.2 发挥部分 (2)1.2 系统的基本方案 (2)1.2.1 各模块的选择和论证 (2)1.3系统各模块的最终方案 (3)2.系统的硬件设计与实现 (4)2.1系统的硬件的基本组成部分 (4)2.1.1 部分外部电路设计 (4)2.2.2 测温部分电路设计 (5)2.2.3 控制部分 (6)2.2.4 显示部分 (6)3.程序设计 (7)4.对电路进行测试 (7)4.1 继电器测试 (7)4.2 DS18B20测试 (7)4.3显示数码管测试 (8)5.系统测试 (8)5.1 测试环境 (8)5.2 测试方法 (8)6.系统误差分析 (8)7.参考文献 (8)附录A (9)附录B (9)文摘:为了实现高精度的水温控制,本文介绍了一种以STC89C52单片机为控制核心、以及辅助元件相结合的控制方法来实现的水温控制系统。

文章着重介绍核心器件的选择、控制算法的确定、各部份电路及软件的设计。

STC89C52单片机完善的内部结构、优良的性能和强大的中断处理能力,决定了该控制系统的特点:电路结构简单、程序简短、系统可靠性高等。

本次设计还充分利用了STC89C52单片机成熟的语音处理技术来实现了语音播报温度。

1.系统的设计及方案论证1.1题目要求1.1.1基本要求该系统为一实验系统,系统设计任务:设计一个水温自动控制系统,控制对象为1升净水,容器为搪瓷器皿。

水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。

系统设计具体要求:⑴温度设定范围为30~90℃。

⑵环境温度降低时(例如用电风扇降温)温度控制的静态误差≤1℃。

⑶采用适当的控制方法,当设定温度突变(由40℃提高到60℃)时,减小系统的调节时间和超调量。

⑷用十进制数码管显示水的实际温度。

⑸在设定温度发生突变(由40℃提高到60℃)时,led报警1.1.2 发挥部分A.我们在基于十进制数码管显示水的实际温度的同时我们显示设定的温度方便比较。

减温水自动调节系统调节原理和过程

减温水自动调节系统调节原理和过程

减温水自动调节系统调节原理和过程1.传感器探测水温:系统中安装有温度传感器,可以实时感知水温,将采集到的温度数据传输给控制器。

2.温度数据处理:控制器接收到传感器传输的温度数据后,会对数据进行处理,并与事先设置的温度设定值进行比较,得到误差信号。

3.控制策略选择:控制器根据误差信号选择相应的控制策略,常见的控制策略包括比例控制、积分控制和微分控制,也可以采用PID控制算法结合这些控制策略进行温度调节。

4.信号输出:根据控制策略的选择,控制器将计算得到的控制信号输出给执行器。

5.执行器控制:执行器接收到控制信号后,根据信号的大小来控制减温水的流量或温度,以达到温度调节的目标。

通常采用的执行器有调节阀、电动阀等。

6.反馈调节:系统中会设置一个反馈回路,通过传感器再次感知减温水的温度,并传输给控制器,控制器通过与设定值比较得到新的误差信号,再进行下一轮的控制处理。

通过以上步骤的循环调节,减温水自动调节系统可以实现对冷却系统的温度进行自动控制和调节。

除了基本的原理和过程,减温水自动调节系统还可以根据具体的应用需求进行更复杂的控制算法和逻辑的设计。

例如,在一些应用中,可以通过添加模糊控制算法来提高系统的控制精度和响应速度。

此外,还可以在系统中加入软件或硬件的安全保护功能,如温度超限报警和设备故障自动切换等,以确保系统的稳定性和安全性。

综上所述,减温水自动调节系统通过传感器对水温进行实时监测,控制器通过处理温度数据并进行相应的控制策略选择和信号输出,最终通过执行器来调节减温水的流量或温度,实现对冷却系统温度的自动调节。

这种系统的调节过程是一个循环反馈的过程,通过不断地调节和控制,可以实现对温度的精确控制和稳定调节。

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

水温控制器设计摘要随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。

本设计以保质、节能、安全和方便为基准设计了一套电热壶水温控制系统,能实现在40℃~90℃范围内设定控制温度,且95℃时高温报警,十进制数码管显示温度,在PC机上显示温度曲线等功能,并具有较快响应与较小的超调。

整个系统核心为SPCE061A,前向通道包括传感器及信号放大电路,按键输入电路;后向通道包括三部分:LED 显示电路,上位机通信电路以及控制加热器的继电器驱动电路。

利用SPCE061A的8路10位精度的A/D转换器,完成对水温的实时采样与模数转换,通过数字滤波消除系统干扰,并对温度值进行PID运算处理,以调节加热功率大小。

同时在下位机上通过数码管显示当前温度,通过USB接口传送信息至上位机,可以直接在PC端观察温度的变化曲线,并根据需要进行相应的数据分析和处理,由此完成对水温的采样和控制。

通过验证取得了较满意的结果。

本设计是利用8051 实现对温度自动控制。

在设计中采用了DS18B20数字温度传感器,其具有较高的精确度,可完成对温度的精准测量;在显示模块分别采用串行口和并行口对设定温度和测定温度进行显示。

关键词数字温度传感器(DS18B20,DSl820); LED数码显示器;三个锁存器74LS373。

目录1.硬件设计 (4)1.1 温度检测 (4)1.2 实测温度显示 (4)1.3 温度设定 (5)1.4 设定温度显示 (6)1.5 温度控制 (6)2.软件设计 (7)2.1 工作流程 (7)2.2 功能模块 (7)2.3 资源分配 (7)2.4 功能软件设计 (8)2.4.1 主程序与中断服务子程序 (8)2.4.2 温度设定值检测与显示子程序 (9)2.4.3 当前温度检测子程序 (11)2.4.4 显示子程序 (15)2.4.5 温度控制子程序 (17)2.4.6 报警子程序: (19)总结 (20)参考文献 (20)附录 (20)1.硬件设计1.1 温度检测这部分需用数字温度传感器DS18B20,DSl820数字温度计提供9位(二进制)温度读数,指示器件的温度信息经过单线接口送入DSl820或从DSl820送出,因此从主机CPU到DSl820仅需一条线(和地线)。

DSl820的电源可以由数据线本身提供而不需要外部电源。

因为每一个DSl820在出厂时已经给定了唯一的序号,因此任意多个DSl820可以存放在同一条单线总线上。

这允许在许多不同的地方放置温度敏感器件。

DSl820的测量范围从-55℃到+125℃,增量值为0.5℃,可在l s(典型值)内把温度变换成数字。

P1.6口连接单总线温度传感器DS18B20,如图1.1所示。

p1.6图1.1 温度检测电路1.2 实测温度显示这部分由有3位LED数码显示器,三个锁存器74LS373和三个非门器件组成。

与8051的P0口相连需要输出锁存,三位静态显示电路需要有三位控制锁存部分。

采用并口静态显示电路作为显示接口电路,如图1.2所示。

图1.2 实测温度静态显示电路1.3 温度设定这部分键盘只设置4个功能键,分别是启动、“十位+”、“个位+”和“小数位+”键,P1口低四位作为键盘接口,利用按键可分别实现对温度的十位、个位加一设置和对小数位加2设置。

连续按键可实现40--90℃的温度设置,如图1.3所示。

图1.3 温度设定控制电路1.4 设定温度显示本系统设有3位LED数码显示器,显示设定的温度。

采用串行口扩展的静态显示电路作为显示接口电路。

图1.4 设定温度显示电路1.5 温度控制这部分包括报警器电路和电炉控制电路。

报警电路如图1.5所示,由P1.7口控制,达到设定温度发出报警信号。

图1.5 报警电路电炉加热控制电路如图1.6所示,由P1.4口控制,检测温度超过设定温度时关电炉。

图1.6 电炉加热控制电路2.软件设计2.1 工作流程启动加热电路,对温度进行设定范围(40—90℃),显示预置温度,温度设定后就可以按启动键来启动系统工作了。

温度检测系统不断检测当前温度,并送往显示器显示,达到预置温度后停止加热并报警;当温度下降到下限(比预置温度低2℃)时再启动加热。

这样不断重复上述过程,使温度保持在预定温度范围之内。

按复位键可以随时重新设定预置温度。

2.2 功能模块1、键盘管理:检测键盘输入,接受温度设定,启动工作系统。

2、显示:显示设定温度和检测温度。

3、温度检测:接受温度传感器,转换温度值。

4、温度控制:根据检测到的温度对电炉进行控制。

5、报警:当检测温度达到设定温度发出报警信号。

2.3 资源分配2.4.1 主程序与中断服务子程序2.1 主程序和中断服务子程序的流程图按图2.1所示主程序流程图,可编写出主程序和中断服务子程序。

由于温度有较大的惯性,进行定时器30S定时,30S对温度进行刷新一次。

当采用6MHZ晶振时,每机器周期2us,定时器方式一,最大定时为131ms。

要实现30s定时,还要另外设置一个软件计数器,对定时时间进行计次,累加后实现30s定时。

为了便于计算,取定时时间为120ms,250次,合计30s。

时间常数:T=216 —120*103 /2=5536=15A0主程序:ORG 0000HAJMP MAINORG 000BHAJMP TOINT ;转T0中断服务子程序MAIN: MOV SP ,60H ;置堆栈指针MOV P1,0FH ;置p1.0-P1.3MOV TMOD,#01H ;T0定时器,方式1MOV TH0,#15H ;置T0时间常数MOV TL0,#0A0HSETB ET0 ;T0开中断SETB EASETB TR0 ;T0启动MOV R7,#250 ;置三十秒计数初值LMO:AJMP LM0 ;等待T0中断;定时器中断服务子程序ORG 0200HTOINT: MOV TH0,#15H ;重置定时常数MOV TL0,#0A0HDJNZ R7,BACK ;判断30 秒到否?未到返回MOV R7,#250 ;重置三十秒计数初值LCALL KIN ;调用温度设定值检测与显示子程序LCALL TIN ;调用当前温度检测子程序MOV BT1,TEMP1;送当前温度到显示缓冲区MOV BT0,TEMP0LCALL DISP2 ;调用温度检测显示子程序LCALL CONT ;调用温度控制子程序LCALL ALARM ;调用报警子程序BACK: RETI ;中断返回2.4.2 温度设定值检测与显示子程序图2.2 为温度设定值检测与显示程序流程图。

2.2 温度设定值检测与显示程序流程图KIN: ACALL CHK ;检验温度是否在需求范围MOV BT1,ST1 ;设定温度送显示缓冲区MOV BT0,ST0LCALL DISP1 ;调显示子程序KIN0: ACALL KEY ;读键值JZ KIN0 ;无键闭合,则从新检测ACALL DISP1ACALL DISP1 ;两次调显示子程序延时去抖ACALL KEY ;再检测有无键按下JZ KIN0 ;无键按下重新检测JB ACC.1,S1MOV A,#100 ;十位按下AJMP SUMS1: JB ACC.2,S0MOV A ,#10 ;个位键按下AJMP SUMS0: JB ACC.3,S ;小数位按下,键值加2MOV A,#02SUM: ADD A,ST0MOV ST0,AMOV A,#00HADDC A,ST1MOV ST1,AKIN1: ACALL KEY ;判断闭合键释放JNZ KIN1 ;未释放,继续判断AJMP KIN ;闭合建释放继续扫描键盘S: JNB ACC.0,KIN ;无键闭合重新扫描键盘RETKEY: MOV A,P1CPL AANL A,#0FHRET;判断温度是否在40-90度CHK: MOV A,#84H ;90度低八位送aCLR CSUBB A,ST0 ;低八位减,借位送cyMOV A ,#03H ;90度高八位送aSUBB A,ST1 ;高八位带借位减JC OUTA ;越界转移RETOUTA: MOV ST1,#01H ;将40度写入数据区MOV ST0,#90HRET2.4.3 当前温度检测子程序图2.3为温度检测子程序流程图。

为了确保检测数据的可靠性,采用四点均值滤波法进行软件滤波,即每次测温都使DS18B20连续四次采样,然后取算术平均值作为该次温度检测值。

温度检测值存入TEMP0、TEMP1,R6记录连续采样次数。

图2.3 温度检测子程序流程图TIN : MOV TEMP0,#00H ;清结果单元MOV TEMP0,#00HMOV B,#00H ;清BMOV R6,#04H ;四次取样LOOP: LCALL READAD ;调读取温度子程序ADD A,TEMP0MOV TEMP0,AMOV A,#0ADDC A,TEMP1MOV TEMP1 ,AGN1: MOV A,TEMP0 ;取四次采样平均值CLR CRRC AMOV TEMP0,AMOV A,TEMP1CLR CRRC AMOV TEMP1,AMOV A,TEMP0CLR CRRC AMOV TEMP0,AMOV A,TEMP1CLR CRRC AMOV TEMP1,ADJNZ R6,LOOPRETREADAD:SETB PSW.3 ;设置工作寄存器当前所在的区域CLR EA ;使用ds1820一定要禁止任何中断产生LCALL INT ;调用初使化子程序MOV A,#0CCHLCALL WRITE ;送入跳过ROM命令MOV A, #44HLCALL WRITE ;送入温度转换命令LCALL INT ;温度转换完全,再次初使化ds1820MOV A,#0CCHLCALL WRITE ;送入跳过ROM命令MOV A,#0BEHLCALL WRITE ;送入读温度暂存器命令LCALL READMOV TEMP0,A ;读出温度值低字节存入TEMP0LCALL READMOV TEMP1,A ;读出温度值高字节存入TEMP1SETB EARETINT: ;初始化ds1820子程序CLR EAL0: CLR P1.6 ;ds1820总线为低复位电平MOV R2,#200L1: CLR P1.6DJNZ R2,L1 ;总线复位电平保持400usSETB P1.6 ;释放ds1820总线MOV R2,#30L4: DJNZ R2,L4 ;释放ds1820总线保持60usCLR C ;清存在信号ORL C,P1.6JC L0 ;存在吗?不存在则重新来MOV R6,#80L5: ORL C,P1.6JC L3DJNZ R6,L5SJMP L0L3: MOV R2,#240L2: DJNZ R2,L2RETWRITE: ;向ds1820写操作命令子程序CLR EAMOV R3,#8 ;写入ds1820的bit数,一个字节8个bit WR1: SETB P1.6MOV R4,#8RRC A ;把一个字节data(A)分成8个bit环移给 CCLR P1.6 ;开始写入ds1820总线要处于复位(低)状态WR2: DJNZ R4,WR2 ;ds1820总线复位保持16usMOV P1.6,C ;写入一个bitMOV R4,#20WR3: DJNZ R4,WR3 ;等待40usDJNZ R3,WR1 ;写入下一个bitSETB P1.6 ;重新释放ds1820总线RETREAD:CLR EAMOV R6,#8 ;连续读8个bitRE1: CLR P1.6 ;读前总线保持为低MOV R4,#4NOPSETB P1.6 ;开始读总线释放RE2: DJNZ R4,RE2 ;持续8usMOV C,P1.6 ;从ds1820总线读得一个bitRRC A ;把读得的位值环移给 AMOV R5,#30RE3: DJNZ R5,RE3 ;持续60usDJNZ R6,RE1 ;读下一个bitSETB P1.6 ;重新释放ds1820总线RETEND2.4.4 显示子程序串口显示子程序DISP1: ACALL HTB ;调用BCD转换子程序MOV SCON,#00H ;置串行口为方式0MOV R2,#03H ;显示数据位数送R2MOV R0,#T10 ;显示缓冲区首地址送R0LED: MOV A ,@R0 ;取显示数MOV SBUF,AINC R0WAIT: JBC TI, LED ;发送结束,转下一位,并清中断标志SJMP WAIT ;为发送完,等待RET并口显示子程序DISP2: ACALL HTB ;调用BCD转换子程序MOV R0,#T10MOV R1,#03MOV P2,#01H ;P2.0置1 ,锁存允许LOOP: MOV A ,@R0 ;取数据MOV DPTR,#OUTSEG ;显示端口地址MOVX @DPTR ,AINC R0MOV A,P2RL A ;下一位锁存允许MOV P2,ADJNZ R1,LOOP ;三位未显示完继续RET 显示完,返回HTB:;BCD码转换MOV A,BT0MOV B,#100DIY ABMOV T10,AMOV A,#10XCH A,BDIY ABMOV T1,AMOV T0,BMOV A ,BT1LH: CJNE A,#01H,LH0 ;高位为1时,加256(十进制),否则转移MOV A ,#06HADD A,T0DA AMOV T,AMOV A,#05HADDC A ,T1DA AMOV T1,AMOV A,#02HADDC A,T10DA AMOV T10,ALH0: CJNE A,#02H,LH1 ;高位为2 时,加512(十进制),否则转移MOV A ,#02HADD A,T0DA AMOV T,AMOV A,#01HADDC A ,T1DA AMOV T1,AMOV A,#05HADDC A,T10DA AMOV T10,ALH1: MOV A ,#08H ;高位为3 时,加768(十进制)ADD A,T0DA AMOV T,AMOV A,#06HADDC A ,T1DA AMOV T1,AMOV A,#07HADDC A,T10DA AMOV T10,ALMAP: ;将BCD码转换位显示字型代码MOV R0,T10 ;十位数据字型代码MOV DPTR,#TAB1 ;小数点暗MOV A ,@R0MOV A,@A+DPTRMOV @R0,A;INC R0 ;个位数据字型代码MOV DPTR,#TAB2 ;小数点亮MOV A,@R0MOV A,@A+DPPTRMOV @R0,A;INC R0 ;小数位数据字型代码MOV DPTR,#TAB1 ;小数点暗MOV A,@R0MOV A,@A+DPTRMOV @R0,ARETTAB1: ;共阳小数点暗 0-9 字型代码DB 0C0H 0F9H 0A4H 0B0H 99HDB 92H 82H 0F8H 80H 90HTAB2: ;共阳小数点亮 0-9 字型代码DB 40H 79H 24H 30H 19HDB 12H 02H 78H 00H 10H2.4.5 温度控制子程序将当前温度与预置温度比较,当前温度小于预置温度时,接电炉加热;当前温度大于预置温度时,停止加热;当二者温度相等是电炉保持原来状态;当前温度降低到比预置温度低2度时,再重新启动加热;当前温度超出报警上下限时将启动报警,并停止加热,当前温度可能低于报警下限,为了防止误报,在未达到预置温度时,不允许报警,为此设置了报警允许标志F0。

相关文档
最新文档