基于单片机的智能窗控制系统设计(电路+流程)

2023-05-16

博主福利:100G+电子设计学习资源包!

http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5d5d0f15df84f4a92ebf72f88d4ee8&scene=18#wechat_redirect
--------------------------------------------------------------------------------------------------------------------------

 

随着电子技术的不断发展, 家庭中的许多电器设备如彩电、冰箱、空调等都已贴上了智能化的标签, 为提高人们的生活质量做出了贡献。但遗憾的是, 居室的眼睛---窗户, 却迟迟未跟上时代的步伐。即使是在众多的智能化生活小区, 我们都可以发现, 几乎所有的窗户的管理仍然处在原始管理方式, 与电子技术毫不沾边, 更不用说智能化了。如果使窗户具有一定的智能, 如下雨则自动关、室内有害气体超标则自动开、有盗贼入内则自动报警等, 就会给人们的居家生活带来诸多方便, 从而进一步提高人们的生活质量。

沿着这样的思路, 我们设计了以AT89C51 单片机为中央控制器的智能窗控制系统。

该控制系统能通过其数据检测传感电路不断循环检测室内温度、湿度、有害气体(如媒气) 浓度等环境参数,然后与由控制键盘预置的参数临界值相比较, 从而作出开/关窗、转动/停止换气扇、降/升温(湿) 等判断, 再结合窗状态检测电路所检测到的窗状态, 发出一系列的控制命令, 完成下雨则自动关窗、室内有害气体超标则自动开窗(同时转动换气扇) 、恒温(湿) 等自动控制功能。人们还可通过控制键盘, 直接控制窗户的开/关、换气窗的转/停、温(湿) 的升/降、选择所显示参数的种类等。

 

系统组成和部分电路设计

  

本控制系统主要由AT89C51 单片机组成的中央控制器, 数据检测传感电路, A/D 转换器, 窗驱动控制接口电路、窗驱动电路等组成。其系统框图如图一所示。

  

 

图1 系统框图

  

中央控制器

 

中央控制器以美国ATMEL 公司的AT89C51 单片机为核心。

1. AT89C51 单片机系统具有设计简单、性能可靠、功耗低等优点。它为用户预留下足够的软、硬件资源, 可供用户进行再开发应用。该系统除内部已有的4K Flash 存储器外, 还可以扩展选址64KROM区和64KRAM区, 供用户使用。用户在系统开发时, 可以将自己的数据块和程序段、数据表, 以若干控制子程序、数据块形式存放于AT89C51 单片机的扩展ROM或RAM区中, 以便系统工作时重复使用和反复调用。由于本应用系统主要用于温度、湿度、有害气体识别、防盗安全的定点和多点测试, 片内4K Flash 存储器已能满足系统设计要求。

2. AT89C51 单片机机有三级程序存储器加密。利用该功能可防止别人非法复制程序, 从而保护知识产权。

3. AT89C51 单片机还为用户预置了P0、P1、P2、P3 四个并行I/O 口, 为该系统的数据采集和控制提供了足够的端口资源。

4. AT89C51 单片机还为用户提供一组全双工串行数据传输端口, 可用于单片机系统间的远程数据信息交换。

 

本系统采用P0 数据采集、控制端口, 完成控制信息的采集和控制功能。

P110~P113 作为窗状态检测端口, 完成对窗状态(即窗是否移到边框) 的检测。

 

数据检测传感电路

 

数据检测传感电路由四个部分组成: 1) 温度传感电路; 2) 湿度传感电路; 3) 有害气体传感电路; 4) 红外防盗传感电路。

为了讨论问题方便, 我们以温度传感电路为例进行分析。通常, 在自然情况下, 窗户的开关与生活环境和人体的舒适度有关, 温度的测试是该系统设计的关键。为了较好地测出温度参数, 我们选用集成温度传感器AD590(可测-55~+150 ℃) , 其温度检测完全可以满足要求。基本电路如图二所示。

  

 

  图2 基本电路

 

A/D 转换器

 

