▌功能说明

(1)单片机读取温度传感器当前的温度值并在LCD液晶显示屏上的第一行显示当前的温度值,如Temp:27.5℃

(2)单片机读取按键状态并通过人为手动按键部分来设置最低温度到最高温度的温度范围后,由单片机内部进行转换并在LCD上显示出人为设定的正常时的温度范围。

(3)单片机把温度传感器当前值与人为设定的正常温度范围进行比较。若当前温度值低于人为设定的温度范围时,报警器部分的蜂鸣器会响以及报警指示灯会亮红色,同时升温电路的继电器闭合使得加热管开启工作达到加温功能,最终使得低温状态慢慢达到人为设定的正常温度范围内。若当前温度值高于人为设定的温度范围时,报警器部分的蜂鸣器会响以及报警指示灯会亮红色,同时降温电路的继电器闭合使得降温风扇开启工作达到降温功能,最终使得高温状态慢慢达到人为设定的正常温度范围内。若当前温度值等于人为设定的温度范围时,报警器部分的蜂鸣器不会响以及报警指示灯不会亮红色,同时升温电路和降温电路的继电器都不闭合,加热管和降温风扇都不工作,此时,已经达到人为设定的正常温度范围内的恒温状态。

(4)按下一次KEY1是在更改人为设置温度范围内的最低温度值,在LCD液晶显示屏的第二行的最低温度值前面显示一个“S”设置符号时,并通过多次按下KEY2或者KEY3来达到最低温度值增减的功能。按下两次KEY1是在更改人为设置温度范围内的最高温度值,在LCD液晶显示屏的第二行的最高温度值前面显示一个“S”设置符号时,并通过多次按下KEY2或者KEY3来达到最高温度值增减的功能。

(5)按下S1复位开关后,系统取消了原先人为设定的正常温度范围值,变成了代码最初设定的默认正常温度范围值并显示在LCD上。

▌电路组成

单片机最小系统,电源部分,温度传感器部分,报警器部分,降温电路部分,升温电路部分,按键部分和LCD温度显示部分组成。

图1:基于51单片机的恒温控制器proteus原理图

▌程序流程图

图2:程序流程图

▌仿真现象记录

(1)等于25-30℃正常恒温范围时:只显示此时温度27.5℃。

图3:正常温度恒温

(2)24.5℃温度低于25-30℃正常温度范围时:加热管工作且指示灯亮黄色,报警器灯亮红色,蜂鸣器发声。

图4:低于正常温度非恒温

(3)32℃温度高于25-30℃正常温度范围时:降温风扇工作且指示灯亮黄色,报警器灯亮红色,蜂鸣器发声。

图5:高于正常温度非恒温

(4)人为通过按键设置正常恒温范围内的最低温度值:最低温度值前面显示一个“S”设置符号。

图6:显示低温“S”设置符号。

最后设置最低温度为21℃。

图7:显示设置的最低温值

(5)人为通过按键设置正常恒温范围内的最高温度值:最高温度值前面显示一个“S”设置符号。

图8:显示高温“S”设置符号

最后设置最高温度为37℃。

图9:显示设置的最高温值

(6)按下S1复位开关后,系统取消了原先人为设定的正常温度范围值21-37℃,变成了代码最初设定的默认正常温度范围值25-30℃并显示在LCD上。

图10:显示设置的默认温度范围值

▌选择部分硬件时注意事项

(1)晶振和单片机内部时钟的属性频率:11.0592MHz。

(2)蜂鸣器BUZZER:应选择为直流有源的,更改属性电压值2V左右,不宜过大,因为报警器电路部分只有5V的VCC供电。

(3)继电器:RL1和RL2的电压也不应该过大更改属性驱动电压值由12V变为5V或者5V以下,因为在升/降温电路部分能使继电器工作的电源为5V的VCC。如果继电器的工作电压过大,即使与继电器相连接的三极管导通,继电器也达不到正常的工作电压值,使得继电器的吸引力不强,丧失了强电控制弱电的功能。

