一.硬件方案

系统采用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单片机的温控风扇设计相关推荐

  1. 基于51单片机智能温控风扇设计PWM调速套件电子制作仿真

    演示视频:http://v.youku.com/v_show/id_XMzk0OTM5Nzk5Ng==.html?spm=a2hzp.8244740.0.0 将链接复制至IE浏览器打开!!! 功能操作 ...

  2. S0011基于51单片机DS18B20温控风扇仿真设计

    基于51单片机DS18B20温控风扇仿真设计 (仿真+原理图+源码+设计报告) 原理图:Altium Designer 仿真原版本:proteus 7.8 程序编译器:keil 4/keil 5 编程 ...

  3. 51单片机PWM温控风扇定时关闭手动自动DS18B20测温LCD1602显示

    实践制作DIY- GC0018-PWM温控风扇 一.功能说明: 基于51单片机设计-PWM温控风扇 功能介绍: 1. STC89C52单片机 +LCD1602 +多个按键+风扇+风扇驱动电路+DS18 ...

  4. 51单片机智能温控风扇

    大三上学期写的一个课程设计,完成的功能就是读取当前环境温度,在数码管上显示,并根据其驱动风扇转动的快慢,另用键盘扫描实现了总开关,超过一定阈值蜂鸣器响起.用51单片机由于芯片问题,使用两个定时器,很容 ...

  5. 基于51单片机智能温控风扇LCD1602液晶显示红外遥控设计

    视频演示地址:https://www.bilibili.com/video/BV1t5411u7qC/ 该设计是由AT89C51为主控芯片液晶LCD1602温度控制风扇档位变换PWM调速 没有按键情况 ...

  6. 【毕设狗】【单片机毕业设计】基于单片机的温控风扇的设计–仿真设计

    实物链接: 基于单片机的温控风扇的设计-实物设计 软件安装: Keil:点击下载 Proteus:点击下载 AD:点击下载 Visio:点击下载 设计简介: 本设计是基于单片机的温控风扇设计,主要实现 ...

  7. 基于单片机的温控风扇

    设计简介: 本设计是基于单片机的温控风扇,主要实现以下功能: 可通过LCD1602显示温度和档位: 可通过按键调整三档温度和档位: 可通过按键切换模式. 标签:51单片机.LCD1602.MX1508 ...

  8. 基于单片机的智能电子密码锁系统设计-基于51单片机酒精浓度检测仪设计-基于单片机的水缸加热温控控制系统设计-基于单片机蓝牙技术的温室监测系统设计-基于单片机智能PWM调光灯系统设计【毕设方案】

    600基于单片机的智能电子密码锁系统设计-电路程序资料 本设计采用的是AT89C51单片机作为控制核心,控制外围电路工作的装置.在本次基于单片机的电子密码锁设计中,将采用AT89C51单片机作为控制核 ...

  9. 单片机毕业设计 stm32智能温控风扇设计与实现 - 嵌入式 物联网

    文章目录 1 简介 2 绪论 2.1 课题背景 3 系统设计 3.1 系统架构 3.2 硬件部分 3.2.1 DS18B20 简介 3.2.2 LCD1602 液晶屏简介 3.3 软件部分 3.3.1 ...

最新文章

  1. 李开复看2019投资趋势:最坏的时代将酝酿最伟大的公司
  2. python是一门什么课程-从无到有用Python创造一门属于自己的编程语言1
  3. Springboot文件上传提示:failed to convert java.lang.String to org.springframework.util.unit.DataSize
  4. NBU客户端安装(linux和windows)
  5. 32位jdk_Linux安装JDK环境
  6. python爬虫爬取页面源码在本页面展示
  7. php钓鱼怎么使用方法,路亚钓法操作步骤及抛投技巧
  8. 用Java实现非阻塞通信
  9. 欧姆龙cp1h指令讲解_欧姆龙CP1H-XA40DT-D手册CP1H-XA40DT-D参考手册通信指令 - 广州凌控...
  10. jvisualvm oracle,jvisualvm 中visual gc 的配置
  11. C/C++之奔跑的小人(小游戏,自娱自乐)
  12. Mysql 中的事物
  13. shell命令之nm
  14. 优质高效,阿里甩出SpringBoot巅峰之作,进阶不二之选
  15. 读《深入浅出MySQL数据库开发、优化与管理维护(第2版)》笔记1
  16. 基于Python实现Aitken迭代法和牛顿迭代法
  17. 利用Windows自带的计算器计算十六进制(八进制、二进制)数据
  18. C++游戏编程--模拟键盘打字程序
  19. 华为设备ACL配置命令
  20. Python Excel操作 xlwt xlrd xlutils三个模块的使用,不删除表,往后累加数据

热门文章

  1. 1.3.8 excel for mysql_MySQL for Excel下载_MySQL for Excel官方下载-太平洋下载中心
  2. 电子商务概论 # ch1 电子商务框架与模式
  3. 【2013最新XP系统下载】木叶 GhostXP SP3 装机版_2013.09
  4. fireworks 制作html,如何在 Fireworks 8中创建HTML切片
  5. 阮一峰 React Router 教程
  6. item_search_shop - 获得店铺的所有商品
  7. notepad++快捷键使用
  8. Access:如何接收文本框作为查询条件,并实时刷新查询
  9. beast软件linux用法,网络设置及启动引导项 - 黑苹果驱动高手篇 MultiBeast用法进阶_Linux教程_Linux公社-Linux系统门户网站...
  10. 红灯检测宇视科技专利分析与总结1