1、其中停止按键与P3.2(外部中断0)相接,按下时即可停止所有行为。2.控制器的指示灯,我们想使用六个LED灯进行显示,分别显示不同风速、类型等6个指示信号。3. 用直流电机作为电风扇,其转速和停止可通过改变L298N其使能输入的频率来改变电机的速度。利用L298N的2,3引脚来驱动直流电机。4.风速和风种的实现,采用8051的定时器中断,每隔一定的时间停止L298N的使能输入,使电机停止,改变不同的定时时间,来获得电机的不同转速与风种。三.原理图:四.程序设计(C51)#include intrins.h math.h#define uchar unsigned char#define uin
2、t 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;/最大为
3、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;bb-) for(a=2;aa-);void Motor_Forward()/电机正转 A1=1; B1=0; ENA=1;void Motor_Reversal()/电机反转 A1=0; B1=1;void Motor_Stop()/电机急停 ENA=0;void Init
4、Timer0(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 =
5、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) case 0: pwm_duty = 100;/100%转速 A1=1; B1=0; led1 = 0; led2 = 1; led3 = 1; break; case 1: pwm_duty = 70; /70%转速 led1 = 1; led2 = 0; case 2: p
6、wm_duty = 40; /40%转速 led3 = 0; default: B1=1; else P0 = 0xff;/LED全灭void Timer0Interrupt(void) interrupt 1 /定时器中断T0 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)/4s if(count count = 0; else if(time = 8000) time
7、= 0; led4 = 1; led5 = 0; else /睡眠= 8000)/8s= 16000) time = 0; led6 = 0;void ISR_Key(void) interrupt 0 using 1 /外部中断0 Motor_Stop(); /关闭马达 P0 = 0xff;/关闭所有LED TR0 = 0; Stop_Flag = 1;四.实物焊接图五.元件清单:STC89C51 1个L298N 1个按键 4个12M晶振 1个22Pf电容 2个10Uf电解电容 1个直流电机 1个330电阻 6个10k电阻 6个LED 6个六参考用书:1.工程电路分析(美)WilliamH.Hayt(威廉H.海特)著电子工业出版社 出版时间 2012-9-12.C Primer Plus(美)Stephen Prata 著人民邮电出版社 出版时间2005-2-13.时间触发嵌入式系统设计模式(英)Michael J.Pont中国电力出版社 出版时间 2004-7-1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1