电子设计报告智能风扇控制系统Word格式.docx

上传人:b****2 文档编号:14874048 上传时间:2022-10-25 格式:DOCX 页数:10 大小:349.76KB
下载 相关 举报
电子设计报告智能风扇控制系统Word格式.docx_第1页
第1页 / 共10页
电子设计报告智能风扇控制系统Word格式.docx_第2页
第2页 / 共10页
电子设计报告智能风扇控制系统Word格式.docx_第3页
第3页 / 共10页
电子设计报告智能风扇控制系统Word格式.docx_第4页
第4页 / 共10页
电子设计报告智能风扇控制系统Word格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

电子设计报告智能风扇控制系统Word格式.docx

《电子设计报告智能风扇控制系统Word格式.docx》由会员分享,可在线阅读,更多相关《电子设计报告智能风扇控制系统Word格式.docx(10页珍藏版)》请在冰豆网上搜索。

电子设计报告智能风扇控制系统Word格式.docx

其中停止按键与P3.2(外部中断0)相接,按下时即可停止所有行为。

2.控制器的指示灯,我们想使用六个LED灯进行显示,分别显示不同风速、类型等6个指示信号。

3.用直流电机作为电风扇,其转速和停止可通过改变L298N其使能输入的频率来改变电机的速度。

利用L298N的2,3引脚来驱动直流电机。

4.风速和风种的实现,采用8051的定时器中断,每隔一定的时间停止L298N的使能输入,使电机停止,改变不同的定时时间,来获得电机的不同转速与风种。

三.原理图:

四.程序设计(C51)

#include<

reg51.h>

intrins.h>

math.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitA1=P1^0;

//电机控制端口

sbitB1=P1^1;

sbitENA=P1^2;

sbitkey1=P3^0;

//风速设置按键

sbitkey2=P3^1;

//风种设置按键

sbitkey3=P3^2;

//停止设置按键

sbitled1=P0^0;

//强风指示灯

sbitled2=P0^1;

//中风指示灯

sbitled3=P0^2;

//慢风指示灯

sbitled4=P0^3;

//正常指示灯

sbitled5=P0^4;

//自然指示灯

sbitled6=P0^5;

//睡眠指示灯

bitStop_Flag=0;

uintcount=0;

ucharpwm_duty=0;

//最大为100

ucharwind_speed=0;

//分为三级0高1中2慢

ucharwind_mode=0;

//分为三类0正常1自然2睡眠

uinttime=0;

//计时变量

voiddelay1ms(void)

{

unsignedchara,b,c;

for(c=1;

c>

0;

c--)

for(b=142;

b>

b--)

for(a=2;

a>

a--);

}

voidMotor_Forward()//电机正转

A1=1;

B1=0;

ENA=1;

voidMotor_Reversal()//电机反转

A1=0;

B1=1;

voidMotor_Stop()//电机急停

ENA=0;

voidInitTimer0(void)//T0初始化为1ms定时器

TMOD=0x01;

TH0=0x0FC;

TL0=0x18;

EA=1;

ET0=1;

//TR0=1;

//主函数

voidmain()

{

//端口配置

P0=0xff;

P1=0x00;

P2=0xff;

P3=0xff;

InitTimer0();

EX0=1;

//外部中断0开

IT0=1;

//边沿触发

TR0=1;

while

(1)

{

if(!

key1)//设置风速

{

delay1ms();

if(!

key1)

{

wind_speed++;

if(wind_speed>

=3)wind_speed=0;

TR0=1;

//开启定时器

Stop_Flag=0;

//标志位清零

}

while(!

key1);

//等待按键释放

}

key2)//设置风种

key2)

wind_mode++;

if(wind_mode>

=3)wind_mode=0;

time=0;

key2);

Stop_Flag)

switch(wind_speed)

case0:

pwm_duty=100;

//100%转速

A1=1;

B1=0;

led1=0;

led2=1;

led3=1;

break;

case1:

pwm_duty=70;

//70%转速

led1=1;

led2=0;

case2:

pwm_duty=40;

//40%转速

led3=0;

default:

B1=1;

}

else

P0=0xff;

//LED全灭

voidTimer0Interrupt(void)interrupt1//定时器中断T0

count++;

if(wind_mode==0)//正常

if(count<

=pwm_duty)

ENA=1;

ENA=0;

if(count>

=100)

count=0;

led4=0;

led5=1;

led6=1;

elseif(wind_mode==1)//自然

time++;

if(time<

=4000)//4s

if(count<

else

ENA=0;

if(count>

count=0;

else

if(time>

=8000)time=0;

led4=1;

led5=0;

else//睡眠

=8000)//8s

=16000)time=0;

led6=0;

voidISR_Key(void)interrupt0using1//外部中断0

Motor_Stop();

//关闭马达

P0=0xff;

//关闭所有LED

TR0=0;

Stop_Flag=1;

四.实物焊接图

五.元件清单:

STC89C511个

L298N1个

按键4个

12M晶振1个

22Pf电容2个

10Uf电解电容1个

直流电机1个

330Ω电阻6个

10kΩ电阻6个

LED6个

六.参考用书:

1.《工程电路分析》(美)WilliamH.Hayt(威廉H.海特) 著

电子工业出版社出版时间2012-9-1

2.《CPrimerPlus》 

(美)StephenPrata 

人民邮电出版社出版时间 

2005-2-1

3.《时间触发嵌入式系统设计模式》(英) 

MichaelJ.Pont 

中国电力出版社出版时间2004-7-1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1