单片机课程设计(温度控制器)

合集下载

基于单片机的数字温度计的课程设计

基于单片机的数字温度计的课程设计

基于单片机的数字温度计的课程设计随着科技发展,单片机技术受到了广泛的应用,并得到了广泛的重视。

本设计以现有单片机ADUC7024系统为基础,设计和实现了一款基于单片机的数字温度计,旨在解决过热或者过冷的问题,通过温度检测器在给定的温度范围内确定温度,并控制过热和过冷的情况。

(一)设计的概述本设计的主要内容是分析ADUC7024硬件,对硬件进行器件选型,完成系统模块的设计,以及ADUC7024以现有程序设计语言完成控制程序设计,最后采用ADUC7024作为控制器,与温度检测器、LED等模块进行硬件联通,完成一个简单的温度检测控制系统。

1、器件选型:本设计采用ADUC7024作为系统的控制器,采取温度传感器采用的是DS18B20温度芯片芯片,显示采用的是LED系列的指示灯,系统开关采用的是两个按键作为上升按钮和下降按钮。

2、硬件模块:本次设计以ADUC7024硬件为主框架,以温度检测器连接ADUC7024控制器,可以实现温度范围内数字检测,LED显示屏以温度为参数,可根据设定的温度范围指示异常温度;系统开关采用按键开关来控制,多出的端口可实现报警功能。

本设计采用ADUC7024系统控制器,设计一款基于单片机的温度检测控制系统的电路,主要包括:外部中断、输入输出口、充电输出和按键检测电路,电路图如下图1所示:1、主程序:本次设计采用C语言编写,主程序负责实现温度检测、控制操作功能。

主程序中采用外部中断和充电输出实现数据的获取和操作的控制,采用按键输入调节温度,并且可以把某一温度范围内的上下限定值写入EEPROM,控制系统会及时获取当前温度,比较当前温度与上下限值,如果出现过热或者过冷,则会发出警报。

2、子程序:本次设计还编写了多个子程序,用于实现数据处理、按键检测等功能,并在主程序中进行调用,使程序更加规范。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机数字温度计课程设计总结

单片机数字温度计课程设计总结

单片机数字温度计课程设计总结一、引言温度是物体分子热运动的表现,对于很多应用场合来说,准确地测量和监控温度是非常重要的。

在本次课程设计中,我们使用单片机设计了一个数字温度计,能够实时测量环境温度并将其显示在数码管上。

本文将对该课程设计进行总结和归纳。

二、设计思路1. 硬件设计:我们使用了传感器、单片机和数码管等硬件元件。

传感器用于感知环境温度,单片机负责数据处理和控制,数码管用于显示温度数值。

2. 软件设计:我们使用C语言编写了相应的程序。

程序的主要逻辑是通过单片机与传感器进行通信,获取温度值并进行转换,然后将转换后的数值通过数码管进行显示。

三、硬件设计1. 传感器选择:在本次设计中,我们选择了NTC热敏电阻作为温度传感器。

它的电阻值随温度的变化而变化,通过测量电阻值的变化即可得到环境温度。

2. 单片机选择:我们选择了常用的STC89C52单片机作为控制核心。

它具有较高的性价比和丰富的资源。

3. 数码管选择:我们选择了常见的共阳极数码管,它能够直观地显示温度数值。

四、软件设计1. 数据采集:首先,我们需要通过AD转换将传感器输出的模拟信号转换为数字信号。

然后,我们将数字信号转换为温度值,根据传感器的特性曲线进行适当的校准。

2. 数据处理:接下来,我们需要对采集到的温度值进行处理,例如进行单位转换或滤波处理,以获得更加准确和稳定的结果。

3. 数据显示:最后,我们将处理后的温度值通过数码管进行显示。

为了方便观察,我们还可以添加一些提示信息,例如温度单位或警告标识。

五、调试和测试在设计完成后,我们需要进行调试和测试,以确保温度计能够正常工作。

首先,我们可以通过改变环境温度来验证温度计的测量准确性。

其次,我们还可以通过与其他温度计进行对比来验证其稳定性和精度。

