51单片机的温控风扇设计

news2024/11/18 7:36:49

一.硬件方案

        系统采用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;     //2ms
    value++;      
    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; //500ms
            key_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 

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

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

相关文章

论坛系统设计与实现

摘 要 网络技术的快速发展给各行各业带来了很大的突破&#xff0c;也给各行各业提供了一种新的管理模块&#xff0c;对于论坛交流将是又一个传统管理到智能化信息管理的改革&#xff0c;设计论坛系统设计与实现的目的就是借助计算机让复杂的论坛交流操作变简单&#xff0c;变…

第8部分 帧中继

帧中继线路是中小企业常用的广域网线路&#xff0c;其通信费用较低。由于帧中继技术的一些特殊性使得帧中继的配置较为复杂&#xff0c;特别是在帧中继上运行路由协议时更是如此。作为入门&#xff0c;对帧中继的理解应着重放在DLCI、PVC、帧中继映射和子接口等概念上。本章通过…

Redis--高级篇 D5 多级缓存(JVM进程缓存、Lua语法、OpenResty安装(通过lua扩展nginx))

1、JVM进程缓存 1.1 导入商品查询案例 案例导入说明 为了演示多级缓存&#xff0c;我们先导入一个商品管理的案例&#xff0c;其中包含商品的CRUD功能。我们将来会给查询商品添加多级缓存。 1.安装MySQL 后期做数据同步需要用到MySQL的主从功能&#xff0c;所以需要大家在虚…

【Pytorch】.item() 方法介绍

文章目录一、.item() 方法介绍1. 方法介绍2. 那么有什么用呢&#xff1f;二、实例参考链接一、.item() 方法介绍 1. 方法介绍 我们先看官网中是怎么介绍的&#xff1a; 返回这个张量的值作为一个标准的Python数字。 详情页中说&#xff1a; # TORCH.TENSOR.ITEM Tensor.ite…

配对交易之统计套利配对:模型的应用

接下来&#xff0c;介绍把协整模型应用到取对数之后的股价上面。 前提假设&#xff1a;股价取对数之后是一个随机游走过程&#xff0c;即非平稳的。 现在有股票A和B,股价取对数之后的两个时间序列是以及。使用误差修正的表达方式&#xff1a; 能够唯一确定以上式子的参数是协…

uView教程-抽屉菜单 #低代码 #小程序 #uView

这种抽屉效果是如何制作的呢&#xff1f; 在guiplan低代码开发工具中&#xff0c; 点击"uView框架", 输入关键字"弹出层"进行搜索&#xff0c; 找到"带用户菜单" 点击"一键插入", 这我们一个抽屉菜单就插入进来了&#xff0c; 底部…

MapReduce编程实例-词频统计实现

文章目录词频统计实现思路词频统计实现步骤1. 准备数据文件1.1 在虚拟机上创建文本文件1.2 上传文件到HDFS指定目录2. 创建Maven项目3. 添加相关依赖4. 创建日志属性文件5. 创建词频统计映射类6. 创建词频统计驱动器类7. 运行词频统计驱动器类&#xff0c;查看结果8. 修改词频统…

设计一个简单HTML爵士音乐网页(HTML+CSS)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

SpringCloud Feing 源码 (简单实用) (一)

文章目录1.远程调用2.代码解析2.1 Eureka微服务2.1 微服务结构以及配置类2.2 公共类2.3 provider微服务2.4 Feign-Order微服务3.结果展示1.远程调用 本地过程调用&#xff08;Local Procedure Call&#xff0c;LPC&#xff09;&#xff0c;是指同一台机器上运行的不同进程之间…

从MES到MOM,抓住中国工业软件的机遇

从全球市场看&#xff0c;MES也是正进入MOM阶段&#xff0c;如图四所示。目前很多还是智能化第二代MES&#xff0c;主要是加强数据记录与处理和设备自动化管理&#xff0c;通过更精确的过程状态跟踪和更完整的数据记录&#xff0c;获取更多的数据来优化生产管理&#xff0c;并通…

被微服务轰炸?莫怕!耗时35天整出的「微服务学习教程」送你

