基于51单片机和proteus的智能调速风扇设计

news2024/11/18 23:30:13

此智能风扇是基于51单片机和proteus的仿真设计,功能如下:

1. Timer0 PWM控制电机转速

2. DHT11采集温湿度

3. LCD1602显示温湿度及电机状态

4. 按键控制电机加减速启停等

5. 串口控制电机加减速启停等

功能框图如下:

 

Proteus仿真界面如下:

 

下面就各个模块逐一介绍,

  1. DHT11温湿度采集模块

51单片机在使用DHT11模块时需要注意时序问题,因为51单片机的时钟频率并不高这里选择是11.0592Mhz, 微妙级延时需要精确。

启动DHT11:

 

DHT11读取温湿度:

 

  1. 风扇控制

AT89C51并没有PWM这个功能模块,这里使用软件模拟的方法产生PWM,周期使用20ms即可。

 

  1. 按键控制

按键可以控制电机启动停止加速减速,加减速是通过改变电机占空比实现的,占空比增加则电机加速占空比减小则电机减速,电机启停是通过控制TIMER0实现的,因为TIMER0控制电机PWM的产生。

电机停止:

 

电机加速:

  1. 串口控制

Proteus中可以添加串口控制接口,在程序中加入串口控制指令则仿真的时候可以输入指令模拟串口控制。

 

  1. LCD1602显示

LCD1602可以显示DHT11采集到的温湿度,也可以显示电机的占空比和电机控制状态。

更新LCD1602:

另外在proteus中也加入了示波器功能,仿真时则可以看到电机控制脚的波形,按键或者串口控制改变占空比时波形也会发生相应的变化,电机转速的改变也能直观的看出来。

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

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

相关文章

EasyExcel使用与详细说明,EasyExcel工具类

文章目录1.Apache POI1.1 学习使用成本较高1.2 POI的内存消耗较大1.3 特点2. 初识EasyExcel2.1 重写了POI对07版Excel的解析2.2 特点3.快速入门3.1 导入依赖坐标3.2 最简单的读3.2.1 需求、准备工作3.2.2 编写导出数据的实体3.2.3 读取Excel的监听器,用于处理读取产…

rabbitmq在linux系统下安装步骤

第一步:登录官网 官网地址:www.rabbitmq.com,点击Get Started 重要信息:RabbitMQ Tutorials手册,描述了工作模式 第二步:点击Download Installation下载 重要信息:rabbitmq是用erlang语言开发的&#xff0…

C++类与对象(上)【详析】

目录1.面向过程和面向对象初步认识2.类的引入3.类的定义4.类的访问限定符及封装4.1访问限定符4.2封装5.类的作用域6.类的实例化7.类对象模型7.1 如何计算类对象的大小8.this关键字如果说我们对C的初步认识,是觉得C是对C语言不足之处的进行修补,在认识完类…

Vue-router 3.x 版本中路由守卫钩子函数解析

目录概念:分类全局前置守卫 ( router.beforeEach )全局解析守卫 ( router.beforeResolve )全局后置守卫 ( router.afterEach )路由独享守卫 ( beforeEnter )组件内的守卫…

有哪些办法可以降低 Redis 的内存使用情况

在逛知乎时,看到这样一个问题,觉得挺不错的,将自己个人的见解分享给大家。问题是:有哪些办法可以降低 Redis 的内存使用情况?个人也对Redis做了一个比较全面的问题汇总,希望对大家有所帮助。Redis面试题汇总要降低内存…

Git同时配置Github和Gitlab

电脑的git需要同时管理Github上自己的代码仓库和Gitlab的公司的代码仓库,所以记录同时配置两者的步骤。 第一步、清除已有的全局配置(我之前只有github的配置) git config --global --unset user.name git config --global --unset user.em…

【论文阅读总结】Mask R-CNN翻译总结

Mask R-CNN1.摘要Mask R-CNN相关介绍与优点2.引言3.文献综述3.1 R-CNN3.2 Instance Segmentation【实例分割】4. Mask R-CNN介绍4.1 Faster R-CNN(相关细节请看相关文章)4.2 Mask R-CNN4.3 Mask Representation【遮罩表示法】4.4 RoIAlign【感兴趣区域对齐】4.4.1 RoIPool【感兴…

软件测试面试问答

