基于51单片机的恒温控制系统

合集下载

基于51单片机的水温控制系统设计毕业论文

基于51单片机的水温控制系统设计毕业论文

基于51单片机的水温控制系统设计毕业论文基于单片机的水温控制系统摘要水在人们日常生活和工业生产中有着必不可少的作用,在不同环境和不同的需求中,水温的变化也对我们的生活和工业生产有着重要的影响,为了满足人们在各个领域所需要的水温,水温控制系统在各个领域也应运而生。

随着社会的发展,科技的进步,智能化已经是温控系统发展的主流方向,小到人们生活中的饮水机,大到工业生产中的大型水温加热控制设备等各种水温控制系统发展以趋于成熟。

传统靠人工控制的温度,湿度,液位等信号的测压、力控系统,外围电路比较复杂,测量精度较低,分辨率不高,需进行温度校正;并且他们的体积较大适用不方便,在工业生产中也可能应为各种认为的失误发生意外,针对此问题,本系统设计的目的就是实现一种可连续高精度持续调温的温度控制系统,它应用广泛,功能强大,操作简单,便于携带,是一款既实用又廉价的控制系统。

温度检测控制系统在工业生产中主要职责是对温度进行严格的监测,在温度发生变化不符合规定温度时,系统报警提示并做出相应的温度调整措施,以使得生产能够顺利进行,节省了大量的人工,产品的质量也得到充分的保障,同时也避免了各种潜在意外的发生。

从而提高企业的生产效率。

本系统以89C51单片机为核心,扩展外围控制电路,检测变送电路,按键电路,显示电路,复位电路,时钟电路,电源电路,报警电路;本系统的整体运行过程为:通过按键电路设定理想水温范围,实时水温通过检测变送电路模检测,并将检测到的物理量转化成电信号,然后放大电信号并将模拟量同过A/D 转换为单片机识别的数字量发送给单片机。

单片机系统将实时温度与设定温度进行对比,并通过显示电路将实时温度显示出来,如果实时温度大于设定的最高温度或者低于设定的最低温度一定时间,单片机将触发报警电路对过温或者低温进行警报,同时触发控制电路对水温的控制做出适当的调整,确保水温出在理想的温度值,满足需求。

系统检测变送电路中采用电流型温度传感器AD590将温度的变化量转变成电流量,然后采用OP-07将电流量转换为电压量。

基于51单片机的温度控制系统

基于51单片机的温度控制系统

基于51单片机的温度控制系统0引言在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。

例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。

采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。

因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。

本文以它为例进行介绍,希望能收到举一反三和触类旁通的效果。

1硬件电路设计以热电偶为检测元件的单片机温度控制系统电路原理图如图1所示。

1.1 温度检测和变送器温度检测元件和变送器的类型选择与被控温度的范围和精度等级有关。

镍铬/镍铝热电偶适用于0℃-1000℃的温度检测范围,相应输出电压为0mV-41.32mV。

变送器由毫伏变送器和电流/电压变送器组成:毫伏变送器用于把热电偶输出的0mV-41.32mV变换成4mA-20mA的电流;电流/电压变送器用于把毫伏变送器输出的4mA-20mA电流变换成0-5V的电压。

为了提高测量精度,变送器可以进行零点迁移。

例如:若温度测量范围为500℃-1000℃,则热电偶输出为20.6mV-41.32mV,毫伏变送器零点迁移后输出4mA-20mA范围电流。

这样,采用8位A/D转换器就可使量化温度达到1.96℃以内。

1.2接口电路接口电路采用MCS-51系列单片机8031,外围扩展并行接口8155,程序存储器EPROM2764,模数转换器ADC0809等芯片。

由图1可见,在P2.0=0和P2.1=0时,8155选中它内部的RAM工作;在P2.0=1和P2.1=0时,8155选中它内部的三个I/O端口工作。

相应的地址分配为:0000H - 00FFH 8155内部RAM0100H 命令/状态口0101H A 口0102H B 口0103H C 口0104H 定时器低8位口0105H 定时器高8位口8155用作键盘/LED显示器接口电路。

《2024年基于51单片机的温度控制系统设计与实现》范文

《2024年基于51单片机的温度控制系统设计与实现》范文

《基于51单片机的温度控制系统设计与实现》篇一一、引言在现代工业控制领域,温度控制系统的设计与实现至关重要。

为了满足不同场景下对温度精确控制的需求,本文提出了一种基于51单片机的温度控制系统设计与实现方案。

该系统通过51单片机作为核心控制器,结合温度传感器与执行机构,实现了对环境温度的实时监测与精确控制。

二、系统设计1. 硬件设计本系统以51单片机为核心控制器,其具备成本低、开发简单、性能稳定等优点。

硬件部分主要包括51单片机、温度传感器、执行机构(如加热器、制冷器等)、电源模块等。

其中,温度传感器负责实时监测环境温度,将温度信号转换为电信号;执行机构根据控制器的指令进行工作,以实现对环境温度的调节;电源模块为整个系统提供稳定的供电。

2. 软件设计软件部分主要包括单片机程序与上位机监控软件。

单片机程序负责实时采集温度传感器的数据,根据设定的温度阈值,输出控制信号给执行机构,以实现对环境温度的精确控制。

上位机监控软件则负责与单片机进行通信,实时显示环境温度及控制状态,方便用户进行监控与操作。

三、系统实现1. 硬件连接将温度传感器、执行机构等硬件设备与51单片机进行连接。

具体连接方式根据硬件设备的接口类型而定,一般采用串口、并口或GPIO口进行连接。

连接完成后,需进行硬件设备的调试与测试,确保各部分正常工作。

2. 软件编程编写51单片机的程序,实现温度的实时采集、数据处理、控制输出等功能。

程序采用C语言编写,易于阅读与维护。

同时,需编写上位机监控软件,实现与单片机的通信、数据展示、控制指令发送等功能。

3. 系统调试在完成硬件连接与软件编程后,需对整个系统进行调试。

首先,对单片机程序进行调试,确保其能够正确采集温度数据、输出控制信号。

其次,对上位机监控软件进行调试,确保其能够与单片机正常通信、实时显示环境温度及控制状态。

最后,对整个系统进行联调,测试其在实际应用中的性能表现。

四、实验结果与分析通过实验测试,本系统能够实现对环境温度的实时监测与精确控制。

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

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

基于51单片机的温度控制系统设计引言:随着科技的不断进步,温度控制系统在我们的生活中扮演着越来越重要的角色。

特别是在一些需要精确控制温度的场合,如实验室、医疗设备和工业生产等领域,温度控制系统的设计和应用具有重要意义。

本文将以基于51单片机的温度控制系统设计为主题,探讨其原理、设计要点和实现方法。

一、温度控制系统的原理温度控制系统的基本原理是通过传感器感知环境温度,然后将温度值与设定值进行比较,根据比较结果控制执行器实现温度的调节。

基于51单片机的温度控制系统可以分为三个主要模块:温度传感器模块、控制模块和执行器模块。

1. 温度传感器模块温度传感器模块主要用于感知环境的温度,并将温度值转换成电信号。

常用的温度传感器有热敏电阻、热敏电偶和数字温度传感器等,其中热敏电阻是最常用的一种。

2. 控制模块控制模块是整个温度控制系统的核心,它负责接收传感器传来的温度信号,并与设定值进行比较。

根据比较结果,控制模块会输出相应的控制信号,控制执行器的工作状态。

51单片机作为一种常用的嵌入式控制器,可以实现控制模块的功能。