又被微服务轰炸&#xff1f;莫慌莫怕&#xff01;小编连续25天&#xff0c;整出这份最新最全「学习教程」送你&#xff01; 微服务架构学习教程&#xff1a;RPCDubboSpirngBootSpringCloud AlibabaDockerK8s 手绘了整个微服务架构的知识体系脑图&#xff0c;还有针对分部的Dub…

LabelImg标注的YOLO格式txt标签中心坐标和物体边界框长宽的转换

目录 1.LabelImg标注的YOLO格式的TXT标签 OpencvYOLO-V3实现目标跟踪 YOLO-V3实时检测实现&#xff08;opencvpython实现&#xff09;——改进——&#xff1e;更加的易懂 YOLO-V3实时检测实现&#xff08;opencvpython实现&#xff09; 1.LabelImg标注的YOLO格式的TXT标签 …

【Mysql】记录一些特殊的select语句

目录一.分页查询二.多表查询三.自连接四.子查询4.1单行子查询4.2多行子查询4.3临时表子查询4.4多行子查询4.5多列子查询一.分页查询 select...limit start,rows 表示从start1行开始取&#xff0c;取出rows行&#xff0c;start从0开始算 公式&#xff1a;limit 每页显示记录数*…

R语言NLP案例:LDA主题文本挖掘优惠券推荐网站数据

介绍 Groupon是一个优惠券推荐服务&#xff0c;您可以免费注册Groupon&#xff0c;并且Groupon每天都会向您发送包含该地区当天交易的电子邮件。如果您喜欢这笔交易&#xff0c;那么您可以立即从Groupon购买&#xff0c;并在餐馆/商店兑换。 相关视频&#xff1a;文本挖掘&…

微导纳米将于12月14日申购:前三季度收入约4亿元,同比增长67%

12月5日&#xff0c;江苏微导纳米科技股份有限公司&#xff08;下称“微导纳米”&#xff0c;SH:688147&#xff09;披露招股意向书&#xff0c;启动发行招股&#xff0c;初步询价时间定于2022年12月9日&#xff0c;将于2022年12月14日申购。 据了解&#xff0c;微导纳米拟在上…

电巢·新能源领域高速发展,驱动电解电容“老树又发新枝芽”

据统计&#xff0c;新能源汽车销量2012年为1.3万台&#xff0c;2021年上升到352.1万台&#xff0c;截止2022年9月达到456.7万台。车载充电机(OBC)的主要功能是将交流电压输入&#xff0c;以适合电池组的电流和电压水平&#xff0c;转换为直流电压输出。 新能源汽车应用中&#…

Apache Spark与 Apache Hadoop数据科学工具有哪些区别?

ApacheSpark与 Apache Hadoop数据科学工具有哪些区别&#xff1f;Apache Spark被设计为大规模处理的接口&#xff0c;而 Apache Hadoop 为大数据的分布式存储和处理提供了更广泛的软件框架。两者既可以一起使用也可以作为独立服务使用。Apache Spark 和 Apache Hadoop 都是 Apa…

C51 - 微型步进电机15BY25驱动

Contents1> 电机1.1> 旋转原理1.2> 拍数1.3> 步距角2> 驱动电路2.1> MS356562.2> L62192.3> TC15083> 工作时序1> 单相4拍2> 双相4拍3> 双相8拍1> 电机 1.1> 旋转原理 电生磁, 安培定则(右手螺旋定则); 步进电机转动的本质: 转子被定…

【U8】T6升级U8后打开卡片管理报错

T6升级U8&#xff0c;使用低版本升级U8工具&#xff0c;严格按照升级工具步骤操作&#xff08;以下三个步骤按顺序操作&#xff09; 升级成功后&#xff0c;在U8中&#xff0c;打开固定资产模块的卡片管理报错&#xff0c;如下图&#xff1a; 经过跟踪排查发现&#xff0c;后台…

ChatGPT 加图数据库 NebulaGraph 预测 2022 世界杯冠军球队

一次利用 ChatGPT 给出数据抓取代码&#xff0c;借助 NebulaGraph 图数据库与图算法预测体坛赛事的尝试。 作者&#xff1a;古思为 蹭 ChatGPT 热度 最近因为世界杯正在进行&#xff0c;我受到这篇 Cambridge Intelligence 的文章启发&#xff08;在这篇文章中&#xff0c;作…