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

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

此智能风扇是基于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.lryc.cn/news/23312.html

相关文章:

  • SQL Server开启CDC的完整操作过程
  • 【Spring Cloud Alibaba】008-Sentinel
  • 解读CRC校验计算
  • 深入理解Spring MVC下
  • 【Linux】ssh-keygen不需要回车,自动生成密钥,批量免密操作!
  • C/C++开发,无可避免的内存管理(篇四)-智能指针备选
  • VMware ESXi给虚拟机扩容
  • 认识STM32和如何构建STM32工程
  • RabbitMQ延迟队列
  • Java中常用的七种队列你了解多少?
  • <Java获取时间日期工具类>常见八种场景(一)
  • 接上一篇 对多个模型环形旋转进行优化 指定旋转位置
  • Unity中获取地形的法线
  • 模型解释性:PFI、PDP、ICE等包的用法
  • spring常见面试题(2023最新)
  • 华为OD机试题,用 Java 解【压缩报文还原】问题
  • 机器学习-BM-FKNCN、BM-FKNN等分类器对比实验
  • ChatGPT火了,对话式人工智能还能干嘛?
  • 十一、操作数栈的特点(Operand Sstack)
  • 拆解瑞幸新用户激活流程,如何让用户“动”起来?
  • tkinter界面的TCP通信/开启线程等待接收数据
  • 华为OD机试题,用 Java 解【任务混部】问题
  • 看linux内核启动流程需要的汇编指令解释
  • 【巨人的肩膀】JAVA面试总结(二)
  • 【网络安全入门】零基础小白必看!!!
  • 字节前端经典面试题(附答案)
  • 数据库管理工具的使用
  • 让马斯克反悔的毫米波雷达,被国产雷达头部厂商木牛科技迭代到了5D时代
  • MaxWell原理概述
  • 电子技术——AB类输出阶