news 2026/3/8 1:57:42

基于51单片机的智能散热风扇设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于51单片机的智能散热风扇设计

摘要
基于51单片机的智能散热风扇的设计主要可以分为监测单元、控制单元和中央处理单元。本系统采用单片机STC89C52RC作为主控制器,采用数字型温度传感器DS18B20作为监测单元,主要就是采集温度数据,通过一系列的计算转化成实际温度数值。为了实时显示温度、速度等数据,使用了LCD1602液晶显示屏,通过这个不仅方便进行程序的调试,而且易于观察结果。使用外部EEPROM可以将温度限值进行保存,再次上电可以直接读取该数值不需要重新设置。对于外部的控制单元主要有键盘和红外一体化1308。它可以通过设定好按键控制速度,以及红外控制实现远程调节功能。其中可以自行设置温度限值,根据温度设置范围自动调节电机转速,直流电机也可根据设定好的速度进行运行,方便可靠。

关键词:单片机STC89C52RC;温度传感器DS18B20;LCD1602;红外接收头1308

第二章 单片机STC89C52RC芯片简介

2.1 单片机的概述
单片机是整个系统的控制中枢,其控制所有器件协调完成特定的功能。单片机是一种采用超大规模集成电路技术将中央处理单元CPU(由运算器和逻辑控制器组成,不仅包括了中断系统而且也包含了部分外部特殊功能寄存器)、只读存储器ROM(用来存放程序以及一些原始数据和表格)、随机存储器RAM(可读写的数据存放在其中,掉电保存)、四个8位并行I/O口、两个定时/计数器等功能模块集成在一块硅片上的集成电路芯片。单片机就是一个小而完善的微机系统。现在社会中单片机的踪影到处可见,如生活中的空调、冰箱还有工业中各种仪器等。单片机的系列也十分多,而使用最为广泛之一的就是51单片机。
通常在设计单片机硬件电路时都会将整个系统分为很多单独部分,每个部分实现一个特定的功能,先设计好各个模块,之后再将模块按逻辑合并成一个整体,这种模块化设计方法有利于降低系统设计的复杂性,提高利用率。
2.2单片机STC89C52RC的简介
STC89C52RC芯片是一种8位运算的微控制器,具有功耗低、性能好等优点,它属于经典的MCS—51内核,而且芯片中含有不需要取下芯片就可以直接烧写程序的Flash存储器,存储空间是8k,。STC89C52RC芯片的CPU是8位的,还有在系统可编程Flash,许多控制系统都会使用它,使用该芯片不仅灵活、高效,而且它的价格低廉、性能可靠、抗干扰能力强,有较广的应用范围。另外STC89C52有两种可选节电模式:掉电保护模式和空闲模式。前者是在掉电的情况下,RAM中内容不会丢失,在下一个中断、复位出现之前,单片机都是停止工作的;后者情况是CPU会暂停一切工作,除此之外的一些部分还是正常工作的例如RAM、定时器/计数器等等。
2.2.1 STC89C52RC芯片的引脚及性能
STC89C52RC的功能有以下几点:
8k字节程序存储空间;512字节数据存储空间;内带2k字节EEPROM存储空间;32个通用I/O口;3个定时器/计数器;外部中断4路,下降沿中断或低电平触发电路;通用异步串行口(UART);STC89C52RC是增强型的8051单片机,它的时钟/机器周期有6和12之分,这根据具体情况选择;它可分为3V和5V,本系统使用的是一个5V单片机,工作电压的范围在53.3V到5.5V之间;工作频率范围是0~40MHZ,实际工作频率可达到48MHZ;有ISP(在系统可编程)/IAP(在应用可编程);看门狗(WDT)电路以及片内振荡器、时钟电路;。
STC89C52RC芯片管脚概述:
STC89C52RC单片机芯片共有40个引脚:4个I/O口P0、P1、P2、P3,共32个外部双向输入/输出口;控制口;电源和时钟。具备的功能:8KB Flash片内程序存储器,512B RAM,2KB EEPROM,1个通用异步串行口(UART),8个中断源,4个中断优先级,可编程计数/定时器有3个,除了上述功能还内带一些电路如看门狗(WDT)电路以及片内振荡器、时钟电路。芯片管脚具体如下图:

图2.1 STC89C52RC芯片

第三章 温度监测单元的元器件的选型

