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

▌功能说明

(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」获取学习资料网盘链接。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ —— C++数据类型

C—— C数据类型 1、数据类型分类 (1)基本数据类型 字符型(char)—— 1字节 整型(int) —— 4字节 浮点型(实型)—— 单精度float4字节;双精度(double&a…

参加 CSDN 2009 英雄大会有感(一)

参加 CSDN 2009 英雄大会有感(一) 我作为 CSDN Blog 专家参加了本次盛会。今天可以算是本次大会的第一天。下午参观了 CSDN 的研发中心,感觉蛮不错,从个人工作环境布局到各会议室的空间布局上都很紧凑,合理、最大化地…

不要怕辛苦

先说点事情一直以来我都非常喜欢跟大家交流各种问题,自我觉得回答比较用心,可能最近因为很多人毕业,遇到抉择的问题比较多,所以这类的提问也偏多一些。从开始做公众号到现在,支持我的人很多。有些读者从开始关注到现在…

SQL Server 连接字符串和身份验证 学习

https://www.cnblogs.com/niuyjdz/p/7533439.html

Win7系统中用anaconda配置tensorflow运行环境

前言:anaconda是一个python Data Science Platform。安装它的契机是因为要用tensorflow。安装完后感觉用它来管理python运行环境还是挺方便的,常用的conda命令:升级conda: conda update conda安装conda环境: conda create -n env_…

区分JavaScript中的undefined,null和NaN

区分underfined,null和NaN 先看看下面语句的运行结果: 1: var a; 2: alert(a); //显示"undefined" 3: alert(typeof a); //显示"undefined" 4: alert(b); //显示"undefined" 以上说明a的值和类型都是underfined 1: var a null; …

C++ —— C++常量和变量

C——常量和变量 1、常量 (1)整型常量 指不带小数点的整数,整型常量后面加上l或L表示该数为长整型常量 整型常量后面加上u或U表示该数为无符号整型常量 十进制中,由,-,0~9组成 &#xff08…

拆解前苏联产荧光数码管计算器,内部电路结构彪悍!

荧光数码管是用来显示数字和符号的器件。它的数码字形由若千段分立的笔划构成。荧光数码管是一种电真空器件,其工作原理与普通的电子管相似,它的灯丝就是阴极(为直热式阴极),当灯丝通电后灯丝就会发热(即阴…

silverlight之datagrid的一个问题

this.myDataGrid.itemSourcesitems; 使用泛型数组给datagrid添加itemsource,我想添加一个textblock对象,上面text"sdfd",可运行显示是System.Windows.Controls.TextBlock,如图,请大侠们指点 转载于:https://www.cnblogs.com/wuli00/archive/2009/04/20/1439677.html

什么是套接字(Socket)

什么是套接字(Socket) 应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要 通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用…

洛谷 P2084 进制转换

P4122 [USACO17DEC]Blocked Billboard 题目描述 During long milking sessions, Bessie the cow likes to stare out the window of her barn at two huge rectangular billboards across the street advertising "Farmer Alexs Amazingly Appetizing Alfalfa" and &…

三极管构成的电流负反馈放大器

▌1.题目设计一个有三极管构成的电流负反馈放大器,放大倍数不小于100倍,集电极最大电流不超过20mA,当负载由1000欧姆变10欧姆时,要求输出电流的波动幅度小于5%。▌2.项目总体功能图▌3.测试条件频率为500HZ、幅度为5mv的正弦波。▌…

C++ —— C++运算符与表达式

C ——运算符与表达式 1、关系运算符及其优先级 在&#xff23;语言中有6种关系运算符&#xff1a;<,<,>,>,,! 在六个关系运算符中&#xff0c;<&#xff0c;<&#xff0c;>&#xff0c;>的优先级相同&#xff0c;和!的优先级相同&#xff0c;<&a…

lzg_ad:FBWF配置详解

在安装好Windows XP Embedded FP2007及以后版本的开发工具后&#xff0c;我们就可以在我们的XPE操作系统镜像中添加FBWF功能了。我们可以在目标设计器中配置FBWF&#xff0c;也就是在构建XPE镜像文件前配置好FBWF&#xff0c;也可以在运行时镜像中配置FBWF。本文将详细介绍这两…

耦合,到底是什么!?

在电路中,将前级电路(信号源)的能量递至后级电路(负载)称为耦合&#xff0c;常见的耦合介质有导线、电容器&#xff0c;变压器、光电耦合器&#xff0c;电子电路&#xff0c;根据不同耦合介质常见有以下耦合方式&#xff0c;这几种耦合方式&#xff0c;各有特点,在不同哪种比较…

hibernate中*.hbm.xml配置文件的各种映射关系配置方法(多对一,多对多)

多对一&#xff1a; 多个用户对应一个部门&#xff0c;是多对一的关系&#xff0c;要在多方配&#xff0c;即在用户的hbm.xml文件中配 <many-to-one name"department" class"Department" column"department_Id" />name"department&qu…

MySQL学习笔记(二)—— MySQL的安装

MySQL可通过直接执行已编译版本安装&#xff0c;这个很简单&#xff0c;无须赘述&#xff0c;有时候&#xff0c;可能需要在安装时进行配置和编译&#xff0c;下面讨论一下相关的配置选项&#xff1a;1&#xff09; 配置的优先级配置选项的优先级如下&#xff1a;命令行、配置…

C++ —— C++三大分支结构(顺序、选择、循环)

C ——三大结构&#xff08;顺序、选择、循环&#xff09; 一、顺序结构的几种常用语句 1、声明语句 程序中所有由程序员给出的名字标识符&#xff0c;包括变量、常量、对象、类、类型、函数、参数等都要在使用前进行说明或定义。一般地&#xff0c;程序中的说明语句并不单纯说…

三极管的“非教科书式”解析,什么正偏、反偏都统统滚蛋!

什么正偏&#xff0c;反偏都统统滚蛋&#xff01;&#xff01;&#xff01;❤三极管有三个工作状态&#xff1b;截止、放大、饱和&#xff1b;放大状态很有学问也很复杂&#xff0c;多用于集成芯片&#xff0c;比如运放&#xff0c;现在不讨论&#xff1b;其实对信号的放大我们…

CListBox用法总结

CListBox用法总结 用法 属性Style Selection Single — 单选 Multiple — 多选(LBS_MULTIPLESEL) None — 不可选(LBS_NOSEL) Sort 对应Style: LBS_SORT Insert Item int AddString(LPCTSTR lpszItem); int InsertString(int nIndex, LPCTSTR lpszItem); Delete Item int Del…