当前位置: 首页 > news >正文

基于单片机的空调控制器的设计

摘 要 以单片机为核心的空调控制器因其体积小 成本低 功能强 简便易行而得到广泛应用 本设计通过 AT89S52 控制DS18B20摄取实时温度信息 键盘设定温度值 定时时间及状态 LCD1602 显示相应信息的方法 实现了基于单片机的空调控制器系统的设计。 最终实验结果表明 本设计能很好地实现温度显示 控制器定时及根据温度启动相应的功能电路等多种功能, 具有一定的创新性及实用性
关键词 单片机 空调控制器 AT89S52 DS18B20 LCD1602

引 言

温度是生活及生产中最基本的物理量 在很多生产过程中, 温度的测量和控制都直接和安全生产 提高生产效率相关 因此 温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。
非接触式测温方法是通过对辐射能量的检测来实现温度测量的方法。 其优点是不破坏被测温场 可以测量热容量小的物体, 适于测量运动物体的温度 还可以测量区域的温度分布, 响应速度较快 因此 在实际的温度测量中, 要根据具体的测量对象选择合适的测量方法 在满足测量精度要求的前提下尽量减少投入。

系统的整体设计概述

系统实现了如下功能
实时温度设定超出安全范围时警报 设定温度和实时温度不等时启动相应加热电路或制冷电路;
显示实时温度和设置温度 以及定时开启控制器
单片机的空调控制器的系统框图如图 所示 系统由4 个模块组成 单片机接口电路 键盘扫描电路 温度及定时显示电路、 实时温度测量电路 各功能电路如蜂鸣电路、 加热电路 制冷电路

2硬件电路设计

2.1 单片机接口电路

单片机接口电如 图 所 示 P1 口 用 于 4×4的 键 盘扫 描,低 四 位 用 于 行,高 四 位 用 于 列。P0 口 接 至LCD1602显示器的数据输入输出端。设 定 温 度,实 时 温度,定时时间及定时状态的相关信息均通过 P0口送到显示器进行显示。P2.1口 接 DS18B20的数据输入输出脚,接收实时温度信息。P2.2口控制蜂鸣器报警电路,当实时温度值超过安全范围(如35℃)时,启动蜂鸣器进 行报警。当设定温度值大于实时温度值时,利用 P2.3口启动加热电路。当设定温度值小于实时温度值时,通过P2.4口启 动 制 冷 电 路。LCD1602的 数 据/命 令 选 择 端,读/写选择端及 使 能 信 号 分 别 由 P2.5、P2.6、P2.7 口 控 制。LED用于观测扫描键盘的时候按键是否灵敏及常亮时表示正在定时。因本设计充分使用了单片机的各端口,无需再扩展I/O。

2.2 实时温度测量电路

DS18B20 在动态转换周期中需要获得足够的电流供应。 DS18B20 供电的 方 法 是 从 VCC 引脚接入一个外部电源 见图 这样做的好处是 线上不需要加强上拉, 而且总线控制器不用在温度转换期间总保持高电平。 这样在转换期间可以允许在单线总线上进行其他数据往来。 使用外部电源的时候 可以先发一个 SkipROM命令, 再接一个 ConvertT 命令 进行温度转换 注意 :当加上外部 电 源 时, GND 引 脚 不 能 悬 空 DQ 通 过 单 片机P2.1 口读或者写信息

控制器软件设计

首先对系统进行初始化 初始化后 蜂鸣器 制 冷 电路、 加热电路不启动 温度设定值默认为 25℃ 定时器 T0用 于 定 时 中 断, 工 作 于 方 式 定 时 时 间 为 50 ms 。LCD1602显示温度设定值 实时温度 定时时间及定时状态信息。 然后比较设定温度和实时温度 若设定温度大于实时温度, 则启动加热电路 设定温度小于实时温度 则启动制冷电路。 如果 定 时 状 态 为 状 态 则 定 时 开 始 并开 CPU 中断和 T0 中断 。主程序流程图如图4 所示

数据分析