为了便于与AT89C51 单片机相连接, 同时又有利于系统设计, A/D 转换器选用了ADC0809.其分辨率为8 位,不必进行零点和满度调整。单一电源( + 5V) 供电, 模拟量输入范围0 -5V.转换速度取决于芯片的时钟频率。

时钟频率范围为10 -500KHZ.ADC0809 有八路模拟量输入, 在本系统中只用4 路输入, 即可完成温度等4 种被测模拟量的A/D 转换。利用单片机对FOH口的数据写启动A/D 转换器, A/D 转换结束ADC0809 的EOC 向AT89C51 发出中断请求信号, CPU 再响应中断请求信号, 通过对FOH 口的读操作, 读取转换结果并送到被测量的相应存储区。

在重新选择被测量(修改各相关指针) , 并再次启动A/D 转换后中断返回。A/D 转换器电路如图三所示。

  

 

图3 A/D 转换器电路

 

窗驱动电路

 

我们可以根据驱动信号与所控对象的关系, 将窗驱动电路分解为: 移窗驱动电路; 换窗驱动电睡; 窗锁驱动电路; 温度调节驱动电路; 湿度调节驱动电路; 换气扇驱动电路; 报警驱动电路等, 分别用它们去控制1 个对象。

 

窗状态检测电路

 

可考虑采用4 个开关型磁敏器件。外窗、内窗所对应的左、右墙框各1 个。在外窗、内窗的左、右边上与磁敏器件相对应的地方各贴上一小片磁铁。当小磁铁随窗户的移动而移近相对应的磁敏器件时, 该磁敏器件的输出信号从高电平变为低电平, 表示窗户已移到相应边上。

 

键盘输入及显示电路

 

可采用Intel 公司生产的8279 通用可编程键盘显示器接口芯片。利用8279 , 可实现对键盘显示器的自动扫描,并识别键盘上闭合键的键号, 大大节省单片机对键盘显示器的操作时间, 从而减轻单片机的负担。该键盘输入及显示电路具有显示稳定, 程序简单, 不会出现误动作等优点。

对于控制键盘, 可考虑采用微动开关制作并安装在窗户的固定边框上。通过控制键盘, 用户不但可设置各环境参数的临界值, 还可随意选择所显参数的种类, 并直接控制窗户的开/关、换气扇的转/停、温(湿) 的升/降等。

 

软件设计

 

该控制系统的软件主要由一个主程序和两个中断服务程序等所组成。

主程序

主程序的主要作用是在系统复位后对系统进行初始化, 如设置8279、ADC0809 等的工作方式和初始状态, 设置各中断的优先级别并开中断, 以及首次启动A/D 转换等, 然后向8279 循环送显示字符。

 

读键值中断服务程序

读键值中断服务程序的主要作用是在AT89C51 响应

中断(有键按下则产生该中断) 后, 读出键值, 并根据键值从P0 口依序发出相应的控制命令字, 完成相应的控制功能。该中断应设为高优先级。

 

循环检测及A/D 转换中断服务程序

该中断服务程序的主要作用是在AT89C51 响应

中断(A/D 转换结束时EOC 引脚输出高电平, 从而产生该中断) 后, 将A/D 转换结果送相应存储区, 然后判断该转换结果是否在上、下限值之间, 并根据判断结果依序发出相应的控制命令字, 完成相应的控制、报警功能。然后重新选择被转换量, 再次启动A/D 转换后返回主程序。

 

该中断应设为低优先级。并设为电平触发方式。

  程序流程图如下:

  

 

