news 2026/7/12 6:26:00

【单片机毕业设计】【mcugc-mcu910】基于单片机的温控风扇

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【单片机毕业设计】【mcugc-mcu910】基于单片机的温控风扇

一、基本介绍
功能:
1、通过DS1302同步时间,并可修正时间,同时可设定风扇开关时间
2、通过DS18B20检测温度,当温度大于设置最小值,才开启风扇,在最小值和最大值之间,低速转动,大于最大值,高速转动
3、通过HC-SR04超声波检测前方是否有人,如果有人,才开启风扇
4、通过按键可设置各阈值
5、通过LCD12864显示各测量数据
6、通过红外遥控器可远程控制风扇开启和转速、切换模式、设置各阈值

二、51实物图
单片机型号:STC89C52

板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。

供电接口:TYPE-C

四、资料预览

五、原理图


软件版本:AD2013

电路连线方式:网络标号连线方式

注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图

六、PCB图
由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。

两层板,上下覆铜接地。

七、系统框图
本设计以单片机为核心控制器,加上其他模块一起组成此次设计的整个系统,其中包括中控部分、输入部分和输出部分。中控部分采用了单片机控制器,其主要作用是获取输入部分的数据,经过内部处理,逻辑判断,最终控制输出部分。输入由六部分组成,第一部分是温度检测模块,通过该模块检测当前环境的温度;第二部分是超声波监测模块,通过该模块监测是否有人;第三部分是红外接收模块,通过该模块监测用户是否通过红外遥控控制风扇;第四部分是时钟模块,通过该模块获取当前的时间;第五部分是按键模块,通过该模块可以切换界面、设置阈值、切换模式等;第六部分是供电模块,通过该模块可给整个系统进行供电。输出由两个部分组成,第一部分是显示模块,通过该模块可以显示监测的数据以及风扇的转速;第二部分是直流电机驱动模块,通过该模块控制风扇的转动。具体系统框图如图3.1所示。


八、软件设计流程


九、部分程序展示
软件版本:keil5逻辑程序和驱动程序分开,分布于main.c和其他.c文件


/****
*******处理函数
*****/
if(distance_value < distance_min) //距离小于最小值有人
{
if(time_shi_begin*60+time_fen_begin > time_shi_end*60+time_fen_end) //开始时间>结束时间
{
if((time_shi_end*60+time_fen_end <= ds1302_buf[4]*60+ds1302_buf[5]) && (ds1302_buf[4]*60+ds1302_buf[5] < time_shi_begin*60+time_fen_begin)) //当前时间不在设置的时间内或检测到有人
pwm_value = 0; //关风扇
else //否则,在最小值和最大值之间,低速转动,大于最大值,高速转动
{
if(temp_value < temp_min*10)
pwm_value = 0;
else if(temp_value > temp_max*10)
pwm_value = 10;
else
pwm_value = 5;
} //开风扇
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/11 17:36:58

mybatis入门案例及解释

2 示例12.1 创建2.1.1 创建项目新建Maven项目&#xff0c;然后直接下一步。展开三角填写信息&#xff0c;最后一行版本不填&#xff0c;直接用默认的。然后完成。进度条走完后&#xff0c;点文件&#xff0c;设置&#xff0c;展开编辑器&#xff0c;在点文件和代码模板。然后先…

作者头像 李华
网站建设 2026/7/10 18:52:34

【血压计算】基于matlab从光电容积脉搏波(PPG)和心电图(ECG)信号中提取的多种特征,推导血压测量值附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码获取及仿…

作者头像 李华
网站建设 2026/7/10 11:06:40

学习记录(二十五)-Cursor的pro计划+云服务器使用常识

目录 前言 一、如何跳过Cursor的7天免费计划&#xff1f; 二、升级完成后&#xff0c;出现地区不匹配怎么办&#xff1f; 三、云服务器一些基本常识 总结 前言 感谢同学的资助&#xff0c;在我急需的时候让我用上了Cursor的pro版本。不过记录一下在充值和使用过程中遇到的…

作者头像 李华
网站建设 2026/7/10 21:18:34

代码克隆检测的挑战与AI的机遇

代码克隆检测是软件测试中的重要环节&#xff0c;涉及识别代码库中的相似或重复片段。传统方法如基于文本、令牌或抽象语法树&#xff08;AST&#xff09;的匹配&#xff0c;虽有一定效果&#xff0c;但常面临高误报率、难以检测语义克隆&#xff08;功能相似但结构不同&#x…

作者头像 李华
网站建设 2026/7/11 4:34:20

35、RAID 系统迁移与管理全攻略

RAID 系统迁移与管理全攻略 1. RAID 基础管理 在 RAID 系统中,如果需要更换磁盘,可按以下步骤操作: - 用新磁盘替换旧磁盘,并对新磁盘进行分区。要确保新分区的大小等于或大于 RAID 阵列中其他分区。 - 新分区准备好后,使用 --add 命令将其添加到阵列: $ sudo md…

作者头像 李华
网站建设 2026/7/9 19:27:31

37、构建高可用Linux集群:Heartbeat实战指南

构建高可用Linux集群:Heartbeat实战指南 在服务器运行过程中,即使主机配备了RAID和以太网绑定,仍有许多组件可能出现故障,从CPU到主机上的软件都有可能。若要确保服务在主机故障时仍能正常运行,就需要构建集群。本文将介绍基本Linux集群中常用的工具Heartbeat,并详细说明…

作者头像 李华