本设计的制冷电路用 CPU 风扇模拟 事实上风扇并不能改变温度, 而只能将温度降至常温 所以只对加热状况下的数据进行分析。 比较显示的实时温度和温度计显示的温度值, 得出测量误差和计算出相对误差 相关数据如表1 所示
计算而得 误差来源 DS18B20 和温度计与热源之间的距离, 温度计本身的精度及测量方法的不精确
本系统采用的是定值开关温控法 这种控制方式是当系统温度上升至设定点时关断电源, 当系统温度下降至设定点时开通电源

结束语

该设计的空调控制器以 AT89S52 单 片 机 为 核 心 最大限度的利用单片机的资源, 用键盘扫描方式设置温度 ,定时时间和定时状态 利用 LCD1602 液晶显示设定温度值, 实时温度值 定时时间和定时状态 DS18B20 数字温度传感器摄取实时温度, 其余各功能电路如蜂鸣电路, 加 热 电 路 制冷电路均用单片机的某一 口 进 行控制
该设计硬件电路简单 工作稳定可靠 性价比高 兼容性好, 便于扩展功能 其测温精度和转换速度能满足大多数测温系统的工作要求。

相关文章:

基于单片机的空调控制器的设计

摘 要 : 以单片机为核心的空调控制器因其体积小 、 成本低 、 功能强 、 简便易行而得到广泛应用 。 本设计通过 AT89S52 控制DS18&a…...

企业如何利用短视频平台做口碑塑造和品牌营销?

随着短视频平台的不断发展,新型的双微一抖小红书等新媒体平台,正在成为网民聚集的核心平台,小马识途营销顾问认为越来越多的企业应该利用这些平台进行品牌营销和宣传。其中,抖音和小红书作为短视频平台的代表,吸引了大…...

SQL INSERT批量插入方式