六、设计优化和改进在实际使用过程中,我们可以根据需求进行进一步的优化和改进。

例如,我们可以添加温度报警功能,当温度超过设定阈值时,温度计能够及时发出警报。

单片机课程设计——温度监控系统设计

单片机课程设计——温度监控系统设计

单片机课程设计报告设计题目:温度监测系统专业:班级:学生姓名: _____学号:指导教师:__目录一、引言 (2)二、设计目的与要求 (2)三、总体设计方案 (2)四、实验原理 (3)五、材料清单 (4)六、基本芯片及其原理 (5)6.1单片机6.2温度传感器及其原理6.3 DS18B20传感器的温度数据关系七、程序设计 (7)八、系统框图 (11)九、工作流程图 (12)十、硬件电路图 (14)十一、结束语 (15)十二、参考文献 (15)温度监测系统课程设计任务书一、引言温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。

对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。

随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。

利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。

作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。

传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。

因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。

为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。

本系统利用传感器与单片机相结合,应用性比较强,本系统可以作为仓库温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。

课题主要任务是完成环境温度监测,利用单片机实现温度监测并通过报警信号提示温度异常。

本设计具有操作方便,控制灵活等优点。

本设计系统包括单片机,温度采集模块,显示模块,按键控制模块,报警和指示模块五个部分。

单片机的温度计的课程设计方案

单片机的温度计的课程设计方案

基于单片机的数字温度计的设计姓名:詹崇武班级:09应电2班学号:2009061601学院:机电工程学院2018-12-7目录1、课程设计目的32、工具/准备工作33、设计步骤及原理5步骤1:方案框图5步骤2:程序设计6步骤3:电路硬件设计及Proteus软件仿真84、设计结果及分析95、总结及心得体会96、对本设计过程及方法、手段的改进建议97、参考文献101、课程设计目的本次课程设计,就是用单片机实现温度控制,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。

本次采用DS18B20数字温度传感器来实现基于51单片机的数字温度计的设计。

2、工具/准备工作原件清单基于STC89C52单片机的数字温度计元件清单如表1所示。

元件名称型号数量/个用途单片机STC89C52 1 控制核心集成块DS18B20 1 测温电路集成块74LS07 1 显示驱动集成块74LS245 1 显示驱动电容30pF 2 晶振电路晶振12MHz 1 晶振电路电解电容10uF/10v 1 复位电路电阻10kΩ 5 复位电路、上拉电阻电阻 4.7 kΩ 1 测温电路按键 1 复位电路数码管4位共阳 1 显示电路ISP接口线1*4 1 下载程序万用板 140脚IC锁紧座 1表1 基于AT89S52单片机的数字温度计元件清单原件介绍1. STC89C52的功能特性STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能: 8K字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口。

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

