【51单片机】【protues仿真】基于51单片机智能温控风扇系统

目录

一、主要功能

二、使用步骤

三、硬件资源

四、软件设计

五、实验现象

一、主要功能

1、数码液晶显示当前温度和风扇挡位

2、按键设置温度阈值​

3、通过当前温度自动调节风扇转速

二、使用步骤

基于51单片机的智能温控风扇系统是一个集温度传感、PWM调速和自动控制于一体的综合性项目。下面为您提供完整的系统设计方案和核心代码实现。

三、硬件资源

1、51单片机核心模块

2、按键模块

3、温度传感器

4、电机模块

5、数码管显示模块

四、软件设计

#include<reg51.h>

#include<intrins.h> //包含头文件

#define uchar unsigned char

#define uint unsigned int //宏定义

////////////////////

sbit dj=P1^0;//电机控制端接口

sbit DQ=P1^6;//温度传感器接口

//////////按键接口/////////////////////////////////

sbit key1=P3^5;//设置温度

sbit key2=P3^6;//温度加

sbit key3=P3^7;//温度减

//////////////////////////////////////////////////////

sbit w1=P2^4;

sbit w2=P2^5;

sbit w3=P2^6;

sbit w4=P2^7; //数码管的四个位

uchar table[22]=

{0x3F,0x06,0x5B,0x4F,0x66,

0x6D,0x7D,0x07,0x7F,0x6F,

0x77,0x7C,0x39,0x5E,0x79,0x71,

0x40,0x38,0x76,0x00,0xff,0x37};//'-',L,H,灭,全亮,n 16-21

uint wen_du; //温度变量

uint shang,xia; //对比温度暂存变量

uchar dang;//档位显示

uchar flag;

uchar d1,d2,d3;//显示数据暂存变量

void delay(uint ms)

{

uchar x;

for(ms;ms>0;ms--)

for(x=10;x>0;x--);

}

void delay_18B20(uint i)

{

while(i--);

}

void main() //主函数

{

uchar j;

dj=0;

shang=30;

xia=20;

for(j=0;j<80;j++) //先读取温度值,防止开机显示85

ReadTemperature();

while(1) //进入while循环

{

ReadTemperature(); //读取温度值

for(j=0;j<100;j++)zi_dong();//自动温控模式

}

}

五、实验现象

演示视频:

相关推荐
2401_858936888 分钟前
【Linux C 编程】标准 IO 详解与实战:从基础接口到文件操作实战
linux·c语言
松涛和鸣1 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
简单中的复杂1 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
上海合宙LuatOS2 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
Hhh __灏2 小时前
stm32的SRAM内存不足如何分析和优化?堆栈空间如何优化?
单片机
LS_learner2 小时前
Snapd和Apt—Linux 上两种完全不同的软件包管理系统
嵌入式硬件
点灯小铭2 小时前
基于51单片机的双档交流电压表设计与实现
单片机·嵌入式硬件·毕业设计·51单片机·课程设计·期末大作业
季明洵3 小时前
C语言实现单链表
c语言·开发语言·数据结构·算法·链表
浅念-3 小时前
C语言编译与链接全流程:从源码到可执行程序的幕后之旅
c语言·开发语言·数据结构·经验分享·笔记·学习·算法