【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();//自动温控模式

}

}

五、实验现象

演示视频:

相关推荐
Tao____15 分钟前
如何对接Modbus-tcp协议(使用Thinlinks物联网平台)
java·物联网·网络协议·tcp/ip·modbus
亿道电子Emdoor23 分钟前
【Altium】原理图中网络标签作用范围的设置
单片机·嵌入式硬件
你怎么知道我是队长23 分钟前
C语言---printf函数使用详细说明
c语言·开发语言
消失的旧时光-194328 分钟前
函数指针 + 结构体 = C 语言的“对象模型”?——从 C 到 C++ / Java 的本质统一
linux·c语言·开发语言·c++·c
风行男孩30 分钟前
stm32基础学习——串口(USART)的基本使用
stm32·嵌入式硬件·学习
点灯小铭32 分钟前
基于单片机的多模式档位调节与过热保护风扇设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
代码游侠41 分钟前
学习笔记——ESP8266 WiFi模块
服务器·c语言·开发语言·数据结构·算法
星源~1 小时前
Zephyr - MCU 开发快速入门指南
单片机·嵌入式硬件·物联网·嵌入式开发·zephyr
星源~1 小时前
zephyr-开发环境配置疑难问题解决
单片机·嵌入式硬件·物联网·项目开发
BMS小旭1 小时前
CubeMx-DMA
单片机·学习·cubemx·dma