3.1 温度传感器DS18B20概述
3.1.1 特性
每一个DS18B20都有唯一的系列号,所以同一条单线总线上允许多个DS18B20存在,这也就有利于实现多点测温。为了使信号传输比较稳定,所以最多可以并联8个DS18B20使供电电源电压不会太低。它在小空间的工业设备、电缆线槽等工业领域都有广泛地应用,完成测温和控制。DS18B20输出、输入的信号都是通过单线接口进行传输的,所以DS18B20只需要一根线连接到单片机中央处理单元,外加接地。DS18B20的特性包含以下几点:
1.独特的单线接口,只需一根线即可通信;
2.不需要外部元件;
3.数据线供电,不需要备份电源
4.具有多点能力,简化了分布式温度检测的应用;
5.提供9位数字值的温度读数;
6.测量范围在-55℃到+125℃之间,期间的增量值是0.5℃(等效华氏度范围:-67°F ~ +257°F 增量值:0.9°F);
7.在1s(典型值)内可以将温度转换成数值
8.应用范围包括家用电器、工业系统、任何热敏系统等。
3.1.2 引脚

引脚说明:
GND 地
DQ 单线运用的数据输入\输出引脚
VDD 可选的VDD
NC 空引脚
DNC 不连接

3.1.3 详细说明及运用
温度传感器DS18B20包括了3个主要部件:
1.温度灵敏元件;
2.64位光刻ROM:前8位是每个产品系列的自身编码,用连续数字表示的接下来的48位代表唯一系列号,还有8位是对前几位的校验,通过光刻ROM这样就可以区分一根总线上的多个DS18B20;
3.存储器RAM:DS18B20的RAM有两种分别为可电擦除和高速暂存,其中,非易失性温度触发器TH和TL是在可电擦除RAM中。
DS18B20使用的是单线接口,对于一线通信接口而言,ROM必须先被设置好,之后才能使用记忆、控制功能,所以首先主机必须提供以下五个ROM功能命令中的一个:Read ROM(读ROM);Search ROM(搜索ROM);Match ROM(符合ROM);Alarm Search(告警搜索);Skip ROM(跳过ROM)。
这五种命令之一被执行完成后,由于是对每个器件的ROM操作,如果一线上存在多个器件,就可以知道线上挂有多少设备以及挑选的器件类型是什么样的,这时存储器和控制器功能也可以使用了,主机在6种操作命令中选一个执行。指示DS18B20完成温度测量的就是其中一个控制器操作命令,在完成温度测量指令后,测量结果被放在内部高速暂存存储器中,并且可以发出阅读记忆功能的操作命令,就可以读取片上存储器的存储内容。

第四章 硬件系统的设计及分析

4.1 硬件系统的整体设计
系统设计的重要部分之一就是硬件电路的设计,硬件电路设计的正确性是软件正常工作的重要保证,一旦完成硬件的制作就很难进行修改,故此在设计硬件的时候要彻底的对各个部分进行原理分析,保证电路的正确性。在设计硬件电路要考虑到CPU的处理能力、I/O口的分配、存储容量及速度、电平要求等。
基于51单片机的智能散热风扇系统的设计分为两部分:硬件部分和软件部分设计。硬件部分的设计包括电源模块电路、复位电路、晶振电路、温度采集电路、LCD1602液晶显示电路、矩阵键盘和独立按键电路、EEPROM掉电保存电路、AT24C02A红外一体化电路;软件部分包括主程序与中断程序、温度传感器DS18B20的数据测量和处理子程序、LCD1602液晶显示子程序、按键扫描子程序、基于IIC通信总协议的数据存取子程序、AT24C02A红外接收信号读写子程序。
单片机是整个系统的控制中心,控制各个模块完成特定的功能。硬件的设计采用模块化设计,这样降低了系统设计的复杂性,每个模块实现基本的特定功能,再将模块组合起来完成系统功能。
4.2 硬件的各个功能模块的设计与分析
4.2.1 电源模块电路设计
系统平稳运行的前提和基础是电源模块的稳定可靠,要想设计的电子系统完整而又精致,那么为整个系统提供电源供电模块就是首要需要考虑的问题。应用范围最广、使用时间最早的51系列单片机在实际使用过程中,会出现一个典型的问题就是,容易受到干扰导致程序跑飞,为单片机系统配置一个稳定可靠的电源供电模块就是克服这种现象出现的一个重要手段。通过计算机的USB口或使用外部稳定可靠的5V电源供电模块可以给电源供电模块供给电源。图4.1为电源电路设计图:

图4.1 电源电路