图4 程序流程图

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于单片机的智能窗控制系统设计(电路+流程) 的相关文章

  • 计算机专业对未来职业的理想追求,IT行业个人职业生涯规划

    导语 一个完整的职业规划由职业定位 目标设定和通道设计三个要素构成 以下是无忧考网整理的IT行业个人职业生涯规划 xff0c 欢迎阅读 xff01 IT行业个人职业生涯规划篇一 距雅典不远有一座古希腊的圣城叫德尔斐 xff0c 这里是传说中
  • 翻译:In this thesis, we use latent semantic indexing (LSI, an information retrieval technique) [7] to...

    我们在这篇论文中使用潜在语义索引 LSI xff0c 一种信息检索技术 7 从蛋白质互作网络中检索蛋白质之间的关系 LSI可以解决信息检索 IR 中的同义词 表达给定概念的许多方式 和多义词 单词有多种含义 问题 这个属性对于解决我们的问题
  • ONOS的安装调试

    环境需求 Ubuntu15 04 64 datacenter 镜像 Java8 JDK ApacheMaven 3 0 and later bash for packaging amp testing ApacheKaraf 3 0 2 a
  • kmeans算法的matlab代码

    答 xff1a Kmeans算法的matlab代码可以在网上找到 xff0c 这里是一个示例 xff1a clc clear K 61 3 X 61 8 5 1 7 2 1 3 6 2 6 3 2 7 3 3 3 6 5 4 7 7 7 2
  • 用PHP实现九九乘法表

    九九乘法表可以用循环语句来实现 下面是一个简单的例子 xff1a span class hljs keyword for span span class hljs variable i span 61 1 span class hljs v
  • 如何使用OpenAI的ChatGPT

    您可以使用OpenAI的ChatGPT通过以下几种方式 xff1a API xff1a 您可以通过调用OpenAI API来使用ChatGPT 您可以在OpenAI的官方网站上注册账号 xff0c 然后获取API密钥 xff0c 最后在您的
  • qt利用opengl加载显示obj格式的3D模型

    Qt是一个跨平台的C 43 43 图形用户界面库 xff0c 可以用来开发桌面应用程序 如果想要在Qt中加载并显示OBJ格式的3D模型 xff0c 可以使用Qt的OpenGL模块 首先 xff0c 需要在Qt工程中包含OpenGL模块 xf
  • 中国用户如何免费用chatgpt

    ChatGPT是一种自然语言生成模型 xff0c 它可以根据输入的文本自动生成文本 如果你是中国用户 xff0c 想要免费使用ChatGPT xff0c 你可以通过以下方式获得 xff1a 在GitHub上找到ChatGPT的开源代码 xf
  • SDN控制平台开源代码

    开源代码是指源代码在开放的许可下公开发布 xff0c 任何人都可以从源代码免费获得 复制 修改和分发 在SDN控制平台领域 xff0c 有许多开源代码可供选择 xff0c 如 xff1a OpenDaylight ONOS Ryu等 这些项
  • 两两比较统计学方法Tukey的优点、缺点,以及适用和不适用的情况

    Tukey的优点是它可以使用不同的统计检验来检测抽样数据中的异常值 xff0c 并能够计算出一个可以比较不同数据组之间的平均数的统计量 它的缺点是它只能处理少量的数据 xff0c 而且不能用于比较非正态分布的数据 Tukey适用于有限的数据
  • 浅谈现代无人机技术

    摘要 xff1a 在物联网技术 电池能源技术 传感器技术不断发展的今天 xff0c 无人机技术也变得日趋成熟起来 xff0c 成为一大热门技术 笔者主要对当下的无人机技术做出简单的分析 xff0c 并且简单实践复现该项技术 囊括 xff1a
  • c++数组初始化

    静态数组 span class token keyword int span dp span class token punctuation span span class token number 1 span span class to
  • PID控制器主要针对线性系统还是非线性系统

    PID控制器可以用于线性系统和部分非线性系统 PID控制器最初是为线性系统设计的 xff0c 可以有效控制具有稳定线性动态特性的系统 xff0c 如电机控制 温度控制等 但是 xff0c PID控制器也可以应用于一些非线性系统中 xff0c
  • VNC远程登录服务器(Ubuntu14.04)

    使用服务器多用户登录 xff0c 使用命令行没有图像化界面 xff0c 难免有所不便 xff0c 就来搞下VNC远程登录Ubuntu14 04 1 使用命令行登录进行vnc安装 sudo apt get install vnc4server
  • 树莓派4b使用记录(一):在树莓派4b使用python-opencv打开海康工业相机及遇到的问题与解决方法

    树莓派4b使用记录 一 xff1a 在树莓派4b使用python opencv打开海康工业相机及遇到的问题与解决方法 一 在树莓派上安装海康工业机器人的MVS软件 xff08 Linux版本 xff09 海康工业机器人软件下载地址 xff1
  • react 的性能优化

    一 性能永远是第一需求 xff0c 时刻考虑性能问题 如何避免应用出现性能问题 xff0c 如下所示 xff1a 了解常见的性能问题场景时刻注意代码的潜在性能问题注重可重构的代码了解如何使用工具定位性能问题 二 网络性能优化 xff0c 自
  • STM32应用之485通信

    我们先看看普通的收发电路 普通的485电路 xff0c 除了 用RXD连接485芯片的RO引脚 用TXD连接485芯片的DI引脚 xff0c 还会用一个单片机的普通IO引脚连接到RE DE引脚上 当单片机要发送数据的时候 xff0c 控制P
  • AD铺铜技巧总结

    原文链接 xff1a https blog csdn net snaking616 article details 78643046 目录 1 铜皮操作分类 2 铺铜技巧 2 1 过孔处理 2 1 1 过孔与绿油 2 1 2 过孔的十字连接
  • 十大滤波算法

    一 限幅滤波 1 xff09 方法 根据经验判断两次采样允许的最大偏差值A 每次采新值时判断 xff1a 若本次值与上次值之差 lt 61 A xff0c 则本次有效 xff1b 若本次值与上次值之差 gt A xff0c 本次无效 xff
  • 初识GD32

    什么是GD32 xff1f GD32是由北京兆易创新开发的国产32位MCU xff0c 基于Arm Cortex M3 M23 M4内核的32位通用微控制器 目前已经推出GD32F1xx xff0c GD32F2xx xff0c GD32F