基于AT89S52单片机的温度控制器设计
基于 A 8 S 2 片机 的温 度控制器设计 T 95 单
史 新 鹏
( 军 大连 舰艇 学 院装 备 自动 化 系 , 宁 大连 1 6 1 海 辽 1 0 8)
摘要 : 文章 实现 了一种 基 于 A 8 S2 片机 的 室 内温度控 制 器 ,采 用数 字传 感器 D 1B 0构成测 温单元 ,完 T 95 单 S8 2 成 对 温度 的采 集、转换 和 传输 任务 ,并 用 两个四位 数码 管 实时显 示 当前 室 内的 温度值 ,并 与事 先设 定的 温度 值 进 行 比较 ,最后将 比较 结果 通过 单 片机 以开 关量 的输 出方式控 制 固 态继电 器的通 断 ,L— I 度采
r—
L — 温 制 f 度控
r—
高 电平 ,保证 数据传 输 方 向是 由A 口向B 口传 输 。数
码 管共 阳极 引脚通过 8 5 三 极 管与单 片机 的P 口相 50 2
图 1 系统 总 体 结 构 图
2 o 中圈; 4 新拔扣 2 20 咄 0{ 4
气 不理 想 的话 ,居 室 内温度 会很 低 ,这 将在 很大 程
度 上 影响 到住户 的正 常生活 与 身体健 康 。这时 ,住 户往 往会使 用 一些诸 如 电暖器 等用 电设备 来 为家庭 取暖 。然 而 , 目前市 场 上的 电暖器 往往 只能完 成加 热这 个 简单 的功 能,特 别是 电暖器 如果 在使 用者 夜 间休 息时使用 的话 ,很 可 能一整 夜都在 加热 工作 , 这样 不仅不 安全 ,而 且还造 成 了 电能 的浪 费 。如 果
系统输 入端 包含 电源模 块和 温度 采集模 块 ,系统 输 出端包含温 度显示模 块和温 度控制模块 。

基于单片机数字温度计课程设计

基于单片机数字温度计课程设计

基于单片机数字温度计课程设计
基于单片机的数字温度计课程设计是一个非常有趣和实用的项目。

首先,我们需要选择合适的单片机,比如常用的Arduino或者STM32等。

然后,我们需要选择合适的温度传感器,比如LM35或者DS18B20等。

接下来,我们可以按照以下步骤进行课程设计:
1. 硬件设计,首先,我们需要将单片机和温度传感器连接起来,这涉及到电路设计和焊接。

我们需要确保电路连接正确,传感器能
够准确地读取温度,并且单片机能够正确地接收并处理传感器的数据。

2. 软件设计,接下来,我们需要编写单片机的程序,以便能够
读取传感器的数据,并将其转换为数字温度值。

我们可以使用C语
言或者Arduino的编程语言来实现这一步骤。

在程序设计中,需要
考虑到温度的单位转换、数据的精度等问题。

3. 显示设计,我们可以选择合适的显示设备来展示温度数值,
比如数码管、液晶显示屏或者OLED屏幕等。

在设计中,我们需要考
虑到显示的清晰度、易读性以及节能等因素。

4. 功能扩展,除了基本的温度显示功能,我们还可以考虑对数
字温度计进行功能扩展,比如添加报警功能、数据存储功能或者远
程监控功能等,这些功能的添加可以提升数字温度计的实用性和趣
味性。

5. 测试与优化,最后,我们需要对设计的数字温度计进行测试,并不断优化,确保其稳定可靠、准确无误地显示温度。

总的来说,基于单片机的数字温度计课程设计涉及到硬件设计、软件设计、显示设计、功能扩展、测试与优化等多个方面,学生可
以通过这样的课程设计项目,全面提升自己的电子设计和编程能力,同时也能够实现一个实用的数字温度计产品。

温度控制系统课程设计

温度控制系统课程设计

温度控制系统课程设计一、引言温度控制系统是一种常见的自动化控制系统,广泛应用于工业生产、农业生产、医疗保健等领域。

本课程设计旨在通过设计一个基于单片机的温度控制系统,让学生了解自动化控制系统的基本原理和实现方法。

二、设计目标本课程设计的主要目标是设计一个基于单片机的温度控制系统,具体包括以下方面:1. 实现温度测量功能:通过传感器获取环境温度,并将数据转换为数字信号,供单片机处理。

2. 实现温度调节功能:根据设定温度和当前环境温度,通过单片机输出PWM信号调节加热器功率,从而实现对环境温度的调节。

3. 实现显示功能:将当前环境温度和设定温度以数字形式显示在LCD 屏幕上。

4. 实现报警功能:当环境温度超过设定范围时,通过蜂鸣器发出警报提示操作者。

三、硬件系统设计1. 硬件平台选择本课程设计采用STM32F103C8T6单片机作为控制核心,具有较高的性价比和丰富的外设资源,适合用于中小规模的自动化控制系统。

2. 温度传感器选择本课程设计采用DS18B20数字温度传感器,具有精度高、响应速度快、可靠性强等优点,适合用于工业自动化控制系统。

3. LCD显示屏选择本课程设计采用1602A型液晶显示屏,具有低功耗、易于控制等优点,适合用于小型自动化控制系统。

4. 其他外设选择本课程设计还需要使用继电器、蜂鸣器、电阻等外设实现各项功能。

四、软件系统设计1. 系统架构设计本课程设计采用分层结构设计,将整个软件系统分为数据采集层、控制层和用户界面层三个部分。

其中数据采集层负责获取环境温度数据;控制层根据设定温度和当前环境温度输出PWM信号调节加热器功率;用户界面层负责显示当前环境温度和设定温度,并实现报警功能。

2. 数据采集层设计数据采集层主要负责获取环境温度数据,并将其转换为数字信号供单片机处理。

本课程设计采用DS18B20数字温度传感器实现温度测量功能,具体实现步骤如下:(1)初始化DS18B20传感器。

(2)发送读取温度命令。

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

基于单片机的温度控制器设计
内容摘要:该温度报警系统以AT89C51单片机为核心控制芯片,实现温度检测报警功能的方案。

该系统能实时采集周围的温度信息,程序内部设定有报警上下限,根据应用环境不同可设定不同的报警上下限。

该系统实现了对温度的自动监测和自动调温功能。

关键词:AT89C51 ADC0808 温度检测报警自动调温
Abstract:The temperature alarm system AT89C51 control chip, realize temperature detection alarm function scheme. The system can collect real-time temperature information around that internal procedures set alarm equipped, according to different application environment can be set different alarm upper. The system realizes the automatic monitoring of temperature. The instrument can achieve the automatic thermostat function.
Keywords:AT89C51 ADC0808 Temperature detecting alarm automatic thermostat
引言:本课题是基于单片机的温度控制器设计,经过对对相关书籍资料的查阅确定应用单片机为主控模块通过外围设备来实现对温度的控制。

实现高低温报警、指示和低温自加热功能(加热功能未在仿真中体现)。

1.设计方案及原理
1.1 设计任务
基于单片机设计温度检测报警,可以实时采集周围的温度信息进行显示,并且可以根据应用环境不同设定不同的报警上下限。

1.2 设计要求
(1)实时温度检测。

(2)具有温度报警功能。

(3)可以设报警置温度上下限。

(4)低于下限时启动加热装置。

1.3 总体设计方案及论证
方案一:基于STC89C51单片机通过读取温度传感器DS18B20测量温度后存储的数据。

当高于或低于一定温度将分别利用红黄灯报警。

此方案由于DS18b20测量温度范围为-55℃~+125℃,在工业生产中此范围较小。

而且由于编程时采用I2C通信,因此读取数据是时序要求较高,程序编写复杂。

此方案电路复杂,灵活性不高,效率低,不利于系统的扩展,对信号处理比较困难。

方案二:采用51系列单片机作为整机的控制单元,将0-5V模拟电压信号通过AD0808模数转换成模拟温度值0-255℃,将此温度值与先前设定的限值比较,达到上下限报警及低温自动调温的目的。

此方案设计简单,编程容易,并且增宽了测量温度范围。

本设计采用第二种方案。

为了能够使系统具备检测温度的大小,利用51系列单片机为主控制器,通过AD0808检测由电位器分压输出的的电压值,从而输出模拟温度值0-255℃送入单片机,控制外围设备达到控温目的。

2.硬件设计
本系统由主控模块、信号显示模块、温度检测模块、报警模块、设定报警温度和自动调温6个模块组成,系统硬件组成框图如图1所示。

图1 系统硬件组成框图
主控模块:AT89C51单片机
信号显示:LED-RED(高温),LED-GREEN(低温、继电器)
自动调温:继电器
图2 AT89C51和ADC0808的引脚图
主程序流程:设置定时器t1工作方式1下工作,t2在工作方式2下工作,为ADC0808提供工作时序。

一个高电平信号使ADC0808开始接受电压信号并开始转换,当p2.1接受到电平时说明ADC0808已经转换完成。

OE置1,将转换好的数字信号传输给单片机。

在单片机中将刚刚所得的数据与之前软件设定的上下限比较。

当超出上下限时报警指示灯接受低电平(p3.0、p3.1),且p3.7置位高电平驱动蜂鸣器发声。

在低于下限时p0.0置高电平进过集成运放的放大驱动继电器闭合。

(若继电器连接升温装置,使在低温时加热)使温度一直保持在一定范围内。

总结
误差分析,产生误差的因素主要有一下几点:(1)在参数选择的时候没有完
全匹配;(2)基准电压设定不适中;(3)AD转换时的误差。

学习了对比论证的方法,结合自身能力选用了较为简单的方案二,对以前学习过的单片机,模拟电子技术又再一次巩固。

选用了自己较为熟悉的汇编语言编程,更深入理解了汇编语言直接操作硬件的模型。

因为仿真的条件,本此设计只是温度控制器的核心部分,若在ADC0809模拟量输入端加一个热电偶则可直接将现场温度测出并由ADC0809转换送至单片机。

再在继电器开关处加一个实体的升温装置就可成为一个真正的温度控制器。

参考文献
[1] 王思明、张鑫、苟军年、张金敏、杨乔礼.单片机原理及应用系统设计[M].科学出版社
[2]封志宏.模拟电子技术[M].兰州大学出版社
[3] 周润景、袁伟亭、景晓松.Proteus在MCS-51&ARM7系统中的应用百例[M].电子工业出版社.2006
[4] 阎石. 数字电子技术基础(第四版)[M].高等教育出版社.2004
[7] 赵亮.单片机C语音编程与实例[M].北京:人民邮出版社,2004.
附录
仿真结果:
1.正常情况
温度在77—153范围内,报警灯都不亮,蜂鸣器不发出声音,继电器不闭合。

结果如图5.
温度低于77,P3.1为低电平,故在这路上的LED(D2)灯亮,蜂鸣器发出声音,继电器闭合,LED(D3)亮。

结果如图6。

3.高于温度上限
温度高于153,P3.0为低电平,故在这路上的LED(D1)亮,蜂鸣器发出声音,继电器不闭合,结果如图7。

ADC EQU35H
TCNTA EQU36H
TCNTB EQU37H
H_TEMP EQU38H;温度上限
L_TEMP EQU39H;温度下限
FLAG BIT00H
H_ALM BIT P3.0
L_ALM BIT P3.1
SOUND BIT P3.7
CLOCK BIT P2.4
ST BIT P2.5
EOC BIT P2.6
OE BIT P2.7
JD BIT P0.0
ORG 00H
SJMP START
ORG0BH
LJMP INT_T0
ORG1BH
LJMP INT_T1
START:MOV H_TEMP,#153
MOV L_TEMP,#77
MOV TMOD,#12H
MOV TH0,#245
MOV TL0,#0
MOV TH1,#(65536-1000)/256
MOV TL1,#(65536-1000)MOD 256
MOV IE,#8aH
CLR C
SETB TR0;为ADC0808提供时钟
WAIT:SETB H_ALM
SETB L_ALM
CLR JD
CLR ST
SETB ST
CLR ST;启动转换
JNB EOC,$
SETB OE
MOV ADC,P1;读取AD转换结果
CLR OE
MOV A,ADC
SUBB A,L_TEMP;判断是否低于下限JC LALM
MOV A,H_TEMP
MOV R0,ADC
SUBB A,R0;判断是否高于上限
JC HALM
CLR TR1
LJMP PROC
LALM:;低温报警CLR L_ALM
SETB JD
SETB TR1
CLR FLAG
LJMP PROC
HALM:;高温报警
CLR H_ALM
SETB TR1
SETB FLAG
LJMP PROC
PROC: LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
SJMP WAIT
INT_T0:CPL CLOCK;提供ADC0808时钟RETI
INT_T1:MOV TH1,#(65536-1000)/256
MOV TL1,#(65536-1000)MOD 256
CPL SOUND
INC TCNTA
MOV A,TCNTA
JB FLAG,I1;判断是高温警报还是低温警报CJNE A,#30,RETUNE;低温警报声
SJMP I2
I1:CJNE A,#20,RETUNE;高温警报声
I2:MOV TCNTA,#0
INC TCNTB
MOV A,TCNTB
CJNE A,#25,RETUNE
MOV TCNTA,#0
MOV TCNTB,#0
LCALL DELAY2
RETUNE:RETI
DELAY:MOV R6,#10
D1:MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
DELAY2:MOV R5,#20
D2:MOV R6,#20
D3:MOV R7,#250
DJNZ R7,$
DJNZ R6,D3
DJNZ R5,D2 RET
END。

相关文档
最新文档