电子设计报告___智能风扇控制系统.docx_第1页
电子设计报告___智能风扇控制系统.docx_第2页
电子设计报告___智能风扇控制系统.docx_第3页
电子设计报告___智能风扇控制系统.docx_第4页
电子设计报告___智能风扇控制系统.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能风扇控制系统设计报告(电子大赛选拔赛)小组成员:沈君豪子中美 吕智超子中美 黄寒雪子中美设计时间:2015.22015.3一. 前期准备:经过我们小组三人的讨论,最终我们决定采用8051作为整个系统的控制部分,运用8051系列单片机以及C51编程实现解决方案。故我们事先进行了分工,并进入了准备阶段。二. 总体设计:作为控制部分,我们决定使用8051单片机;电源部分我们采用了micro usb 母座进行供电,工作时可以插入手机充电器(micro usb公头)进行供电;风扇使用直流电机代替;直流电机驱动部分则使用L298N芯片。1.首先是按键部分,3个按键(分别表示风速、类型、停止)的状态以启动电扇或设置相应的工作状态。这样就需要3个按键,要通过一个按键来控制2个以上的状态,可以通过按键的次数来控制第几种状态,比如风速有三种状态(弱、中、强),可以用按键1次控制弱,按键2次控制中,按键3次控制强,这样就可以实现一键控制多钟状态了。其中停止按键与P3.2(外部中断0)相接,按下时即可停止所有行为。2.控制器的指示灯,我们想使用六个LED灯进行显示,分别显示不同风速、类型等6个指示信号。3. 用直流电机作为电风扇,其转速和停止可通过改变L298N其使能输入的频率来改变电机的速度。利用L298N的2,3引脚来驱动直流电机。4.风速和风种的实现,采用8051的定时器中断,每隔一定的时间停止L298N的使能输入,使电机停止,改变不同的定时时间,来获得电机的不同转速与风种。三. 原理图:四.程序设计(C51)#include #include #include #define uchar unsigned char#define uint unsigned intsbit A1=P10;/电机控制端口sbit B1=P11;sbit ENA=P12;sbit key1=P30; /风速设置按键sbit key2=P31; /风种设置按键sbit key3=P32; /停止设置按键sbit led1=P00;/强风指示灯sbit led2=P01;/中风指示灯sbit led3=P02;/慢风指示灯sbit led4=P03;/正常指示灯sbit led5=P04;/自然指示灯sbit led6=P05;/睡眠指示灯bit Stop_Flag = 0;uint count = 0;uchar pwm_duty = 0;/最大为100uchar wind_speed = 0;/分为三级 0高 1中 2慢uchar wind_mode = 0; /分为三类 0正常 1自然 2睡眠uint time = 0; /计时变量void delay1ms(void) unsigned char a,b,c; for(c=1;c0;c-) for(b=142;b0;b-) for(a=2;a0;a-);void Motor_Forward()/电机正转A1=1;B1=0;ENA=1;void Motor_Reversal()/电机反转A1=0;B1=1;ENA=1;void Motor_Stop()/电机急停A1=1;B1=1;ENA=0;void InitTimer0(void)/T0初始化为1ms定时器 TMOD = 0x01; TH0 = 0x0FC; TL0 = 0x18; EA = 1; ET0 = 1; /TR0 = 1;/主函数void main() /端口配置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); /等待按键释放if(!key2) /设置风种delay1ms();if(!key2)wind_mode+;if(wind_mode = 3) wind_mode = 0;time = 0;while(!key2); /等待按键释放if(!Stop_Flag)switch(wind_speed)case 0:pwm_duty = 100;/100%转速A1=1;B1=0;led1 = 0;led2 = 1;led3 = 1;break;case 1:pwm_duty = 70; /70%转速A1=1;B1=0;led1 = 1;led2 = 0;led3 = 1;break;case 2:pwm_duty = 40; /40%转速A1=1;B1=0;led1 = 1;led2 = 1;led3 = 0;break;default:A1=1;B1=1;break; elseP0 = 0xff;/LED全灭void Timer0Interrupt(void) interrupt 1 /定时器中断T0TH0 = 0x0FC; TL0 = 0x18;count+;if(wind_mode = 0) /正常 if(count = 100)count = 0; led4 = 0;led5 = 1;led6 = 1;else if(wind_mode = 1)/自然time+;if(time = 4000)/4sif(count = 100)count = 0; else ENA = 0;if(time = 8000) time = 0;led4 = 1;led5 = 0;led6 = 1; else /睡眠time+;if(time = 8000)/8sif(count = 100)count = 0; else ENA = 0;if(time = 16000) time = 0;led4 = 1;led5 = 1;led6 = 0;void ISR_Key(void) interrupt 0 using 1 /外部中断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.工程电路分析(美)William

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论