笔试 笔试的话我们需要揣测具体会考什么内容,我们可以通过招聘信息去了解该公司需要什么样的技能,以此来准备笔试。一般必考的内容会有编程,测试用例设计,工作流程,逻辑思维等内容,除此之外每个公司可能还会…

【设计模式】我终于读懂了模板方法模式。。。

🍎豆浆制作问题 编写制作豆浆的程序,说明如下: 1.制作豆浆的流程 选材—>添加配料—>浸泡—>放到豆浆机打碎 2)通过添加不同的配料,可以制作出不同口味的豆浆 3)选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样…

二、IA-32系列处理器 通用寄存器介绍

IA-32系列处理器 通用寄存器介绍 寄存器处理器内的特殊存储单元处理器内有多种不同用途的寄存器寄存器分别有各自的名称,以便表示及访问通用寄存器IA-32系列CPU有8个32位的通用寄存器(General-Purpose Registers)通用寄存器不仅能存储数据,而且能参与算术逻辑运算,还能给出…

OpenCV 图像轮廓检测

本文是OpenCV图像视觉入门之路的第15篇文章,本文详细的介绍了图像轮廓检测的各种操作,例如:轮廓检索模式、轮廓逼近算子等操作。 图像轮廓是具有相同颜色或灰度的连续点的曲线,轮廓在形状分析和物体的检测和识别中很有用。图像轮廓…

预训练BERT

与PTB数据集相比,WikiText-2数据集保留了原来的标点符号、大小写和数字,并且比PTB数据集大了两倍多。 我们可以任意访问从WikiText-2语料库中的一对句子生成的预训练(遮蔽语言模型和下一句预测)样本。 原始的BERT有两个版本&…

《Python机器学习》基础代码

1,要学习Python机器学习,第一步就是读入数据,这里我们以读入excel的数据为例,利用jupyter notebook来编码,具体教程看这个视频 推荐先上传到jupyter notebook,再用名字.xlsx来导入 Jupyter notebook导入Excel数据的两种方法介绍_哔哩哔哩_bilibili 2,…

MyBatis - 06 - MyBatis获取参数值的两种方式(重要)

文章目录1、回顾JDBC原生的获取参数值的方式2、MyBatis获取参数值的两种方式3、MyBatis获取参数值的五种情况情况1: Mapper接口方法的参数为单个字面量类型的参数ParameterMapper接口代码测试类代码ParameterMapper.xml配置方式1:${}ParameterMapper.xml配置方式2:#…

[8]云计算概念、技术与架构Thomas Erl-第九章 云管理机制|week9|10月29日

9.0引言 基于云的IT资源需要被建立、配置、维护和监控。 远程管理系统 资源管理系统 SLA管理系统 计费管理系统 这些系统通常会提供整合的API,并能够以个别产品、定制应用或者各种组合产品套装和多功能应用的形式提供给用户。 9.1 远程管理系统 远程管理系统…

「回顾RKDC2023」飞凌嵌入式受邀亮相第七届瑞芯微开发者大会

2023年2月23-24日,第七届瑞芯微开发者大会(RKDC2023)在福州隆重举行,飞凌嵌入式作为瑞芯微生态合作伙伴受邀参会,并与数千名开发者科技公司代表及行业领袖共同聚焦行业新兴产品需求,探讨新硬件发展趋势&…

webpack实战,手写loader和plugin

序言 对于 webpack 来说, loader 和 plugin 可以算是需求程度最为广泛的配置项了。但是呢,单单止步于配置可能还不够。如果我们自己有时候想要 diy 一个需求,但是 webpack 又没有相关的 loader 和 plugin 。那这个时候我们可能就得开始造点轮…

【JAVA程序设计】(C00105)基于SSM大学在校生职业走向调查分析系统-有文档

基于SSM大学在校生职业走向调查分析系统-有文档项目简介项目获取开发环境项目技术运行截图项目简介 基于ssm框架大学生在校生职业走向调查分析系统分为二个角色:系统管理员、用户 管理员角色包含以下功能: 调查课题管理、留言信息管理、在校学生管理、社…

华为OD机试题,用 Java 解【最小步骤数】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…

JavaSE-3 Java运行原理

一、Java的运行过程 🍎Java程序运行时,必须经过编译和运行两个步骤。 首先将后缀名为.java的源文件进行编译,最终生成后缀名为.class的字节码文件。然后Java虚拟机将字节码文件进行解释执行,并将结果显示出来。具体过程如下图所示。 🍉Java程序的运行过…