图中的电源电路中接入了电源指示灯,SW1为电源开关,R1则为LED灯的限流电阻,防止电流过大烧坏LED灯,C1是电源的滤波电容。
4.2.2 复位电路的设计
一般单片机有两种复位方式:高电平、低电平复位。本设计设计的是高电平复位电路,如图4.2所示,进行复位操作,RST引脚被置为“1”,单片机复位有效;若在默认状态下RST端是低电平,这时单片机处于正常工作。图4.2所示的复位电路使用的就是阻容复位,当复位引脚端变为高电平时,该高电平维持的时间要长达两个机器周期及以上。

图4.2 复位电路

复位端外接一个电容和一个电阻,电容的另一端与VCC想接,电阻的另一端与GND相连,这样连接起来就可以实现上电复位。接通电源,其中的电容进行充放电可以保证时间达到复位有效,设计采用的电容是10uf的电极性电容,电阻的大小为10k欧姆。除了上述的一些元器件,还增加了一个按键开关,与电容并联,可以实现按键复位。上述复位电路的工作原理是在接入+5V电源的情况下就可以完成上电复位,要想进行按键复位,则复位引脚端为高电平才能进行,所以要先按一下KW1,这个瞬间复位端被置“1”,并且通过对电容的充电,高电平会被保持一段时间,从而完成了复位功能;松开按键时,电容就会放电使单片机恢复正常工作状态。
4.2.3 晶振电路的设计

第五章 软件系统的设计与分析
5.1软件系统的结构分析
基于51单片机的智能散热风扇系统的软件系统设计是基于Keil uVision4开发平台采用C51语言编写的,在这种开放环境下,不仅可以缩短开发周期,降低开发成本,而且还使得程序易于调试和维护,除此之外还具有可靠性高,可读性及可移植性好等优点。软件调试完全正确后将程序写入单片机上电工作,温度传感器将当前的温度值转化成二进制传送给单片机,单片机将采集的数据进行计算获得当前实际的温度值,之后把温度值及温度限值、速度等级发送给1602液晶进行显示,也可将温度限值存储到AT24C02中以便再次上电时直接读取数据。设计一个完整的系统,通常先将其分成多个模块,对每个模块进行设计编程,这样不仅容易编写而且易于管理,此系统主要包括以下几个模块:
1.主程序、中断程序;
2. DS18B20对温度采集和处理的子程序;
3.LCD1602液晶显示子程序;
4.按键扫描子程序;
5.基于IIC通信总协议的数据存取子程序;
6.1308红外接收信号读写子程序。
5.2 软件系统的程序设计
5.2.1 主程序与中断程序
主程序是对所有模块程序的结合利用,先对每个器件进行初始化,包括各种中断初始化等,之后根据系统要求功能进行程序的调用整合。主程序按照程序逻辑进行子程序的调用与执行,实现对温度的采集和数据的处理,温度数据的存储,温度相关数据及速度等级的显示,监测单元与上位机通信等模块的集中控制。具体流程图如图5.1所示:

图5.1 主程序流程图

第六章 PWM脉宽调制技术

6.1 PWM脉宽调制技术简介
脉宽调制(PWM)其实就是一通过数字输出来控制模拟电路。利用电路中开关型器件接通、断开的变化,输出端产生可以替代所需波形的脉冲,该脉冲的频率不变、幅值相等,占空比可以调节。以正弦波为例,如图6.1所示,在正弦波的正半个周期中,输出了一系列与正弦波形对应的等值脉冲,如果按同一比例系数对这些脉冲的宽度进行调节,就可以改变逆变电路输出正弦波的电压、频率的大小。
电机的启动、停止很简单,它就是一个开关,0或者1的问题很简单,关键问题就在PWM脉宽调制。使用脉宽调制实际上就是为了调节功率,通过调节有效的作用时间来调节最终的功率,这样就可以对电机进行调速。直流电机调速就是调节两端的电压,只要改变两端的电压就可以实现速度的调节。通过图6.1所示的PWM波形,可以实现正弦半波的一个电压输出,这样就已经实现了调速功能。在PWM的实际工作波形中,一个下降沿到另一个下降沿,或者是一个上升沿到另一个上升沿之间的时间是固定不变的,变化的是高电平脉宽的时间,所以调节高电平的宽度即可。

图6.1 PWM波形
6.2 PWM调节电压
这里使用PWM调节电压,其实就是通过改变脉宽高电平宽度从而调节作用时间以此达到调节电压等参数,换句话说就是用改变电机电枢电压接通与断开的时间的占空比来改变电枢电压的平均值,从而控制电机转速。PWM调速原理如图6.2所示:

图6.2 PWM调速原理

