»ùÓÚµ¥Æ¬»úµÄÏ´Ò»ú¿ØÖƵç·Éè¼Æ±ÏÒµÉè¼ÆÂÛÎÄ

Äϲý´óѧ¹²ÇàѧԺ±ÏÒµÉè¼Æ(ÂÛÎÄ) ¸½Â¼A Ô´³ÌÐò

LED_XiDi = 1; LED_PiaoXi = 1; LED_TuoShui = 1; PIN_BaoJing = 1; PIN_JinShui = 1; PIN_PaiShui = 1; PIN_Motor_A = 1; PIN_Motor_B = 1; }

/********************Öжϳõʼ»¯³ÌÐò********************/ void ExInt_Init(void) { IT0 = 1; EX0 = 1; IT1 = 1; EX1 = 1; }

/*******************¶¨Ê±Æ÷0³õʼ»¯³ÌÐò******************/ void Timer0_Init(void) { TMOD = TMOD | 0X01; TH0 = 0X3C; TL0 = 0XB0; TR0 = 1; _50ms = 0; s = 0; }

/*******************¶¨Ê±Æ÷1³õʼ»¯³ÌÐò******************/ void Timer1_Init(void) { TMOD = TMOD | 0X10; TH1 = 0X3C; TL1 = 0XB0; }

/********************µç»ú³õʼ»¯³ÌÐò********************/ void T_Motor_Ctl(uchar t1,uchar t2,uchar t3) { if(!flag_SEl_QiangRuo) T_Motor = t1;

if(flag_SEl_QiangRuo) T_Motor = t2; if(flag_TuoShui) T_Motor = t3; }

/********************µç»ú³õʼ»¯³ÌÐò********************/ void Motor_Init(void) { ZhengZhuan();

T_Motor_Ctl(4,3,5);

35

Äϲý´óѧ¹²ÇàѧԺ±ÏÒµÉè¼Æ(ÂÛÎÄ) ¸½Â¼A Ô´³ÌÐò

}

/**********************½â³ý±¨¾¯************************/ void No_BaoJing(void) { flag_BaoJing= 0; PIN_BaoJing = 1; TR1 = 0; }

/*******ÍⲿÖжÏ0³ÌÐòΪÔËÐС¢½â³ý±¨¾¯»òÕßÔÝÍ£***********/ void int0(void) interrupt 0 {

if(!p32)

{ Delay_10ms(1); if(!p32)

{ if(!flag_Run)

flag_Run = 1; else if(flag_BaoJing) No_BaoJing(); else if(flag_Ok)

{ static bit flag_ZanTing;

flag_ZanTing = ~flag_ZanTing; if(flag_ZanTing) {ZanTing();}

else {JiXu();} } } } }

/**********************±¨¾¯³ÌÐò************************/ void BaoJing(void)

{ flag_BaoJing= 1; TR0 = 0; TR1 = 1; }

/*******************ʱ¼äµ½´¦Àí³ÌÐò*********************/ void Ok_Timer(void) { s = 0;

if(flag_JinShui || flag_PaiShui) { BaoJing(); } else

{ flag_XiDi = 0; flag_PiaoXi = 0; flag_TuoShui= 0;

36

Äϲý´óѧ¹²ÇàѧԺ±ÏÒµÉè¼Æ(ÂÛÎÄ) ¸½Â¼A Ô´³ÌÐò

Stop(); } }

/********************µç»ú¿ØÖƳÌÐò**********************/ void Motor(void)

{ static uchar s_Motor; s_Motor++;

if(s_Motor==T_Motor) { static uchar Motors; s_Motor = 0; Motors++;

if(Motors==3) Motors = 0; switch(Motors)

{ case ZHENGZHUAN : ZhengZhuan();

T_Motor_Ctl(4,3,5); break; case STOP : Stop();

T_Motor_Ctl(1,1,2); break;

case FANZHUAN : FanZhuan();

T_Motor_Ctl(4,3,5); break; default : break; } } }

/*******************¶¨Ê±Æ÷0ÖжϳÌÐò********************/ void Timer0(void) interrupt 1 {

TR0 = 0; TH0 = 0X3C; TL0 = 0XB0; TR0 = 1; _50ms++;

if(_50ms == 20) { _50ms = 0; s++;

if(s == T_S) Ok_Timer(); if(flag_XiDi || flag_PiaoXi || flag_TuoShui) Motor(); } }

37

Äϲý´óѧ¹²ÇàѧԺ±ÏÒµÉè¼Æ(ÂÛÎÄ) ¸½Â¼A Ô´³ÌÐò

/**********ÍⲿÖжÏ1³ÌÐòΪˮλµ½»òÕ߸ǿª´¦Àí***********/ void int1(void) interrupt 2 { if(!p33)

{ Delay_10ms(1); if(!p33) { } } }

/************¶¨Ê±Æ÷1ÖжϳÌÐò×÷ΪÉÁ˸¼°±¨¾¯**************/ void Timer1(void) interrupt 3 { static uchar _50ms; TR1 = 0; TH1 = 0X3C; TL1 = 0XB0; TR1 = 1; _50ms++;

if(_50ms == 14) { _50ms = 0;

if(flag_XiDi) LED_XiDi = ~LED_XiDi; if(flag_PiaoXi) LED_PiaoXi = ~LED_PiaoXi; if(flag_TuoShui) LED_TuoShui = ~LED_TuoShui; if(flag_BaoJing)

PIN_BaoJing = ~PIN_BaoJing; } }

/**********************³ÌÐòÑ¡Ôñ³ÌÐò********************/ void SEL_ChengXU(void)

{ if(!K_SEL_ChengXu) { Delay_10ms(1); if(!K_SEL_ChengXu)

{ while(!K_SEL_ChengXu); flag_SEL_ChengXu++; if(flag_SEL_ChengXu==5) flag_SEL_ChengXu = 0; switch(flag_SEL_ChengXu)

{ case BIAOZHUN : LED_BiaoZhun= 0; LED_JingJi = 1; LED_DanDu = 1;

LED_PaiShui = 1;

38

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)