3. 执行器模块执行器模块根据控制模块输出的控制信号,控制相关设备的工作状态,以实现对温度的调节。

常用的执行器有继电器、电磁阀和电动机等。

二、温度控制系统的设计要点在设计基于51单片机的温度控制系统时,需要考虑以下几个要点:1. 温度传感器的选择根据具体的应用场景和要求,选择合适的温度传感器。

考虑传感器的测量范围、精度、响应时间等因素,并确保传感器与控制模块的兼容性。

2. 控制算法的设计根据温度控制系统的具体要求,设计合适的控制算法。

常用的控制算法有比例控制、比例积分控制和模糊控制等,可以根据实际情况选择适合的算法。

3. 控制信号的输出根据控制算法的结果,设计合适的控制信号输出电路。

控制信号的输出电路需要考虑到执行器的工作电压、电流等参数,确保信号能够正常控制执行器的工作状态。

4. 系统的稳定性和鲁棒性在设计过程中,需要考虑系统的稳定性和鲁棒性。

可实现的基于MCS-51单片机的恒温控制系统的设计

可实现的基于MCS-51单片机的恒温控制系统的设计
从水温检测 、信号处理 、输入 、运算到输 出控制 电阻丝
电压信号 , 经过 A/ D转换 , 保存在采样值 单元 ; 利用键盘
输入 设定温度 , 经温度 标度转换 转化成二 进制数 , 存 保 在片 内设定值 单元 ; 然后调显示子程序 , 多次显示设 定温
加 热功率 以实 现水 温控 制的全 过程 。 单片 机的使 用为 实 现水 温的智 能化控 制 以及提 供 完善 的人机 交互 界面 提供 了可能 。所 以本设 计将 采用 以单 片机为 核心 的直
1 引 言
在 实际生产过程 中, 对各 类加热炉 、热处理炉 、反
度和采样 温度 , 再把采样值与设定值进行 P D运算得 出 I 控 制量 , 用其去 调节可控 硅触发 端的通 断 , 实现对 电阻
应炉和锅炉 中的温度都需监 测和控制 , 从而保 证生产 过
程的顺利进行【 。选择单片机来控制温度不仅具有控制 方便 、简单和灵活性大 等优点 , 而且可 以大幅度提高被 控对 象 的技术指标 , 而大大 提高 产品 的品质和 数量 。 从 以单 片机 为控制核心 的温控 系统 , 具有 非常理想 的控 制
饥; 湍 ; D 转换 ; I A/ P D算 法 文献 : B 文章 编 弓:0 3 2 1 0 81 0 0 0 10 74 ( 0 )0 18 3 2
_I分 类 : P 6 {冬 1J T 44
An E e d d F ut c Prt ciga d Mo i r g S se mb d e a lAr oe t n nt i y t m n on
丝加 热 时间 的控 制 ,以此来调 节 水温 使 其基本Байду номын сангаас保持 恒
定 。主 要性 能 指标 如下 :( 1)温 度设 定 范 围 :35 ~

基于51单片机的温度报警控制系统报告

基于51单片机的温度报警控制系统报告

报告评分批改老师《现代电子综合实验》课程设计报告基于单片机的温度检测控制系统设计学生姓名 学 号专 业 班 级同组学生 提交日期 年 月 日指导教师目录2一、实验目的 .....................................................................................2二、实验要求 .....................................................................................2三、实验开发环境及工具 ...........................................................................2四、按键扫描和液晶显示功能实现 ...................................................................24.1矩阵键盘电路 ...............................................................................4.1.1矩阵键盘电路简介 .....................................................................224.1.2矩阵式按键扫描原理 ...................................................................24.1.3 按键扫描子程序设计思想及流程图 ......................................................34.2 LCD1602显示电路 ..........................................................................34.2.1 LCD1602模块简介 ....................................................................34.2.2 LCD1602模块引脚说明 .................................................................4.2.3 LCD1602控制方式及指令 ..............................................................344.2.4 LCD1602液晶显示子程序设计思想及流程图 ..............................................5五、基于单片机的温度检测控制系统设计过程 .........................................................55.1 系统整体电路框图及功能说明 ................................................................55.2 DS18B20数字温度传感器电路 ..............................................................55.2.1 单总线通信方式简介 ..................................................................65.2.2 DS18B20简介 ......................................................................5.2.3 DS18B20读写操作 ..................................................................665.3 声光报警及控制电路 ........................................................................75.4 软件设计 ..................................................................................5.4.1 主程序设计流程图 ....................................................................775.4.2 DS18B20子程序设计思想及流程图 ...................................................85.4.3 声光报警子程序设计思想及流程图 .....................................................9七、 实验过程及实验结果 ...........................................................................9八、实验中遇到的问题及解决方法 ...................................................................10附件 ............................................................................................一、实验目的(1). 掌握单片机应用系统的设计方法与步骤;(2).掌握硬件电路各功能模块的工作原理、应用电路与编程方法;(3).熟练掌握单总线的应用及编程;(4). 掌握基于单片机的温度检测控制系统的设计与实现。

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

基于51单片机的温度控制系统设计
动 力 与 电 气 工 程
S O I E N C E &T E C H N 0 L O G Y
皿圆
基于 5 1单 片机 的温 度 控 制 系统 设计
李先 利 张 家 为 4 0 1 31 1 ) ( 重温 度控 制 系统 的硬件 电路 设计 . 总体 机 构 、 工作 原理 , 键盘 显示 等硬件 电路 、 单 片机及 扩展 几 1 3 ' 电路A / D 转 换和 D / A转换 电路 作 了详细的说 明和论述 。 关键 词 : 单 片机 温度控 制 系统设计 中图 分 类 号 : T P 2 7 4 文献 标 识 码 : A 文章 编号 : 1 6 7 2 -3 7 9 1 ( 2 0 1 3 ) 1 0 ( e ) - 0 1 0 5 - 0 1 本 文 对 单 片 机 的 温 度 控 制 系 统 进 行 论 述的时候 , 主 要 是 从 具 体 的 四 个 组 成 部 分 进行 : 第一是输 入部分 ; 第 二 是 输 出部 分 ; 第 三 是按 键 部 分 ; 第 四是 显 示 部 分 。 温 度 控 制系 统通过 A DC 0 8 0 9 进行 A / D 转换 的形式 对温度传 感器的 实际温度 进行检测 , 同 时 将检测送 到单片机 中 , 如 果 检 测 到 的 值 同 设 定 值 在 比 较 的 时 候 出现 了 偏 差 , 会 对 偏 差值进行修 正 , 得 到 的 控 制 值 对 电机 转 速 进行 控 制 , 实 现 温 度 的控 制 。 这个 公 式 中 , Ama x 代表 的 是 测 量范 围 中的 最 大值 , 而 Ami n 代表 的是 测 量 范 围 中的 最 小值。 因此 , 可以将相应的数值加入公式中 进行计算 。 比如n 是8 的时候 , 而 Y是 3 的 时 候, 就 可 以满 足 相 应 模 数 转 换 器 的 要 求 。 最 常 用 的 模 数 转 换 器 是 ADC 0 8 0 9 , 这 个 转 换 器 的特 点是 价 格 比较 便 宜 , 性能较好 , 同时 有八个通 道 , 并 且 可 以 对 同一 个 参 数 进 行 测定 , 也 可 以 对 不 同 的 参 数进 行 测 定 。 本 次 设 计 中 是 通过 多 通 道 采集 的 方式 来 获取 温 度信号 , 这 样 可 以 对 系 统 的 各 个 要 求 进 行 充 分 的满 足 。 因此 , 本 次 设 计 中 的模 数转 换 所用 的 器件 选 择 用ADC0 8 0 9。 2 . 4 人机 交互 的设 计 人 机 界 面 主要 是 通 过 人 与 机 器 进 行 充 分 的结 合 , 从而对功能的选择、 控 制 参数 以 及 执行进 行设定 , 同时 对 温 度 的 显 示 等 功 能 进行较好 的控制 。 在 单 片 机 的 应 用 系 统 中, 人 机 交 互 是 属 于 外 部 设备 构成 系统 。 这 个 设 计 是 通 过 应 用 系统 同相 应 的 操 作 人 员 进 行相互 的活动 , 通 过 这 种 形 式 让 系 统 同 外 界进行相应 的联 系。 如 果 需 要 一 个 较 为 安全 的应用 系统 , 应 该 拥 有 较 为 灵 活 和 方 便 的交互功 能。 这 个 系 统 不 但 能 够 将 系 统 运 行 的 状 态 较 好 地 展示 出 来 , 同 时 又 可 以 进 行 恰 当的 人 工 干 预 。 2. 5 显示接 口的设计 在单片微机系统中 , 常用的显示器有 : 数码 管显示 器 , 简称 L E D, 液 晶显 示 器 , 简

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

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

基于单片机的恒温箱控制系统设计恒温箱是一种用于保持特定温度的设备,广泛应用于实验室、医疗、食品加工等领域。

为了实现对恒温箱的精确控制,我们可以利用单片机来设计一个智能的恒温箱控制系统。

我们需要选择合适的单片机作为控制核心。

常见的单片机有51系列、AVR系列、STM32系列等,我们可以根据实际需求选择合适的型号。

接下来,我们可以通过编程来实现对恒温箱的控制。

在编程之前,我们需要设计一个合适的硬件电路。

一个基本的恒温箱控制系统包括温度传感器、加热器、风扇、显示屏等组件。

温度传感器用于实时监测箱内温度,加热器和风扇用于调节箱内温度,显示屏用于显示当前温度和设定温度。

在编程方面,我们可以利用单片机的IO口和模拟输入输出功能来实现对各个组件的控制。

首先,我们需要通过温度传感器获取到当前的温度值。

然后,我们可以根据设定的温度范围来判断是否需要调节加热器或风扇。

如果当前温度低于设定温度,则启动加热器;如果当前温度高于设定温度,则启动风扇。

通过不断监测和调节,我们可以实现对恒温箱内温度的精确控制。

除了基本的温度控制功能,我们还可以加入一些其他的功能,以提升系统的智能化程度。

例如,我们可以设置定时开关机功能,实现按照设定的时间自动启动和关闭恒温箱。

我们还可以设计一个温度曲线显示功能,实时显示恒温箱内温度的变化趋势。

此外,我们还可以通过串口通信将实时温度数据传输到计算机上,方便用户进行数据分析和记录。

在系统设计过程中,我们需要考虑到安全性和稳定性。

首先,我们需要加入过温保护功能,当温度超过设定的安全范围时,系统会自动关闭加热器并发出警报。

其次,我们需要合理设计硬件电路,确保电路的稳定性和可靠性。

此外,我们还需要进行充分的测试和调试,确保系统工作正常并能够稳定运行。

基于单片机的恒温箱控制系统设计可以实现对恒温箱内温度的精确控制。

通过合理的硬件设计和编程,我们可以实现恒温箱的智能化控制,提升系统的功能和性能。

这不仅可以满足实验室、医疗、食品加工等领域对恒温箱的需求,还可以为科研人员提供一个稳定、可靠的实验环境。

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

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

基于51单片机的水温自动控制系统沈统摘要:在现代化的工业生产中,温度是常用的测量机被控参数。

本水温控制系统采用AT89C51为核心控制器件,实现对水温在30℃到96℃的自动控制。

由精密摄氏温度传感器LM35D构成前置信号采集和调理电路,过零检测双向可控硅输出光电耦合器MOC3041构成后向控制电路,由74LS164和LED数码管构成两位静态显示用于显示实时温度值。

关键词:89C51单片机;LM35D温度传感器;ADC0809;MOC3041光电藕耦合器;水温自动控制0 引言在现代的各种工业生产中 ,很多地方都需要用到温度控制系统。

而智能化的控制系统成为一种发展的趋势。

本文所阐述的就是一种基于89C51单片机的温度控制系统。

本温控系统可应用于温度范围30℃到96℃。

1 设计任务、要求和技术指标1.1任务设计并制作一水温自动控制系统,可以在一定范围(30℃到96℃)内自动调节温度,使水温保持在一定的范围(30℃到96℃)内。

1.2要求(1)利用模拟温度传感器检测温度,要求检测电路尽可能简单。

(2)当液位低于某一值时,停止加热。

(3)用AD转换器把采集到的模拟温度值送入单片机。

(4)无竞争-冒险,无抖动。

1.3技术指标(1)温度显示误差不超过1℃。

(2)温度显示范围为0℃—99℃。

(3)程序部分用PID算法实现温度自动控制。

(4)检测信号为电压信号。

2 方案分析与论证2.1主控系统分析与论证根据设计要求和所学的专业知识,采用AT89C51为本系统的核心控制器件。

AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器。

其引脚图如图1所示。

2.2显示系统分析与论证显示模块主要用于显示时间,由于显示范围为0~99℃,因此可采用两个共阴的数码管作为显示元件。

在显示驱动电路中拟订了两种设计方案:方案一:采用静态显示的方案采用三片移位寄存器74LS164作为显示电路,其优点在于占用主控系统的I/O口少,编程简单且静态显示的内容无闪烁,但电路消耗的电流较大。

基于51单片机温度控制系统设计毕业答辩ppt课件

基于51单片机温度控制系统设计毕业答辩ppt课件
系统的硬件设计
系统的结构框图:
AD590 温度采集
ADC0809 A/D转换
控制电路
AT89C51
光电耦合 器可控硅SC源自 电热丝显示电路温度控制系统设计
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
系统的硬件设计
系统工作原理:
在温控部分,选用AT89C51单片机为中央处 理器,通过AD590温度传感器进行温度采集, 将采集到的温度信号通过A/D转换再传输给单 片机,再由单片机控制显示器和执行单元。
执行单元是由单片机发出一个触发信号,
通过光电耦合器和双向可控硅来控制电热 丝的加热与停止。
温度控制系统设计
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
A/D转换器 (ADC0809)
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
系统控制方案的选择: 这个方案是采用AT89C51单片机系统来实现的,
单片机软件编程灵活、自由度大,可用软件编程实现 各种控制算法和逻辑控制。单片机系统可以用数码管 来显示水温的实际值,能用键盘输入设定值。本方案 选用的AT89C51芯片,不需要外扩展存储器,使系统 整体结构更为简单
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用

基于51单片机的电热水器控制系统实物调试

基于51单片机的电热水器控制系统实物调试

基于51单片机的电热水器控制系统实物调试基于51单片机的电热水器控制系统实物调试一、引言电热水器作为家庭生活中常见的电器设备,其控制系统的设计和调试对于保证水温稳定和安全使用至关重要。

本文将以基于51单片机的电热水器控制系统实物调试为主题,介绍系统的硬件组成、软件设计以及调试过程,以期为读者提供参考和指导。

二、硬件组成1. 51单片机:作为控制系统的核心,通过编程实现控制逻辑和与其他硬件模块的通信。

2. 温度传感器:用于实时检测水温,并将检测结果传输给51单片机。

3. 按键开关:用于用户设置水温、启动和停止加热功能。

4. 继电器:控制电热水器加热元件的通断,实现加热和停止加热的功能。

5. 显示屏:用于显示当前水温、加热状态等信息。

三、软件设计1. 初始化:系统启动时,对各个硬件模块进行初始化设置,包括IO口配置、定时器设置等。

2. 按键检测:通过中断方式检测按键开关的状态,如用户设置水温、启动和停止加热功能。

3. 温度检测:定时检测温度传感器的输出,获取当前水温。

4. 控制逻辑:根据用户设置的水温和当前水温,决定是否开启继电器控制加热元件,以保持水温稳定。

5. 显示功能:将当前水温、加热状态等信息通过显示屏显示出来,方便用户观察和操作。

四、调试过程1. 硬件连接:将各个硬件模块按照设计要求正确连接,确保信号传输正常。

2. 编写代码:根据系统需求,编写相应的控制逻辑和显示功能的代码,并进行调试。

3. 调试温度传感器:通过模拟输入不同的温度值,检查温度传感器的输出是否与预期一致。

4. 调试按键开关:模拟按下不同的按键,检查系统是否正确响应,并根据按键状态进行相应的操作。

5. 调试继电器控制:通过模拟控制继电器的通断,检查加热元件是否正常工作。

6. 调试显示功能:检查显示屏是否正确显示当前水温、加热状态等信息。

7. 整体调试:将各个模块整合到系统中,进行整体调试,确保系统的稳定性和可靠性。

五、总结通过基于51单片机的电热水器控制系统实物调试,我们可以验证系统的硬件连接和软件设计是否符合预期要求,并对各个功能模块进行逐一调试,确保系统的稳定性和可靠性。

基于51单片机的温控系统设计流程框图

基于51单片机的温控系统设计流程框图

基于51单片机的温控系统设计流程框图下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor.I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!基于51单片机的温控系统设计流程详解在电子工程领域,51单片机因其简单易用、功能强大而被广泛应用。

基于51单片机的温湿度控制系统设计

基于51单片机的温湿度控制系统设计
结 论 ............................................................ 15
致 谢 ........................................................... 16
参考文献 ......................................................... 16
使用 8051 型单片机设计温湿度控制系统,可以及时、精确的反映室内的温度以及 湿度的变化。完成诸如升温到特定温度、降温到特定温度、在温度上下限范围内保持恒 温等多种控制方式,在湿度控制方面也是如此。将此系统应用到温室当中无疑为植被的 生长提供了更加适宜的环境。
1.3 植被栽培技术
植被 “设施栽培”,即“保护地栽培”。它是指在某种类型的保护设施内(如阳畦、温室、大 棚等),人为地创造适宜植被生长发育的最佳环境条件,在不同季节内,尤其是不利于植被生
2.1.2. 实施措施
· 实际环境温度与给定界限比较,执行加热/制冷措施。 · 实际环境湿度与给定界限比较,执行加湿/去湿措施。 · 越限报警:当温湿度越限时声光报警。 · 键盘显示:负责用户的输入及相关数据的显示,其中包括 LED 和 LCD 显示。
2.1.3.硬件系统设计
经过上面的总体方案和实施措施的讨论后可以开始着手硬件系统的设计,硬件系统是应 用系统的基础、软件系统设计的依据 主机与主要部件的选择: 根据总体功能和性价比及其运行速度等因素的考虑,选用 MCS-51 系列的 89C51 为主机,满足 上面的要求而且设计方便,不需要再存储扩展。
前种植植被一般都用温室栽培,为了充分的利用好温室栽培这一高效技术,就必需 有一套科学的,先进的管理方法,用以对不同种类植被生长的各个时期所需的温度及湿 度等进行实时的监控。温湿度控制对于单片机的应用具有一定的实际意义,它代表了一 类自动控制的方法。而且其应用十分广泛。

基于51单片机的温度控制系统设计与实现

基于51单片机的温度控制系统设计与实现

基于51单片机的温度控制系统设计与实现摘要:温度控制系统是一种常见的自动控制系统,具有广泛的应用领域。

本文基于51单片机设计了一个温度控制系统,采用了传感器采集温度信息,通过对比设定温度和实际温度,控制加热或冷却装置以保持温度稳定。

实验结果表明,该系统能够有效地控制温度,具有较高的精度和响应速度。

关键词:温度控制;51单片机;传感器;加热;冷却1. 引言温度控制是工业生产和生活中常见的一项自动控制技术。

温度控制系统可以保持被控对象的温度在一个设定范围内,不仅可以提高生产效率,还可以保证产品质量。

目前,市场上有许多成熟的温度控制设备,但大多数价格较高,不适用于一些中小型企业和个人用户。

因此,本文设计了一种基于51单片机的温度控制系统,旨在提供一种简单、实用、成本低且性能稳定的温度控制系统。

2. 系统设计2.1 硬件设计该温度控制系统的硬件主要包括51单片机、温度传感器、继电器、加热器和LCD显示屏。

其中,51单片机作为控制核心,负责采集温度信息、进行控制算法运算并驱动相应的设备。

2.2 软件设计软件设计采用C语言进行编程。

首先,通过温度传感器采集温度信息,并将其与设定温度进行比较,判断当前温度状态。

根据温度状态,控制继电器的开关状态,进而控制加热或冷却设备的运行。

同时,通过LCD显示屏实时显示温度变化以及系统状态。

3. 系统实现3.1 温度传感器的接口设计使用数字温度传感器,将其正负极连接至51单片机的ADC口和地线上。

通过ADC转换,将模拟信号转换为数字信号,以便单片机进行处理。

3.2 控制算法设计系统的控制算法采用PID控制算法,通过设定比例、积分和微分系数,使系统快速响应、精确稳定地控制温度。

算法的具体实现细节本文不再赘述。

3.3 界面设计使用LCD显示屏,实时显示当前温度、设定温度以及系统状态(加热、冷却或停止)。

通过按键进行设定温度的调整,方便用户自定义温度范围。

4. 实验结果与分析通过对该温度控制系统进行多次实验,对不同温度变化进行控制,观察系统的响应速度和温度稳定性。

基于51单片机的温度控制系统设计-开题报告

基于51单片机的温度控制系统设计-开题报告

因此,智能温度传感器 DS18B20 具备测温误差小,分辨力高,抗干扰能力强输据
用户可设定温度上、下限,具有越限自动报警功能,并且带串行总线接口,适配
各种微控制器等优点。
2. 温度显示部分
方案一: 采用三位八段数码管显示。可显示测量温度的数值和小数点的显示,
随对向摄氏度这样的图形符号无法显示。但使用起来相对方便,程序设计和硬件
论文提纲(含论文选题、论文主体框架) 第一章 前言 1.1 温度控制系统设计发展历史及意义 1.2 温度控制系统的目的 1.3 温度控制系统完成的功能 第二章 总体设计方案 第三章 温度传感器 3.1 DS18B20 简介
3.1.1DS18B20 封装与引脚 3.1.2 DS18B20 的简单性能 3.2 DS18B20 的工作原理 3.3 DS18B20 的测温原理 第四章 单片机接口设计 4.1 设计原则 4.2 单片机引脚连接 4.2.1 单片机引脚图 4.2.2 串口引脚 第五章 硬件电路设计 5.1 主要硬件电路设计 5.2 软件系统设计 5.2.1 软件系统设计 5.2.2 程序组成
研究内容(包括基本思路、框架、主要研究方式、方法等) 主要内容: 本课题研究的主要内容是设计制作一个可以数字显示被测温度和控制温度的温 度测量与控制器,主要工作有:电路设计,电路仿真,实际电路制作和调试。
研究方案: 1:温度测量部分 方案一: 采用温度传感器铂电阻 PT1000,铂热电阻的物理化学性能在高温和 氧化性介质中很稳定,它能用作工业测温元件且此元件线性较好。在 0—100 摄 氏度时,最大非线性偏差小于 0.5 摄氏度。但铂热电阻输出的模拟信号需放大、 滤波、A/D 转换等处理后才可上传至微控制器,使硬件电路连接相对复杂。 方案二: 采用集成电路温度传感器 LM35。LM35 为电压输出型的集成温度传感 器。它具有很高的工作精度和较宽的线性工作范围,它的输出电压与摄氏温度线 性成比例。一般来说,LM35 与用开尔文标准的线性温度传感器相比更有优越之 处。LM35 无需外部校准,可以提供+1/4 摄氏度的常用室温精度。LM35 应用系统 包括 LM35、信号调理电路、A/D 采集电路和单片机 4 个部分。LM35 传感器负责 将温度转换成模拟电压值。但是转换出的电压值通常比较小,为此需要信号调理 电路对信号进行放大、限幅等处理,再通过 A/D 采集电路对该电压信号进行数据 采集。这个过程降低了系统的工作速度,并增添了许多硬件连接,系统设计相对 复杂。 方案三: 采用智能温度传感器 DS18B20。DS18B20 是一线温度传感器。所谓“一 线”是指 DS18B20 只用一条线进行输入输出,因而与之接口的微处理器也只需要 一条口线与之通信。它不需要任何外围元件即可检测温度,并转换成数字量传给 上位机(微处理器)。DS18B20 测量温度范围为-55—+125 摄氏度。在-10—+85 摄氏度范围内,精度为+0.5 摄氏度。现场温度直接以“一线总线”的数字方式 传输,大大提高了系统的抗干扰性,适合在恶劣环境的现场进行温度测量。 DS18B20 具有测温系统简单,测温精度高,连续方便,占用口线少等优点。它可 以使硬件开销降到最低点,并且内部包含存储器,单片机通过向 DS18B20 发启动 命令使之进行一次温度测量,DS18B20 将转换结果存在便笺式存储器中,便于单 片机随时读取数据。

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

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

基于51单片机的温控系统设计1.引言1.1 概述概述部分的内容可以包括以下几个方面:温控系统是一种广泛应用于各个领域的实时温度控制系统。

随着科技的发展和人们对生活质量的要求提高,温控系统在工业、家居、医疗、农业等领域得到了广泛应用。

温度作为一个重要的物理量,对于许多过程和设备的稳定运行至关重要。

因此,设计一种高效可靠的温控系统对于提高工作效率和产品质量具有重要意义。

本文将基于51单片机设计一个温控系统,通过对系统的整体结构和工作原理的介绍,可以深入了解温控系统在实际应用中的工作机制。

以及本文重点研究的51单片机在温控系统中的应用。

首先,本文将介绍温控系统的原理。

温控系统的核心是温度传感器、控制器和执行器三部分组成。

温度传感器用于实时检测环境温度,通过控制器对温度数据进行处理,并通过执行器对环境温度进行调节。

本文将详细介绍这三个组成部分的工作原理及其在温控系统中的作用。

其次,本文将重点介绍51单片机在温控系统中的应用。

51单片机作为一种经典的微控制器,具有体积小、功耗低、性能稳定等优点,广泛应用于各种嵌入式应用中。

本文将分析51单片机的特点,并介绍其在温控系统中的具体应用,包括温度传感器的数据采集、控制器的数据处理以及执行器的控制等方面。

最后,本文将对设计的可行性进行分析,并总结本文的研究结果。

通过对温控系统的设计和实现,将验证51单片机在温控系统中的应用效果,并对未来的研究方向和发展趋势进行展望。

通过本文的研究,可以为温控系统的设计与应用提供一定的参考和指导,同时也为利用51单片机进行嵌入式系统设计的工程师和研究人员提供一定的技术支持。

1.2文章结构文章结构部分的内容可以包含以下内容:文章结构部分旨在介绍整篇文章的组织结构和各个部分的内容。

本篇文章基于51单片机的温控系统设计,总共分为引言、正文和结论三部分。

引言部分主要包括概述、文章结构和目的三个小节。

首先,概述部分介绍了本文的主题,即基于51单片机的温控系统设计。

基于51单片机的温度控制系统

基于51单片机的温度控制系统

一.概述温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。

对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。

本设计的控制对象为一电加热炉,输入为加在电阻丝两断的电压,输出为电加热炉内的温度。

输入和输出的传递函数为:G(s)=2/(s(s+1))。

控温范围为100~500℃,所采用的控制方案为直接数字控制(DDC)中的最少拍控制。

二.温度控制系统的组成框图采用典型的反馈式温度控制系统,组成部分见下图。

其中数字控制器的功能由微型机算机实现。

图2.1 温度控制系统的组成框图三.温度控制系统结构图及总述图3.1 温度控制系统结构图图中由4~20mA变送器,I/V,A/D转换器构成输入通道,用于采集炉内的温度信号。

其中,变送器选用XTR101,它将热电偶信号(温度信号)变为4~20mA电流输出,再由高精密电流/电压变换器RCV420将4~20mA电流信号变为0~5V标准电压信号,以供A/D 转换用。

转换后的数字量与与炉温的给定值数字化后进行比较,即可得到实际炉温和给定炉温的偏差。

炉温的设定值由键盘输入。

由微型计算机构成的数字控制器按最小拍进行运算,计算出所需要的控制量。

数字控制器的输出经标度变换后送给8253,由8253定时计数器转变为高低电平的不同持续时间,送至SCR触发电路,触发晶闸管并改变其导通角大小,从而控制电加热炉的加热电压,起到调温的作用。

四.温度控制系统硬件与其详细功能介绍1.微型计算机的选择——时钟发生器,8282——带三态缓冲器的通用8位地址锁存器,8286——具有三态输出的8位双极型总线收发器。

其中,时钟发生器8284A为CPU提供时钟信号,经时钟同步的系统复位信号RESET和准备就绪信号READY;地址锁存器8282是针对于8086CPU地址/数据线分时复用而设计配备的,它可以在8086CPU总线周期的T1状态,利用ALE信号的下降沿将地址信息锁存于其中;总线收发器8286是为了提高8086CPU 数据总线的驱动能力2.SCR触发回路和主回路图4.1 SCR触发回路和主回路如图所示为一晶闸管触发电路。

基于51的温度控制系统设计C语言源程序

基于51的温度控制系统设计C语言源程序

未 ************* ********* 未章 **** 未章 ***)*(未章 ********** 未*******/八程序名称:温度监控系统*/广程序功能:利用89C52单片机和DS18B20温度传感器实现环境 */ /*温度的实时测量和高、低温报警*/八程序版本:vl.O */八作 者: 严编写时间:未 ************* ********* 未章 **** 未章 ***)*(未章 ********** 未*******///定义数据类型★define uchar unsigned char ★define uint unsigned int〃定义端口#define LED PO 〃段码输出口 sbit DQ = P3A 2; //传感器数据口sbit SMG_q = P20; //定义数码管阳级控制脚(千位) sbit SMG_b = P"l; //定义数码管阳级控制脚(百位) sbit SMG_s = P"2; 〃定义数码管阳级控制脚(十位) sbit SMG 」= P"3; //定义数码管阳级控制脚(个位)sbit buzzer = P1A 5; //蜂鸣器 sbit ledjow = P2A 6; 〃低温指示灯 sbit led.high = P2A 7; 〃高温指不灯 sbit led_ok = P2 人5; 〃温度正常指示灯 sbit led_work = P2A 4; 〃工作指不灯 sbit set = P3A 7;〃设置按键sbit add= P3A 4;〃加一按键 sbitdec = P3A 5;〃减一按键 〃共阳 LED 段码表 n 0H n l u n 2H”3” ”4” H 5n H 6n H 7n ”8” “9"不亮uchar code LED_code[12] = {0xc0.0xf9.0xa4,0xb0,0x99,0x92,0x82.0x18.0x80,0x90}; uchar code LED_codel[] = {0x40,0x79,0x24,0x30^0x19,0x12,0x02,0x78^0x00,0x10}; uchar code ditab[16]=*/ */^include <reg52.h> #include <intnns.h>〃含_nop_()延时函数〃定义变量和常量int count = 0; int h;uint temp; uchar r;uchar high = 35」ow = 20;〃按键次数寄存器 〃主函数用循环计数器 //温度值 〃温度值整数形式 〃上下限初值广函数名称:ds_resetQ */{0x00,0x01,0x0],0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,OxO&OxO&0x09,0x09};// 小数部分转换码表uchar data temp_data[2] = {0x00,0x00};//存储从传感器读出的温度值uchar data dp[5] = {0x00,0x00,0x00,0x00.0x00}显示单元数据,共 4 个数据和一个运算 〃子函数声明 void ds_reset();void ds_WTite(uchar ds_wrdata); uchar ds_read(); read_temp();void change_temp(uint tem);void xianshi(int horl);void display();void keyscanQ;void warn_led();void delay(uint t);}change_temp(read_temp()); 〃温度数据读取和处理//DS18B20初始化函数 //DS18B20写数据函数 //DS18B20读数据函数 //读取温度函数 //温度数据处理 //温度显示转换 〃数码管显示函数〃按键查询函数 〃超限报警〃延时函数,单次25us*/void mainQ{LED=0x00; led 1=0; led2=0; led3=0; led4=0;for(h=0 ;h<4 ;h++) { dp[h]=8; } while(l) { u c h ar i;for(i=0;i<200;i++) {warn_ledQ; displayQ; keyscan();〃初始化显示端口〃循环执行显示和温度读収〃指示灯控制 〃显示 〃按键扫描八函数功能:DS18B20初始化 *//沐入口参数:无 */ 八输出参数:无*/ /*调用函数:delayQ;_nop_0; */八全局变量:无 */ /沐局部变量:presence */void ds_reset(void) {char presence=l; while(presence) {while(presence) {DQ=1; _nop_0; _nop_0;DQ=0; delay(50); DQ=1; delay(6);presence=DQ; }delay(45); presence=、DQ; }DQ=1;led_work=0; }/沐函数名称:ds_write()*//*函数功能:向DS18B20写数据 *//*入 口 参数:ds_wi:data */ 八输出参数:无*/ /*调用函数:delayQ;_nop_0; */ 八全局变量:无*/ /沐局部变量:ds_wrdata */void ds_x\Tite(uchar ds_wrchta) {uchar i;for(i=8;i>0;i-)DQ=1; _nop_0; _nop_();〃传感器数据段先置高电平 〃适当延时〃传感器数据段从高电平拉到低电平 〃延时〃再置高电平 〃延时〃初始化成功,继续下一步 〃延时〃拉高电平〃开工作指示灯DQ=O; _nop_(); _nop_(); _nop_(); _nop_();DQ=ds_v\Tdata&0x01; delay(6);ds_wrdat3=ds_\vrdata/2; } DQ=1; delay(l); }严函数名称:ds_read()*/八函数功能:从DS18B20读数据 *//沐入口参数:无 *//沐输出参数:value♦/广调用函数:delayQ;_nop_0; */ 广全局变量: */严局部变量:i ;value; */uchar ds_read(void) {uchar i;uchar value=O; for(i=8;i>0;i-) {DQ=l;_nop_(); _nop_(); value»=l; DQ=O; _nop_(); _nop_(); _nop_(); _nop_(); DQ=1; _nop_(); _nop_(); _nop_();_nop_(); if(DQ)value|=0x80; delay(6); }DQ=1;return(value); }〃最低位移出 〃右移1位read_temp() 读温度数据数据 无 yempds_resetO;ds_\vriteO;ds_read(); */delay(); */ temp */ temp_data[]; */read_temp() {ds_reset(); delay(200); ds_wnte(Oxcc); ds_wnte(0x44); ds_reset(); delay(l); ds_wnte(Oxcc); ds_wnte(0xbe);temp_data[O]=ds_read(); temp_data[l]=ds_read(); temp=temp_data[ 1 ]; temp«=8;temp=temp|temp_data[O]; return temp;}〃传感器初始化 〃发跳过读取序列号命令 〃发温度转换命令〃读18B20中存储器 〃读温度值的低字节命令 〃读温度值的髙字节 〃两字节合成一个整型变量〃返回温度值/沐函数名称:chang_temp()*/ 八函数功能:将温度传感器中独到的数据进行转换 */ 广入口参数:tem */ 广输出参数:dp[] */ 八调用函数:无*/广全局变量:dp[];ditab[];r; */广局部变量:tem*/void change_temp(uint tem) {uchar n=0; if(tem>6348) {tem=65536-tem; n=l ;}dp[4]=tem&0x0f; dp[0]=ditab[dp[4]]; dp[4]=tem»4;八函数名称: 八函数功能: 八入口参数: 广输出参数: 八调用函数: 严广全局变量:广局部变量: */ */ */ *///温度值正负判断 //负温度求补码 〃标志位置1〃取小数部分的值 //存入小数部分显示值〃取中间八位,即整数部分的值广函数名称:xianshiQ */严函数功能:温度数据转换成显示所需LED 段码 */ 八入口参数:horl */八输出参数:dp[] */八调用函数:无 */广全局变量:dp[]; */ 广局部变量:n;*/void xianshi(int horl) {int n=0; if(horl>128){ horl=256-horl; n=l ; }dp[3]=horV100; dp[3]=dp[3]&OxOf; dp[2]=horl%100/10; dp[l]=horl%10; dp[0]=0; 現!dp[3]) {dp[3]=0x0a; 垠!dp[2])dp[2]=0x0a;dp[3]=dp[4]/100; dp[l]=dp[4]%100; dp[2]=dp[l]/10; dp[l]=dp[l]%10;r=dp[l]+dp[2]*10+dp[3]*100; 現!dp ⑶) {dp[3]=0x0a; 敢!dp[2]) {dp[2]=0x0a; } } if(n) {dp[3]=0x0b;//取百位数据 //取后两位数据 //取十位数据 //个位〃实际温度值(十进制) 〃符号位显示判断〃最高位为0时彳、显示〃次髙位为0时不显示〃负温度时最高位显示叮'〃负数补码转换〃百位 〃十位 〃个位 //小数位 //髙位为零不显不〃负数最高位显示dp[3]=0x0b; } }/沐函数名称:displayQ 八函数功能:数码管显示 严入口参数:无 八输出参数:无*//沐调用函数:delayQ*/ 广全局变量:dp[];LED_code[];LED_codel[];*/ /* Iedl;led2;led3;led4; */广局部变量:j ;*/void display() {intj;for0=0j<4j++) //4 位 LED 扫描控制 {switch 。

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

课程设计报告项目名称:基于51单片机的恒温控制系统项目主持人:_________孔亮 ___________班级:_______09电子信息工程_________学号:_________0928401116___________摘要本恒温控制系统设计采用现在流行的51系列单片机,配以DS18B20数字温度传感器,能够较精确的控制温度,并显示设定温度与当前温度。

单片机将检测到的温度信号与设定的温度进行比较,根据两者差值输出相应占空比的PWM波,近而实现对温度的线性控制。

本系统的加热功率为0~10W,供电电源为直流10V,调温范围理论上可达+0℃~100℃,温度调节精度为±0.5℃。

关键词:51单片机;恒温控制;DS18B20;线性控制。

AbstractThis temperature control system design using popular MCS-51 microcontroller, with digital temperature sensor DS18B20, can control temperature quite accurately and display the temperature has been set and the temperature at the present. The microcontroller will compare the tempature detected with the set one, output the PWM wave whose Duty Ratio will change according to the difference of the two tempratures, and to achieve the linear control of the temprature.The heating power is 0 ~ 10W, power supply is 10V (DC), Temperature range +0 ℃~ +100 ℃theoretically , temperature control accuracy of ± 0.5 ℃.Keywords:MCS-51 microcontroller ; temperature control system ; DS18B20 ; linear control .目录摘要 (2)1 引言 (4)1.1 恒温控制系统设计的背景、发展历史及意义 (4)1.2 温度控制系统的目的 (4)1.3 温度控制系统完成的功能 (4)2 总体设计方案 (5)2.1 单片机主控制电路 (5)2.2 人机交互模块 (5)2.3 温度测量与控制模块 (6)3 硬件电路详细设计 (7)3.1 单片机最小系统 (7)3.2 人机交互模块 (7)3.3 测温模块 (9)3.4 温度控制模块 (9)3.5 总电路图 (10)3.6 硬件实物图 (10)4 系统软件设计 (11)4.1 原理框图 (11)4.2 详细程序 (13)5 系统性能测试与分析 (21)5.1 数据记录 (21)5.2 数据分析与结论 (21)6 结束语 (22)1 引言1.1 恒温控制系统设计的背景、发展历史及意义随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。

特别是近年来,温度控制系统已应用到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。

针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。

温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。

在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。

比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。

没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。

因此,各行各业对温度控制的要求都越来越高。

可见,温度的测量和控制是非常重要的。

单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。

随着温度控制器应用范围的日益广泛和多样,各种适用于不同场合的智能温度控制器应运而生。

1.2 温度控制系统的目的本设计的内容是恒温控制系统,控制对象是温度。

温度控制在日常生活及工业领域应用相当广泛,比如温室、水池、发酵缸、电源等场所的温度控制。

而以往温度控制是由人工完成的而且不够重视,其实在很多场所温度都需要监控以防止发生意外。

针对此问题,本系统设计的目的是实现一种可连续高精度调温的温度控制系统,它应用广泛,功能强大,是一款既实用又廉价的控制系统。

1.3 温度控制系统完成的功能本设计是对温度进行实时监测与控制,设计的恒温控制系统实现了基本的温度控制功能:当温度低于设定温度1℃时,系统输出占孔比为1的波形,使加热电阻全功率加热,使温度快速上升,同时红灯亮;当温度上升到与设定温度差值小于1℃时,系统开始输出相应占空比的PWM波,随着温度的上升而不断减小加热电阻功率;当温度上升到设定温度时,系统输出占孔比为0的波形,停止加热,同时绿灯亮。

数码管即时显示温度,精确到小数点一位。

同时可以通过4个按键进行对设定温度的调节。

2 总体设计方案系统总体框图如图1所示。

图1 系统总框图2.1单片机主控制电路主控制电路准备用STC 89C52的单片机作为控制主机。

之所以选择89C52作为主机,是因为89C52作为51系列单片机的一种,其使用性能稳定,价格便宜,完全能够满足此次设计的需求。

而且89C52内部集成了程序存储器,可以装载用户程序,方便后续的课程设计需要。

图2 单片机最小应用系统框图2.2人机交互模块人机交互模块主要包括键盘、数码管、LED指示灯等功能模块,其中键盘用于供用户输入温度期望值,数码管用于显示用户设定温度及容器中水温,LED 指示灯用于指示系统工作状态(加热中、保温中)。

图3 人机交互模块系统框图2.3温度测量与控制模块温度测量模块准备采用美国DALLAS半导体公司的DS18B20温度传感器。

该传感器与传统的热敏电阻等测温元件相比,它能直接读出被测温。

这一部分主要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与单片机的接口部分组成。

数字温度传感器DS18B20把采集到的温度通过数据引脚传到单片机的IO口,单片机接受温度并存储。

此部分只用到DS18B20和单片机,硬件很简单温度控制模块准备采用FAIRYCHILD的8N60C开关管、10W10Ω的水泥电阻。

由单片机根据设定温度与测量温度之差输出相应占空比的PWM波,控制8N60C开关管的通断,近而控制水泥电阻的加热功率。

图3 温度测量与控制模块系统框图3 硬件电路详细设计3.1 单片机最小系统:包括复位电路、时钟电路、电源电路、烧录口共四个单元,其中电源电路与烧录口省略。

电路图如下:其中,31端口接高电平,表明单片机复位后访问内部程序存储器;由于P0口作为输出口时处于漏极开路状态,所以必须外接上拉电阻,如果后期实验中不使用其作为输出口,则此处可省略。

3.2 人机交互模块:(1)、数码管:其中,采用8段共阴数码管,P0口输出段码、位码,P2.2和P2.3分别为段锁存和位锁存。

数码管前四位显示用户测量温度,后四位显示测量温度。

(2)、LED指示灯:其中,指示灯绿色用于指示保温中、红色用于指示加热中,当两个LED均亮起时,表示正处于设置温度状态。

(3)、按键:其中,四个按键分别表示温度设置、上升1摄氏度、下降1摄氏度、确定。

温度设置键用于触发外部中断,以进行温度的调节。

3.3 测温模块:测温模块采用美国DALLAS 半导体公司的DS18B20温度传感器。

其输出与P1.0相连。

3.4 温度控制模块:8N60C 的栅极(G)与P1.1相连,源级(S)接地(注意与单片机控制端共地,否则将导致无法关断),漏极(D)接水泥电阻,水泥电阻另一端接10V 直流电。

水泥电阻是将电阻线绕在无碱性耐热瓷件上,外面加上耐热、耐湿及耐腐蚀之材料保护固定并把绕线电阻体放入方形瓷器框内,用特殊不燃性耐热水泥充填密封而成。

水泥电阻的外侧主要是陶瓷材质。

8N60C 是仙童公司出品的一款N 沟道的MOSFET ,最小开启电压为4V ,最大关断电压为2V ,故可以直接接在单片机IO 口,由高低电平控制通断。

DS18B20引脚图水泥电阻实物图3.5 总电路图:3.6 硬件实物图:4 系统软件设计 4.1 原理框图:(1)、主程序:(2)、定时中断0程序:4.2 详细程序:(1)、main.c#include<reg52.h>#include "18b20.h"#include "delay.h"#define DataPort P0 //定义数据端口 程序中遇到DataPort 则用P0 替换sbit PWM=P1^1;sbit LED_G=P1^2;sbit LED_R=P1^3;sbit LATCH1=P2^2;//定义锁存使能端口 段锁存sbit LATCH2=P2^3;// 位锁存sbit UP=P3^3;sbit DOWN=P3^4;sbit OK=P3^5;bit ReadTempFlag;//定义读时间标志unsigned char code DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~9unsigned char code WeiMa[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码unsigned char TempData[8]={0x3f,0xbf,0x3f,0x39,0x6d,0xbf,0x3f,0x39}; //存储显示值的全局变量unsigned int temp;volatile int usertemp=50;void Display(unsigned char Num);//数码管显示函数void Init_Timer0(void);//定时器初始化void Init_Int0(void);//外部中断初始化/*------------------------------------------------主函数------------------------------------------------*/void main (void){unsigned int TempH,TempL,temp,CYCLE=100,DELTA;Init_Timer0();Init_Int0();while (1) //主循环{if(ReadTempFlag==1){ReadTempFlag=0;temp=ReadTemperature();TempH=temp>>4;TempL=temp&0x0F;TempL=TempL*6/10;//小数近似处理if(TempH/10==0)TempData[0]=0;//消隐elseTempData[0]=DuanMa[TempH/10]; //十位温度TempData[1]=DuanMa[TempH%10]|0x80; //个位温度,带小数点 TempData[2]=DuanMa[TempL];TempData[3]=0x39;//显示C符号}if(TempH<usertemp-1){LED_R=0;LED_G=1;PWM=1;}else{if(TempH>=usertemp){LED_R=1;LED_G=0;PWM=0;}else{LED_R=0;LED_G=1;DELTA=(usertemp-TempH-TempL*10)*100;PWM=1;DelayMs(DELTA);PWM=0;DelayMs(CYCLE-DELTA);}}}/*------------------------------------------------ 显示函数,用于动态扫描数码管------------------------------------------------*/ void Display(unsigned char Num){static unsigned char i=0;DataPort=0; //数码管清零,防止重影LATCH1=1; //段锁存LATCH1=0;DataPort=WeiMa[i]; //取位码LATCH2=1; //位锁存LATCH2=0;DataPort=TempData[i]; //取显示数据,段码LATCH1=1; //段锁存LATCH1=0;i++;if(i==Num)i=0;}/*------------------------------------------------ 定时器初始化子程序------------------------------------------------*/ void Init_Timer0(void){TMOD |= 0x01; //使用模式1,16位定时器//TH0=0x00; //给定初值//TL0=0x00;EA=1; //总中断打开ET0=1; //定时器中断打开TR0=1; //定时器开关打开}/*------------------------------------------------ 定时器中断子程序------------------------------------------------*/ void Timer0_isr(void) interrupt 1{static unsigned int num;TH0=(65536-2000)/256;TL0=(65536-2000)%256;Display(8); // 调用数码管扫描num++;if(num==300) //{num=0;ReadTempFlag=1; //读标志位置1}}/*------------------------------------------------外部中断初始化子程序------------------------------------------------*/void Init_Int0(void){EA=1; //全局中断开EX0=1; //外部中断1开IT0=1; //IT1=1表示边沿触发}/*------------------------------------------------外部中断中断子程序------------------------------------------------*/void ISR_INT0(void) interrupt 0{while(OK){LED_R=0;LED_G=0;if(!UP) //如果检测到低电平,说明按键按下{DelayMs(10); //延时去抖,一般10-20msif(!UP) //再次确认按键是否按下,没有按下则退出{while(!UP);//如果确认按下按键等待按键释放,没有释放则一直等待 {usertemp++;TempData[4]=DuanMa[usertemp/10];TempData[5]=DuanMa[usertemp%10]|0x80;}}}if(!DOWN) //如果检测到低电平,说明按键按下{DelayMs(10); //延时去抖,一般10-20msif(!DOWN) //再次确认按键是否按下,没有按下则退出{while(!DOWN);//如果确认按下按键等待按键释放,没有释放则一直等待 {usertemp--;TempData[4]=DuanMa[usertemp/10];TempData[5]=DuanMa[usertemp%10]|0x80;}}}Display(8);}return;}(2)、18b20.c#include"delay.h"#include"18b20.h"/*------------------------------------------------18b20初始化------------------------------------------------*/bit Init_DS18B20(void){bit dat=0;DQ = 1; //DQ复位DelayUs2x(5); //稍做延时DQ = 0; //单片机将DQ拉低DelayUs2x(200); //精确延时 大于 480us 小于960usDelayUs2x(200);DQ = 1; //拉高总线DelayUs2x(50); //15~60us 后 接收60-240us的存在脉冲dat=DQ; //如果x=0则初始化成功, x=1则初始化失败DelayUs2x(25); //稍作延时返回return dat;}/*------------------------------------------------读取一个字节------------------------------------------------*/unsigned char ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--)DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;DelayUs2x(25);}return(dat);}/*------------------------------------------------写入一个字节------------------------------------------------*/void WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;DelayUs2x(25);DQ = 1;dat>>=1;}DelayUs2x(25);}/*------------------------------------------------读取温度------------------------------------------------*/unsigned int ReadTemperature(void){unsigned char a=0;unsigned int b=0;unsigned int t=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换DelayMs(10);Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度 a=ReadOneChar(); //低位b=ReadOneChar(); //高位b<<=8;t=a+b;return(t);}(3)、18b20.h#ifndef __DS18B20_H__#define __DS18B20_H__#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int;/*------------------------------------------------端口定义------------------------------------------------*/ sbit DQ=P1^0;//ds18b20 端口/*------------------------------------------------函数声明------------------------------------------------*/ unsigned int ReadTemperature(void);bit Init_DS18B20(void);unsigned char ReadOneChar(void);void WriteOneChar(unsigned char dat);#endif(4)、delay.c#include "delay.h"/*------------------------------------------------uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是0~255 这里使用晶振12M,,大致延时长度如下 T=tx2+5 uS ------------------------------------------------*/ void DelayUs2x(unsigned char t){while(--t);}/*------------------------------------------------mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是0~255 这里使用晶振12M------------------------------------------------*/void DelayMs(unsigned char t){while(t--){//大致延时1mSDelayUs2x(245);DelayUs2x(245);}}(5)、delay.h#ifndef __DELAY_H__#define __DELAY_H__/*------------------------------------------------uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是0~255 这里使用晶振12M,大致延时长度如下 T=tx2+5 uS ------------------------------------------------*/ void DelayUs2x(unsigned char t);/*------------------------------------------------mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是0~255 这里使用晶振12M------------------------------------------------*/ void DelayMs(unsigned char t);#endif5 系统性能测试与分析5.1 数据记录:设定温度:42℃ 供电电压:10V时间、温度数据记录表:时间/s 0 21 43 62 87 107 135 温度/℃ 34.5 35 35.5 36 36.5 37 37.5 时间/s 157 185 209 241 270 302 330 温度/℃ 38 38.5 39 39.5 40 40.5 41 时间/s 340 350 360 370 380 390400 温度/℃ 41 41.1 41.2 41.3 41.3 41.1 41.1 时间/s 410 420 430 440 450 460 470 温度/℃ 41 40.9 40.8 40.8 40.8 40.9 41 时间/s 480 490 500 510 520 温度/℃ 41.1 41.1 41.3 41.3 41.35.2 数据分析与结论:由温度响应曲线可以观察出,最终温度应逐渐稳定在41℃,虽然与设定值42℃仍存在一定的误差,但已基本达到要求。

相关文档
最新文档