51单片机的温控风扇设计
一.硬件方案
系统采用51单片机作为控制平台对风扇转速进行控制。可由用户设置高、低温度值,测得温度值在高低温度之间时打开风扇弱风档,当温度升高超过所设定的温度时自动切换到大风档,当温度小于所设定的温度时自动关闭风扇。风扇控制状态随外界温度而定,并通过PWM的方式控制风扇的转速。
整体电路主要由51单片机最小系统,数码管显示模块,数码管驱动模块,温度采集模块,人体感应模块,风扇模块,按键模块等构成;原理图如下:
PCB及仿真图如下:
二.设计功能
- 采用DS18B20温度传感器测温,三级管驱动数码管显示温度和风扇的档位,人体感应模块检测是否有人。
- 共3个按键:1设置、2键加、3键减。按一下设置可以设置上限值,再按下设置下限,均可以按键加减调整;
- 利用PWM调速,当温度低于下限时,风扇步转动,当温度处于上下限之间时,1档转动(风速50%转速转动),当温度超过上限时,风扇全速转动。
- 红外人体传感器检测周围是否有人,当周围无人时,风扇停止转动。
三.软件设计
主程序源码
/****************主函数***************/
void main()
{static uchar value;time_init(); //初始化定时器 pwm=1;hw = 1;while(1){ key(); //按键程序if(key_can < 10){key_with(); //设置温度 }if(flag_200ms == 1) //200ms 处理一次温度程序{ flag_200ms = 0; temperature = read_temp()%1000; //先读出温度的值if(menu_1 == 0){ smg_i = 3;dis_smg[0] = smg_du[temperature % 10]; //取温度的小数显示dis_smg[1] = smg_du[temperature / 10 % 10] & 0xdf; //取温度的个位显示dis_smg[2] = smg_du[temperature / 100 % 10] ; //取温度的十位显示}fengshan_kz(); //风扇控制函数value ++;if(value >= 4){value = 0;if(miao != 0){miao --; //时间减1}if(miao == 0)flag_en = 0;}if(hw == 1) //感应到人{miao = 30;flag_en = 1;}}}
}/*************定时器0中断服务程序***************/
void time0_int() interrupt 1
{ static uchar value; //定时2ms中断一次TH0 = 0xf8;TL0 = 0x30; //2msvalue++; display(); //数码管显示函数if(value >= 150){value = 0; flag_200ms = 1;}if(flag_lj_en == 1) //按下按键使能{key_time ++;if(key_time >= 250) //500ms{key_time = 0;key_500ms = 1; //500mskey_value ++;if(key_value > 3){key_value = 10;flag_lj_3_en = 1; //3次后1.5秒连加大些} }}
}
资料链接:https://pan.baidu.com/s/1TAN-I-XEUopsmbODRRPvzg?pwd=e9ri
提取码:e9ri
51单片机的温控风扇设计相关推荐
- 基于51单片机智能温控风扇设计PWM调速套件电子制作仿真
演示视频:http://v.youku.com/v_show/id_XMzk0OTM5Nzk5Ng==.html?spm=a2hzp.8244740.0.0 将链接复制至IE浏览器打开!!! 功能操作 ...
- S0011基于51单片机DS18B20温控风扇仿真设计
基于51单片机DS18B20温控风扇仿真设计 (仿真+原理图+源码+设计报告) 原理图:Altium Designer 仿真原版本:proteus 7.8 程序编译器:keil 4/keil 5 编程 ...
- 51单片机PWM温控风扇定时关闭手动自动DS18B20测温LCD1602显示
实践制作DIY- GC0018-PWM温控风扇 一.功能说明: 基于51单片机设计-PWM温控风扇 功能介绍: 1. STC89C52单片机 +LCD1602 +多个按键+风扇+风扇驱动电路+DS18 ...
- 51单片机智能温控风扇
大三上学期写的一个课程设计,完成的功能就是读取当前环境温度,在数码管上显示,并根据其驱动风扇转动的快慢,另用键盘扫描实现了总开关,超过一定阈值蜂鸣器响起.用51单片机由于芯片问题,使用两个定时器,很容 ...
- 基于51单片机智能温控风扇LCD1602液晶显示红外遥控设计
视频演示地址:https://www.bilibili.com/video/BV1t5411u7qC/ 该设计是由AT89C51为主控芯片液晶LCD1602温度控制风扇档位变换PWM调速 没有按键情况 ...
- 【毕设狗】【单片机毕业设计】基于单片机的温控风扇的设计–仿真设计
实物链接: 基于单片机的温控风扇的设计-实物设计 软件安装: Keil:点击下载 Proteus:点击下载 AD:点击下载 Visio:点击下载 设计简介: 本设计是基于单片机的温控风扇设计,主要实现 ...
- 基于单片机的温控风扇
设计简介: 本设计是基于单片机的温控风扇,主要实现以下功能: 可通过LCD1602显示温度和档位: 可通过按键调整三档温度和档位: 可通过按键切换模式. 标签:51单片机.LCD1602.MX1508 ...
- 基于单片机的智能电子密码锁系统设计-基于51单片机酒精浓度检测仪设计-基于单片机的水缸加热温控控制系统设计-基于单片机蓝牙技术的温室监测系统设计-基于单片机智能PWM调光灯系统设计【毕设方案】
600基于单片机的智能电子密码锁系统设计-电路程序资料 本设计采用的是AT89C51单片机作为控制核心,控制外围电路工作的装置.在本次基于单片机的电子密码锁设计中,将采用AT89C51单片机作为控制核 ...
- 单片机毕业设计 stm32智能温控风扇设计与实现 - 嵌入式 物联网
文章目录 1 简介 2 绪论 2.1 课题背景 3 系统设计 3.1 系统架构 3.2 硬件部分 3.2.1 DS18B20 简介 3.2.2 LCD1602 液晶屏简介 3.3 软件部分 3.3.1 ...
最新文章
- 李开复看2019投资趋势:最坏的时代将酝酿最伟大的公司
- python是一门什么课程-从无到有用Python创造一门属于自己的编程语言1
- Springboot文件上传提示:failed to convert java.lang.String to org.springframework.util.unit.DataSize
- NBU客户端安装(linux和windows)
- 32位jdk_Linux安装JDK环境
- python爬虫爬取页面源码在本页面展示
- php钓鱼怎么使用方法,路亚钓法操作步骤及抛投技巧
- 用Java实现非阻塞通信
- 欧姆龙cp1h指令讲解_欧姆龙CP1H-XA40DT-D手册CP1H-XA40DT-D参考手册通信指令 - 广州凌控...
- jvisualvm oracle,jvisualvm 中visual gc 的配置
- C/C++之奔跑的小人(小游戏,自娱自乐)
- Mysql 中的事物
- shell命令之nm
- 优质高效,阿里甩出SpringBoot巅峰之作,进阶不二之选
- 读《深入浅出MySQL数据库开发、优化与管理维护(第2版)》笔记1
- 基于Python实现Aitken迭代法和牛顿迭代法
- 利用Windows自带的计算器计算十六进制(八进制、二进制)数据
- C++游戏编程--模拟键盘打字程序
- 华为设备ACL配置命令
- Python Excel操作 xlwt xlrd xlutils三个模块的使用,不删除表,往后累加数据
热门文章
- 1.3.8 excel for mysql_MySQL for Excel下载_MySQL for Excel官方下载-太平洋下载中心
- 电子商务概论 # ch1 电子商务框架与模式
- 【2013最新XP系统下载】木叶 GhostXP SP3 装机版_2013.09
- fireworks 制作html,如何在 Fireworks 8中创建HTML切片
- 阮一峰 React Router 教程
- item_search_shop - 获得店铺的所有商品
- notepad++快捷键使用
- Access:如何接收文本框作为查询条件,并实时刷新查询
- beast软件linux用法,网络设置及启动引导项 - 黑苹果驱动高手篇 MultiBeast用法进阶_Linux教程_Linux公社-Linux系统门户网站...
- 红灯检测宇视科技专利分析与总结1