随机推荐

  • GD32 新建工程模板

    本文以GD32F450MCU为核心 xff0c 新建工程模板 准备资料 xff1a GD32F4xx Firmware Library V2 1 0 GD32F4Pack包 http www gd32mcu com cn download
  • VirtualBox安装Win10系统

    VirtualBox是一款免费的开源虚拟机 xff0c 它简单易用 xff0c 支持Windows Linux和Mac系统等 最重要的是安装简单 xff0c 操作方便 装机准备 Windows10镜像文件 VirtualBox软件 Virt
  • SMT32H7系列DMA和DMAMUX的一点理解

    DMA和DMAMUX DMA xff1a 无CPU参与下直接进行数据搬运的控制器 DMAMUX xff1a 建立DMA请求和DMA通道之间的映射关系 xff0c 类似于路由的功能 无DMAMUX的MCU xff0c DMA请求和DMA通道的
  • 基于STM32的UVC设备枚举解析

  • ERP实施顾问与项目经理的区别

    来到青岛出差 xff0c 再次见识了青岛的美丽 xff0c 特别是在这个秋天时节 xff0c 天气宜人 xff0c 看来是一个放假休养的好时节 可惜过来是工作的 xff0c 不然倒是可以在这里呆上一段时间 xff0c 在海边看看书 xff0
  • RTOS随笔之FreeRTOS

    RTOS几点思考 为什么使用RTOS 1 先考虑OS有什么特点 xff1f 2 再考虑什么情况下使用OS FreeRTOS调试技巧任务管理1 任务调度流程2 任务栈大小 xff0c 栈溢出检测3 中断管理4 内存管理 FreeRTOS AP
  • RTOS随笔之FreeRTOS启动与同步方法

    RTOS启动与同步机制 RTOS启动任务切换场景任务同步机制队列信号量事件组任务通知 任务延时 RTOS启动 FreeRTOS在任务创建完成后调用函数vTaskStartScheduler 启动任务调度器 vTaskStartSchedul
  • LTspice仿真命令

    交流扫描 命令 ac lt oct dec lin gt 参数1 xff1a 扫描方式 xff08 oct 八倍频 dec 十倍频 lin 线性扫描 xff09 参数2 xff1a 扫描数 参数3 xff1a 起始频率 参数4 xff1a
  • LTspice创建模型

    由于刚开始接触电路 xff0c 对于电路调试并不是很清楚 xff0c 只是通过查找资料 xff0c 帮助文档学习 xff0c 其中深奥的东西目前并不是很理解 xff0c 只是相互学习 LTspice创建模型的方法 xff1a 通过导入PSP
  • 2020/1/27 在setInterval中使用setTimeout时遇到的问题

    这几天在做一个简单的随机抽取姓名的一个抽人的小页面 顺顺利利的 今天回来再打开看自己作死一样的一直找看看有没有什么bug 没想到真的找到一个 花了一个多小时才解决 其实最后才觉得是个比较细节的问题 是关于setInterval和setTim
  • MYSQL1251报错用cmd也报错,Navicat for Mysql报错1251连接不成功Mysql

    第一步 xff1a 打开Command Line Client 看清楚不是cmd xff0c 是在mysql的目录下 xff0c 你会发现有2个一模一样其实哪个都行 第二步 xff1a 输入mysql密码回车 就是安装mysql时设置的密码
  • 东信北邮笔试-211009

    在前程无忧上投的 xff0c 我自己都不清楚是社招还是校招 xff0c 此时尬住 jpg 主要还是写题吧 xff01 题目分为客观题和编程题 xff0c 只能记住一部分了 客观题 某村每户人家都养一只牛 xff0c 某日防疫站工作人员来该村
  • 自学ROS(四)----修改功能包源码,turtlesim为例

    目的 在ROS中学习智能车的路径规划时用到很多种导航算法 xff0c 随着论文进行 xff0c 需要对ROS中的路径规划算法源码进行修改从而实现算法优化 本文将详细介绍算法包的获取 xff0c 覆盖 xff0c 修改 xff0c 运行 以最
  • sudo apt-get install/update报错

    ubuntu安装软件或执行软件更新 xff0c sudo apt get install update报错 xff0c 报错如下 xff1a E Failed to fetch http mirrors tuna tsinghua edu
  • ethz的多传感器融合算法msf编译与安装

    ethz的多传感器融合算法msf编译与安装 1 建立工作空间2 下载安装所有依赖2 1 下载依赖库2 2 安装Google的glog2 3 安装GeographicLib2 4 编译 3 报错 阅读论文 A Robust and Modul
  • 如何使EndNoteX9支持GB/T 7714-2015格式参考文献&解决作者名字全为大写&去掉文章标题中的%J

    文章目录 问题描述一 如何找到GB T 7714 2015格式二 解决导入文献中文章标题里有 J三 如何解决GB T 7714 2015格式导出时作者名字全是大写的问题总结 问题描述 从学校数据库下载好EndNoteX9后 xff0c 从谷
  • 51单片机-管脚详细说明

    博主福利 xff1a 100G 43 电子设计学习资源包 xff01 http mp weixin qq com mp homepage biz 61 MzU3OTczMzk5Mg 61 61 amp hid 61 7 amp sn 61
  • 基于单片机的导盲仪(播报)电路设计(#0219)

    功能描述 1 采用51 52单片机 通用 作为主控芯片 xff1b 2 采用超声波模块对距离进行探测 xff1b 3 前方出现障碍物时 xff0c 通过震动马达和语音播报提醒危险 xff1b 4 采用WT588D作为语音播报驱动 xff1b
  • 基于单片机的防盗门窗系统设计(#0451)

    功能描述 本系统由两块板组成 xff1a 主机板包括SC2272接收模块 数码管 人体检测 震动检测传感器 蜂鸣器 继电器 xff1b 遥控板包括SC2262发送模块 控制按键 1 采用51单片机作为主控芯片 xff1b 2 采用数码管显示
  • 基于单片机的智能窗控制系统设计(电路+流程)

    博主福利 xff1a 100G 43 电子设计学习资源包 xff01 http mp weixin qq com mp homepage biz 61 MzU3OTczMzk5Mg 61 61 amp hid 61 7 amp sn 61