基于51单片机的风扇控制设计
(仿真+程序+原理图+设计报告)
功能介绍
具体功能:
1.步进电机模拟风速、摇头
2.按键可以控制风速、摇头;
3.数码管显示风速档位;
4.LED作摇头提示灯;
#include <Reg52.h>
#include <intrins.h>
sbit HeadR_Prot = P3^7; //摇头指示灯引脚定义
sbit Motor_Prot = P3^1; //电机引脚定义
sbit HeadH_Prot = P2^0; //摇头正引脚定义
sbit HeadL_Prot = P2^4; //摇头负引脚定义
#define Head_Lift {HeadH_Prot=0;HeadL_Prot=1;} //向左摇头
#define Head_Right {HeadH_Prot=1;HeadL_Prot=0;} //向右摇头
#define Head_Stop {HeadH_Prot=0;HeadL_Prot=0;} //停止摇头
#define LED_Prot P0 //数码管引脚定义
#define Key_Prot P1 //按键引脚定义
unsigned char code LedData[11]= //数码管段码库
{
~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x00
};// 0 1 2 3 4 5 6 7 8 9 空
unsigned char RunLedCount=0,PwmCount=0,HeadCount=0,
PwmValue=0,HeadFlag=0,HeadSwitch=0;
void SystemInit(void)
{
TMOD = 0x11; //设置定时器 1 计时模式
TH1=(65536-20000)/256; //加载 计数器高位数据
TL1=(65536-20000)%256; //加载 计数器低位数据
ET1=1; //允许定时器1 中断触发
TR1=0; //关闭定时器1
EA =1; //开总中断
Head_Stop; //停止摇头
Motor_Prot=1; //电机停止
LED_Prot=LedData[10]; //数码管清屏
}
硬件设计
使用元器件:
单片机:STC89C52;
(注意:单片机是通用的,无论51还是52、无论stc还是at都一样,引脚功能都一样。程序也是一样的。)
轻触开关;绿色LED灯;
12v直流电机;LM298N芯片;
1位数码管;1K贴片电阻;
4.7K贴片电阻;100R电阻;
DC电源;导线:若干;
结构图:
设计资料
01 仿真图
本设计使用proteus8.9版本设计,资料里有安装教程,无需担心!具体如图!
02 原理图
本系统原理图采用Altium Designer19设计,具体如图!
03 程序
本设计使用软件keil5版本编程设计,资料里有安装教程,无需担心!具体如图!
04 设计报告
三千字设计报告,具体如下!
05 设计资料
全部资料包括仿真源文件 、程序(含注释)、AD原理图、设计报告、任务书、元件清单、视频讲解等。具体内容如下,全网最全! !
下面是开源51单片机设计资料
大家共同学习进步:
链接:https://pan.baidu.com/s/1slFToejYU2t_LP7ZFKv8aw?pwd=b1o3
提取码:b1o3
点赞分享,一起学习进步!一起成长。