基于51单片机的简单风扇控制设计—调速、摇头

基于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

点赞分享,一起学习进步!一起成长。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值