▌部分硬件及管脚的功能

(1)PNP三极管作用:基级,低电平导通,高电平截止,相当于开关功能。

(2)继电器作用:当有电流时开关吸合使电路闭合工作,当没有电流时开关弹开,使电路断路不工作。

(3)上拉电阻(排阻)作用:P0口作为I/O口输出的时候时,当输出的低电平为0,输出高电平为高组态(并非5V,相当于悬空状态,也就是说P0口不能真正的输出高电平)。P0口没有办法给所接的负载提供电流,因此必须连接上拉电阻(上拉电阻一端连接到VCC),由电源通过这个上拉电阻给负载提供电流。由于P0口内部没有上拉电阻,当为开漏的,不管它的驱动能力多大,相当于它是没有电源的,因此需要外部的电路提供电源,绝大多数情况下P0口是必需加上拉电阻的。

(4)LCD1602部分管脚作用:

VEE管脚作用:是液晶显示的偏压信号,VEE通过滑动变阻器接地,用来调整对比度,接正电源时对比度最弱,接地电源时对比度最高。RS是寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;RW为读写信号线,高电平1时进行读操作,低电平0时进行写操作;E(EN)端是使能(enable)端,高电平1时读取信息,负跳变时执行指令。

(5)与温度传感器串联的10KΩ的电阻作用:由于单片机直接读出的是AD值,用10KΩ的电阻与温度传感器串联分压,单片机读取中间的分压AD。DS18B20是数字式单总线式温度传感器。(问题:这个10kΩ的分压电阻的阻值假如更改其大小,会影响温度传感器的转换精度吗?还有当环境温度为25℃时,能说明温度传感器的硬件阻值大小为10kΩ吗?)

(6)与LED灯串联的电阻作用:分压(限流)作用,其阻值不宜过大过小,一般200到300多欧姆,阻值过大使得电路的电流太小达不到LED灯的开启电压值然后不亮或者亮不明显,阻值过小使得电路的电流太LED灯分到的电压太大导致烧坏。

(7)电源部分:提供给整个电路图的所有5V电源。

▌代码和其他文件

在公众号回复「51单片机温度控制系统」获取。


推荐阅读:

专辑|Linux文章汇总

专辑|程序人生

专辑|C语言

我的知识小密圈

关注公众号,后台回复「1024」获取学习资料网盘链接。

欢迎点赞,关注,转发,在看,您的每一次鼓励,我都将铭记于心~