1、常规INSERT写法 INSERT INTO ... VALUES (...);INSERT INTO 表名( 字段1, 字段2) VALUES (字段1的值, 字段2的值);2、SELECT语句返回值INSERT INSERT INTO ...VALUES (..., (select ...));INSERT INTO 表名1(字段1, 字段2) VALUES (字段1的值, (select 查询字段 from 表名2 …...

2.5 C#视觉程序开发实例1----IO_Manager实现切换程序

2.5 C#视觉程序开发实例1----IO_Manager实现切换程序 1 IO_Manager中输入实现 1.0 IO_Manager中输入部分引脚定义 // 设定index 目的是为了今后可以配置这些参数、 // 输入引脚定义 private int index_trig0 0; // trig index private int index_cst 7; //cst index priva…...

【入门篇】STM32寻址范围(更新中)

写在前面 STM32的寻址范围涉及存储器映射和32位地址线的使用。并且STM32的内存地址访问是按字节编址的,即每个存储单元是1字节(8位)。 一、寻址大小与范围 地址线根数 地址编号(二进制) 地址编号数(即内存大小) <...

DDD架构

1.DDD架构的概念&#xff1a; 领域驱动设计&#xff08;Domain-Driven Design, DDD&#xff09;是一种软件设计方法&#xff0c;旨在将软件系统的设计和开发焦点集中在领域模型上&#xff0c;以解决复杂业务问题 2.DDD架构解决了什么问题: 在以前的mvc架构种&#xff0c;三层结…...

Open3D KDtree的建立与使用

目录 一、概述 1.1kd树原理 1.2kd树搜索原理 1.3kd树构建示例 二、常见的领域搜索方式 2.1K近邻搜索&#xff08;K-Nearest Neighbors, KNN Search&#xff09; 2.2半径搜索&#xff08;Radius Search&#xff09; 2.3混合搜索&#xff08;Hybrid Search&#xff09; …...

C语言编程3:运算符,运算符的基本用法

C语言3&#x1f525;&#xff1a;运算符&#xff0c;运算符的基本用法 一、运算符&#x1f33f; &#x1f387;1.1 定义 运算符是指进行运算的动作&#xff0c;比如加法运算符"“&#xff0c;减法运算符”-" 算子是指参与运算的值&#xff0c;这个值可能是常数&a…...

如何通过SPI机制去实现读取配置文件并动态加载对应实现类

最近写完鱼皮的RPC项目后&#xff0c;打算整理出来一些编程技巧的模版。 有两种实现&#xff1a;1.ServiceLoader 2.SpiLoader 一、直接使用java.util下的ServiceLoader 首先在resource目录下创建 META-INF/services 目录&#xff0c;并且创一个名称为对应要实现的接口的包…...

双链表(数组模拟)

双链表&#xff08;数组模拟&#xff09; 什么是双链表数组模拟双链表题目 什么是双链表 双链表不同于单链表的是 每一个节点不但存储了下一个节点的位置&#xff0c;也存储了上一个节点的位置。 数组模拟双链表 所以如果用数组的话&#xff0c;就需要创建三个数组。 题目 …...

ChatGPT 5.0:一年半后的展望与看法

在人工智能领域&#xff0c;每一次技术的飞跃都预示着未来生活与工作方式的深刻变革。随着OpenAI在人工智能领域的不断探索与突破&#xff0c;ChatGPT系列模型已成为全球关注的焦点。当谈及ChatGPT 5.0在未来一年半后可能发布的前景时&#xff0c;我们不禁充满期待&#xff0c;…...

城市地下综合管廊物联网远程监控

城市地下综合管廊物联网远程监控 城市地下综合管廊&#xff0c;作为现代都市基础设施的重要组成部分&#xff0c;其物联网远程监控系统的构建是实现智慧城市建设的关键环节。这一系统集成了先进的信息技术、传感器技术、通信技术和数据处理技术&#xff0c;旨在对埋设于地下的…...

VS 附加进程调试

背景&#xff1a; 此方式适合VS、代码和待调试的exe在同一台机器上。 一、还原代码到和正在跑的exe同版本 此操作可以保证能够调试生产环境的exe 二、设置符号路径 1.调试->选项 三、附加进程 方式1&#xff1a; 打开VS&#xff0c;调试->附加到进程&#xff0c;出…...

核函数的深入理解

核函数 &#xff08;Kernel Function&#xff09;是一种在高维特征空间中隐式计算内积的方法&#xff0c;它允许在原始低维空间中通过一个简单的函数来实现高维空间中的内积计算&#xff0c;而无需显式地计算高维特征向量。 核函数 的基本思想是通过一个映射函数 ϕ \phi ϕ …...

使用Ckman部署ClickHouse集群介绍

使用Ckman部署ClickHouse集群介绍 1. Ckman简介 ClickHouse Manager是一个为ClickHouse数据库量身定制的管理工具&#xff0c;它是由擎创科技数据库团队主导研发的一款用来管理和监控ClickHouse集群的可视化运维工具。目前该工具已在github上开源&#xff0c;开源地址为&…...

「前端工具」postman接口测试工具详解

Postman 是一款流行的 API 开发工具,用于构建和测试 RESTful API。以下是 Postman 的一些关键特性和使用方法的详解: 1. 界面和基本操作 工作区:Postman 的主界面,用于显示集合、环境和全局变量。请求构建器:用于输入请求的 URL、HTTP 方法、请求头、请求体等。响应区:显…...

生成requirements.txt

pip install pipreqs pipreqs ./ --encodingutf-8 --force python导出requirements.txt的几种方法总结...

ubuntu ceph部署

ubuntu ceph部署 参考文档&#xff1a;http://docs.ceph.org.cn/start/ 节点配置 1个mon节点&#xff0c;3个osd节点 安装前准备 安装ceph-deploy 添加 release key wget -q -O- https://download.ceph.com/keys/release.asc | sudo apt-key add -添加Ceph软件包源&…...

2024.7.8

2024.7.8 【追逐影子的人&#xff0c;自己就是影子 —— 荷马】 Monday 六月初三 讲的根本听不懂好吧&#xff01; 目前只写了三道题&#xff08;但是黑色 确实是没见过这么抽象的数据结构 Gregor and the Two Painters Number of Components Equal LCM Subsets 这个lcm确实…...

Spring 外部jar包Bean自动装配

Spring 外部jar包Bean自动装配 背景介绍 公共代码模块被作为jar包引入业务项目&#xff0c;前者定义的bean即使添加了Component注解由于不会被扫描到也就无法被Spring管理。此处通过Spring SPI机制来完成 使用 spring.factories 在外部 jar 包中创建 spring.factories 文件&a…...

UI-TARS-desktop效果实测:内置Qwen3-4B模型响应速度有多快

UI-TARS-desktop效果实测&#xff1a;内置Qwen3-4B模型响应速度有多快 在当今AI应用日益普及的背景下&#xff0c;响应速度已成为衡量模型实用性的关键指标。本文将带您实测UI-TARS-desktop内置的Qwen3-4B-Instruct-2507模型在实际使用中的响应表现&#xff0c;通过多场景测试…...

GD32F4系列替换STM32F4,HAL库CAN初始化卡死?一个Sleep模式的坑与填坑实录

GD32F4替换STM32F4的CAN初始化陷阱&#xff1a;Sleep模式差异与实战解决方案 最近在将STM32F4项目迁移到GD32F4平台时&#xff0c;遇到了一个令人费解的问题——CAN总线初始化卡死在HAL_CAN_Init()函数中。经过深入排查&#xff0c;发现问题根源在于两款芯片CAN控制器Sleep模式…...

告别官方镜像!手把手教你将自编译Android系统刷入AVD(基于Android Studio 4.2+)

告别官方镜像&#xff01;手把手教你将自编译Android系统刷入AVD&#xff08;基于Android Studio 4.2&#xff09; 在Android开发领域&#xff0c;模拟器&#xff08;AVD&#xff09;一直是开发者调试和测试应用的重要工具。然而&#xff0c;大多数开发者仅限于使用Google提供的…...

从光波“数环”到材料“测温”:迈克尔逊干涉仪在热膨胀系数测量中的创新实践

1. 光波如何变成材料"温度计"&#xff1f; 第一次接触迈克尔逊干涉仪时&#xff0c;我盯着那些不断变化的彩色圆环发了半天呆。谁能想到这些看似简单的光环&#xff0c;竟然能精确测量出金属棒受热后百万分之一米级别的长度变化&#xff1f;这就像用一把能测量头发丝…...

FPGA实战:单总线协议解析与DHT11温湿度数据采集

1. 从零认识DHT11温湿度传感器 第一次拿到DHT11这个白色小方块时&#xff0c;我完全没想到这么便宜的传感器能有如此实用的功能。作为一款经典的数字温湿度复合传感器&#xff0c;DHT11通过单总线协议输出校准后的数字信号&#xff0c;省去了传统模拟传感器需要的ADC转换环节。…...

LLaMA-Omni推理部署全攻略:本地与云端部署的最佳实践

LLaMA-Omni推理部署全攻略&#xff1a;本地与云端部署的最佳实践 【免费下载链接】LLaMA-Omni LLaMA-Omni is a low-latency and high-quality end-to-end speech interaction model built upon Llama-3.1-8B-Instruct, aiming to achieve speech capabilities at the GPT-4o l…...

2026最新大模型应用开发学习路线(附时间规划,小白/程序员必收藏)

一、先破局&#xff1a;初学者必看&#xff01;Python 还是 Java 选对不踩坑 很多小白和入门程序员&#xff0c;刚接触大模型开发就卡在编程语言选择上&#xff0c;浪费大量时间纠结。不绕弯子&#xff0c;直接给结论&#xff0c;结合AI开发场景帮你精准选择&#xff0c;新手直…...

MPC Video Renderer深度解析:构建专业级HDR视频渲染器的完整指南

MPC Video Renderer深度解析&#xff1a;构建专业级HDR视频渲染器的完整指南 【免费下载链接】VideoRenderer RTX HDR modded into MPC-VideoRenderer. 项目地址: https://gitcode.com/gh_mirrors/vid/VideoRenderer MPC Video Renderer是一款专为现代HDR视频播放设计的…...

RePKG开发者指南:深入理解C逆向工程实现原理

RePKG开发者指南&#xff1a;深入理解C#逆向工程实现原理 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一款强大的 Wallpaper Engine PKG文件提取与TEX图像转换工具&#…...

Rockchip Android 12编译踩坑记:手把手教你修改BoardConfig.mk生成userdata.img

Rockchip Android 12编译实战&#xff1a;从BoardConfig.mk修改到userdata.img生成的避坑指南 第一次在Rockchip平台上编译Android 12系统时&#xff0c;我遇到了一个令人抓狂的问题——编译过程看似顺利&#xff0c;但生成的固件烧写到设备后&#xff0c;系统始终无法正常启动…...