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

}

}

五、实验现象

演示视频:

相关推荐
吃西瓜的年年7 小时前
1. 初识C语言
c语言·开发语言
永远都不秃头的程序员(互关)7 小时前
C语言 基本语法
c语言·开发语言
赖small强8 小时前
【Linux C/C++开发】Linux 平台 Stack Protector 机制深度解析
linux·c语言·c++·stack protector·stack-protector·金丝雀机制
CoderYanger9 小时前
动态规划算法-子序列问题(数组中不连续的一段):28.摆动序列
java·算法·leetcode·动态规划·1024程序员节
清风6666669 小时前
基于单片机的汽车安全气囊充气控制系统设计(protues仿真设计)
单片机·嵌入式硬件·汽车·毕业设计·课程设计·期末大作业
Darken039 小时前
中断程序设计需要注意什么?
单片机·中断函数
小李做物联网9 小时前
【单片机毕业设计】65.1基于单片机物联网智能书桌-超声+升降系统项目程序开发
stm32·单片机·嵌入式硬件·物联网
Light609 小时前
进行 MQTT5 的压测:从场景到落地的系统方法论(含脚本、流程图与对比表)
物联网·流程图·压力测试·可观测性·mqtt5·分布式负载
liu****9 小时前
3.链表讲解
c语言·开发语言·数据结构·算法·链表
赖small强10 小时前
【Linux C/C++开发】Linux C/C++ 堆栈溢出:原理、利用与防护深度指南
linux·c语言·c++·stack·堆栈溢出