在脉冲作用下,当电机接通时速度增加,电机断电时速度减小,若要控制电机的转速,则要按一定的规律改变通、断电时间。当电机全通时,它的转速最大,设为Vmax;假设占空比为D,那么就可以计算出电机的平均速度,Vd = Vmax * D,其中D = t1 / T。图6.3就展示了平均速度和占空比之间的关系。

图6.3 平均速度和占空比的关系

第七章 温度监测及调节系统的调试

7.1硬件系统调试
7.1.1 Altium Designer 绘制电路原理图
使用Altium Designer软件绘制电路图和PCB图时,要先完成一下这些准备工作:
1.新建工程文件:打开Altium Designer 软件,按照File—New—Project—PCB Project的命令执行,这样就可以建立一个新的工程文件,点击保存按钮,会弹出一个对话框,对文件命名并选择合适的路径进行保存;如下图所示:

图7.1 工程新建图

2.新建原理图文件:右击左侧菜单栏中的PCB_Project1.PrjPCB,选择Add New to Project,之后有几种文件类型选择,点击Schematic就建立了一个原理图文件;如下图所示:

图7.2 新建原理图操作

3.添加元件库:先找到一些常用的元件库,将这些需要的元件库拖进工程文件,就能装载这些元件到Library中;之后绘制电路图就可以直接从右侧Library窗口中选择需要的元件;与步骤2的操作,就在最后一步选择Schematic Library建立自己的元件库,在该页面中绘制需要的元器件并保存,之后可直接使用。
完成了上述步骤就可以进行设计电路,绘制原理图和PCB图4.放置元件:
1.选择元器件:在Library窗口中选择需要的元件,直接拖至图纸上;每一个元件都有相应的属性,双击图纸上的元件,弹出一个属性对话框,在该对话框中可以修改该元件的各种属性;
2.元件连接:有些元器件放置比较凌乱,先大概整理一下位置,连接时候再具体调整;执行Place—Wire命令,将元件之间连接,为了连接方便及美观,还可以在引脚端添加网络标号,这样也是正常连接的。
操作完成后绘制的原理图如下:

图7.3 基于单片机的智能散热风扇的设计

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

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

Linux驱动核心API调用链路清单

Linux驱动核心API调用链路清单 说明 本清单聚焦嵌入式Linux驱动开发高频子系统(GPIO/中断/Input/Framebuffer/PWM),涵盖核心API、从驱动到硬件的完整调用链路、底层硬件操作,适配ARM SOC(全志/瑞芯微等)&…

作者头像 李华
网站建设 2026/3/4 2:20:14

Linux 命令:csplit

概述 这个命令的核心作用是按指定规则将一个文件分割成多个小文件(split by context),区别于 split 按大小/行数拆分的简单逻辑,csplit 支持按行号、正则表达式等“上下文”拆分,是处理日志、配置文件、文本数据的高效…

作者头像 李华
网站建设 2026/3/5 3:14:33

基于Java的无人图书借阅系统源码解析

以下是一个基于Java的无人图书借阅系统源码解析,涵盖系统架构、核心功能模块、关键代码示例及技术实现要点: 一、系统架构 技术选型: 后端框架:Spring Boot 2.x,利用其自动配置和起步依赖特性快速搭建项目&#xff0c…

作者头像 李华
网站建设 2026/3/6 2:58:14

一站式酒店管理解决方案,多用户在线订房小程序系统全新发布

温馨提示:文末有资源获取方式 在数字化浪潮中,酒店与宾馆行业正积极寻求线上转型,以提升客户体验与管理效率。一款集在线预订、餐饮服务、积分商城与营销分销于一体的多用户SAAS系统应运而生,为行业注入创新动力。该系统基于稳定的…

作者头像 李华
网站建设 2026/3/8 0:51:08

Spring Boot + MybatisX = 王炸!!

1.什么是MybatisX? MybatisX 是一款基于 IDEA 的快速开发插件,方便在使用mybatis以及mybatis-plus开始时简化繁琐的重复操作,提高开发速率。 2.使用MybatisX的好处 节省大量持久层代码开发时间 强大的功能为业务编写提供各类支持 配置简单…

作者头像 李华
网站建设 2026/3/6 14:36:08

安全运维工作流程(非常详细)零基础入门到精通,收藏这篇就够了

一.概述 在进行安全运维信息资产管理后续内容梳理的过程中,突然发现前期忘记说明安全运维工作流程方面的内容。在此进行简单的补充。 二.整体流程 从整体角度考虑,安全运维框架落地包括启动阶段、运行阶段以及优化阶段。各阶段相互穿插,不…

作者头像 李华