51单片机温度控制系统报警器,不会做课程设计的就拿走相关推荐

  1. 基于Tiny-51操作系统的51单片机温度测控系统设计

    文章目录 基于Tiny-51操作系统的51单片机温度测控系统设计 一.设计题目 二.设计要求 三.设计作用及目的 四.硬件设计 五.软件流程 六.调试界面 七.心得体会 八.程序源码 基于Tiny-5 ...

  2. STC12C5A60S2最小系统板/51单片机温度显示和温度控制风扇

    STC12C5A60S2最小系统板/51单片机温度显示和温度控制风扇,板载有DS18B20和TM1650+4位数码管. 项目简介 单片机课课程设计,要做一个智能温控风扇,达到设定的下限温度值就开启风扇 ...

  3. 51单片机实现智能报警器

    51单片机实现智能报警器 PS:学了这么久的32,回头看看51,真的简单的一批呀!! 直接上代码!! #include "public.h" #include "lcd. ...

  4. 基于51单片机的火焰报警器

    基于51单片机的火焰报警器 一.模块描述 1.可以检测火焰或者波长在760纳米心1100纳米范围内的光源 2.探测角度60度左右,对火焰光谱特别灵敏3灵敏度可调(图中蓝色数字电位器调节) 3.对火焰的 ...

  5. 基于ESP8266与51单片机的震动报警器(车辆报警器)(简单向)

    基于ESP8266与51单片机的震动报警器(车辆报警器) 前言 笔者是桂工通信工程的一名在读大学生,在进行课程设计的时候,想要去做一个可以在手机上进行消息提醒的报警器.在传统的声光报警器上有所突破,可 ...

  6. 51单片机温度检测及串口传输(带时间显示)

    具体实现功能: 1.LCD显示实时时钟:年.月.日.时.分.秒: 2.实时测量温度,LCD更新显示温度值: 3.按键触发存储当前温度和时钟信息(年.月.日.时.分): 4.按键触发串口传输存储的温度和 ...

  7. 51单片机温度语音播报系统TTS播报DS18B20温度LCD1602显示

    实践制作DIY- GC0023-温度语音播报系统 一.功能说明: 基于51单片机设计-温度语音播报系统 功能介绍: 1.STC89C52单片机(STC89C51/52 AT89C51/52 任选其一) ...

  8. 基于51单片机的多层电梯(1-16层)运行系统仿真设计_层数可改

    基于51单片机的多层电梯(1-16层)运行系统仿真设计_层数可改 仿真图proteus 8.9 程序编译器:keil 4/5 编程语言:C语言 设计编号:S0027 视频演示 基于51单片机的多层电梯 ...

  9. 基于51单片机宠物自动投料喂食器控制系统仿真设计( proteus仿真+程序+讲解视频)

    基于51单片机宠物自动投料喂食器控制系统仿真设计( proteus仿真+程序+讲解视频) 仿真图proteus 7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S00 ...

  10. 51单片机汽车胎压大气气压测量仪仿真设计_数码管显示

    51单片机汽车胎压大气气压测量仪仿真设计_数码管显示 (仿真+程序) 仿真原版本:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0018 目录标题 51 ...

最新文章

  1. Java开源Web Service(转)
  2. 谋定新型农业主体-农业大健康·万祥军:农业高质量发展规划
  3. 笔记本能连上WIFI网络,但是无法上网怎么办
  4. idea 中maven依赖报错3部曲
  5. Java Dictionary elements()方法与示例
  6. JEECG再创新举,开辟支付宝服务窗开发新时代,业内独家培训 《支付宝服务窗实战培训》
  7. linux 占用缓存前10_Ogre的不足与改进(Ogre2.0设计方案)-1.缓存优化
  8. 仅用半小时,从Python爬取到BI可视化,告诉你深圳房价有多贵
  9. 已在页面完全加载前强制排版_公众号写作排版指南v2.0(适配Dark Mode)
  10. 倍福--读取控制器诊断信息
  11. 华硕aura完全卸载_这把键盘,或是顶级光轴键盘!华硕TUF GAMING K7光轴机械键盘...
  12. 一个技术工作者的四大核心价值理念
  13. 获取Unique reads方法
  14. 深入了解机器学习(Descending into ML):线性回归
  15. 谷歌身份验证器 手表_6条使您的三星手表更加Google-y的提示
  16. Python 进阶(七): Word 基本操作
  17. Qt QNetworkAccessManager请求返回reply内存泄漏
  18. 鸿蒙系统不能自动连wifi,Hi3861_WiFi IoT工程:WiFi自动连接
  19. Google首席工程师Joshua Bloch谈如何设计优秀的API
  20. cmstop框架中顶级类总结

热门文章

  1. 计算机网络连接图标 红叉,win7系统网络连接成功但图标显示红叉的解决方法
  2. java算法大全_java经典算法_算法面试题大全含答案
  3. EDA技术实用教程 | 复习二 | Verilog基本语法
  4. java就业培训教程 笔记
  5. “windows无法完成格式化”解决办法
  6. java反编译工具jd-gui-osx for mac M1芯片无法使用的两个问题场景
  7. 书单 | 专为程序员而写的数学书
  8. JS函数之间的调用(函数内调用一个函数、调用函数内部的函数)
  9. 运维之道 | Linux常用网络命令
  10. 贪吃蛇游戏设计及算法