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

}

}

五、实验现象

演示视频:

相关推荐
集和诚JHCTECH3 小时前
赋能边缘智能:BRAV-7722搭载全新Edge BMC模块,开启远程运维新纪元!
人工智能·嵌入式硬件
呆呆小金人3 小时前
Linux:开源时代的隐形基石
linux·1024程序员节
没有bug.的程序员3 小时前
Spring 常见问题与调试技巧
java·后端·spring·动态代理·1024程序员节
Han.miracle3 小时前
数据结构——排序的超级详解(Java版)
java·数据结构·学习·算法·leetcode·排序算法·1024程序员节
hazy1k3 小时前
51单片机基础-DS18B20温度传感器
c语言·stm32·单片机·嵌入式硬件·51单片机·1024程序员节
AI棒棒牛3 小时前
论文精读系列:Retinanet——目标检测领域中的SCI对比实验算法介绍!可一键跑通的对比实验,极大节省小伙伴的时间!!!
yolo·目标检测·计算机视觉·对比实验·1024程序员节·创新·rtdter
胜天半月子3 小时前
嵌入式开发 | C语言 | 单精度浮点数解疑--为什么规格化数中指数位E不能是E=0 或 E=255?
c语言·嵌入式c·1024程序员节·单精度浮点数范围
Lethehong3 小时前
告别显卡焦虑:Wan2.1+cpolar让AI视频创作走进普通家庭
cpolar·1024程序员节