51单片机课程设计 - 智能电风扇(5)

2019-01-07 14:32

break; {

while(KEY5==0); }

case shoudong:if(KEY1==0) //状态转换时做些相应的处理

state=zidong; auto_speed(); LED_shoudong=1;LED_zidong=0; mingjiao(); while(KEY1==0); } {

JDQ2=1;JDQ3=1;JDQ1=0;//关断其它

LED_zhong=LED_man=1;LED_kuai=0; mingjiao(); while(KEY2==0); }

else if(KEY3==0)//中2 {

JDQ1=1;JDQ3=1;JDQ2=0;//关断其它 LED_kuai=LED_man=1;LED_zhong=0; mingjiao(); while(KEY3==0); }

else if(KEY4==0)//慢3 {

JDQ1=1;JDQ2=1;JDQ3=0;//关断其它 LED_zhong=LED_kuai=1;LED_man=0; mingjiao(); while(KEY4==0); }

else if(KEY5==0)//停4 {

weak_default(); mingjiao(); while(KEY5==0); }

19

else if(KEY2==0)//快1

break;

case zidong: if(KEY1==0) //状态转换时做些相应的处理 {

state=dingshi; LED_zidong=1;

flag_dingshi_delay=1;dingshi_delay=100;//开始延时 time_stor=100;// mingjiao(); while(KEY1==0); } {

JDQ2=1;JDQ3=1;JDQ1=0;//关断其它

LED_zhong=LED_man=1;LED_kuai=0; state=shoudong;

LED_zidong=1;LED_shoudong=0;

else if(KEY2==0)//快1

mingjiao(); while(KEY2==0); }

else if(KEY3==0)//中2 {

JDQ1=1;JDQ3=1;JDQ2=0;//关断其它 } {

JDQ1=1;JDQ2=1;JDQ3=0;//关断其它 }

LED_zhong=LED_kuai=1;LED_man=0; state=shoudong;

LED_zidong=1;LED_shoudong=0; mingjiao();

while(KEY4==0); LED_kuai=LED_man=1;LED_zhong=0; state=shoudong;

LED_zidong=1;LED_shoudong=0; mingjiao();

while(KEY3==0);

else if(KEY4==0)//慢3

20

else if(KEY5==0)//停4

{ weak_default(); mingjiao(); while(KEY5==0); } break; case weak: if(KEY1==0) { state=zidong;LED_zidong=0;

wendu_stor=100;//两个不可能值 time_stor=100;//两个不可能值

auto_speed();

mingjiao(); while(KEY1==0); } break; } }

time_out: ; }

/*************************************************************************************

定时器1中断服务子程序

功能: 用于定时

0.060s

*************************************************************************************/

void timer1(void) interrupt 3 {

TH1=0x15;TL1=0xa0; //

//红外线到记时

EX0=0;

if(hwx_jishu1<999){ hwx_jishu1++; } else {

hwx_jishu1=0; hwx_delay--;

21

if(hwx_delay==0){ weak_default();} }

EX0=1; //1分钟定时

if(flag_dingshi==1) {

if(dingshi_jishu3>0){dingshi_jishu3--;} else

{ dingshi_jishu3=1000;

if(dingshi_time>1){dingshi_time--;} else{weak_default();} } } //5秒延时

if(flag_dingshi_delay==1) {

if(dingshi_delay>1)dingshi_delay--; else {

state=shoudong;flag_dingshi_delay=0;dingshi_delay=100; LED_shoudong=0;

time_stor=100;wendu_stor=100; // mingjiao(); } }

//显示和温控 switch(state) {

case dingshi://在定时的时候只显示时间

if(time_stor!=dingshi_time){display(dingshi_time,1);time_stor=dingshi_time;} // break;

case shoudong:

case zidong: //是否有定时,有则交替显示温度和时间,没有则只显示温度 if(flag_dingshi!=0)// { static byte jiaoti_jishu2=0;

22

static bit flag_jiaoti=0; if(jiaoti_jishu2<49){jiaoti_jishu2++;} else {flag_jiaoti=~flag_jiaoti;jiaoti_jishu2=0;} if(flag_jiaoti!=0) { if(time_stor!=dingshi_time)

{display(dingshi_time,1);time_stor=dingshi_time;wendu_stor=100;}//显示时间

} else {

if(wendu_stor!=wendu) {display(wendu,0);wendu_stor=wendu;time_stor=100;}//显示温度

}

} else { }

//温度控制速度

if(wendu_stor!=wendu){display(wendu,0);wendu_stor=wendu;}// 显示温度

if(state==zidong) { switch(wendu) { case low_wen: JDQ1=1;JDQ2=1;JDQ3=1;

LED_zhong=LED_man=LED_kuai=1;//ting zhi break; case mid_wen: JDQ1=1;JDQ2=1;JDQ3=0;

LED_zhong=LED_kuai=1;LED_man=0;//man break; case hig_wen: JDQ1=1;JDQ3=1;JDQ2=0;

LED_kuai=LED_man=1;LED_zhong=0;//zhong break;

23


51单片机课程设计 - 智能电风扇(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:人教版初一英语下册知识点总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: