ify"> xC0,//0
xF9,//1
xA4,//2
xB0,//3
x99,//4
x92,//5
x82,//6
xF8,//7
x80,//8
0x90,//9
};
//таблиця сигналів управління анодами 6 цифр світлодіодного дисплея
char TBL_COM []={
xFB,//А1 hour_H
xF7,//А2 hour_L
xEF,//А3 min_H
xDF,//А4 min_L
0xBF,//А5 sec_H
x7F//А6 sec_L
}; TBL_LIGHT []={
x01,//загоряється зелений світлодіод
x10//спалахує червоний світлодіод
}; Servis_Key ()
{(key)
{KEY_MODE:
{= NOT_DEFINE; ++; (mode == 7)
{= 0;
}
}; KEY_UP:
{= NOT_DEFINE; (mode == 0)
{}
{_ beep=0; DIR |=0x08; OUT |=0x08; (mode)
{1:
{_ H ++; (hour_H gt; 2)
{_ H=0;
}
}; 2:
{_ L ++; ((hour_H gt; 9) | ((hour_H == 2) amp; (hour_L gt; 3)))
{_ L=0;
}
}; 3:
{_ H ++; (min_H gt; 5)
{_ H=0;
}
}; 4:
{_ L ++; (min_L gt; 9)
{_ L=0;
}
}; 5:
{_ H ++; (sec_H gt; 5)
{_ H=0;
}
}; 6:
{_ L=0;
};
}
}
};
}
} Keybscan ()
{DIR amp;=~ 0x07;=P1IN; (key amp; SW_Load == SW_Load)
{= TBL_LIGHT [0];
} _ key=NOT_DEFINE; (key amp; KEY_MODE == KEY_MODE)
{_ key=KEY_MODE;
}//ST1
{(key amp; KEY_UP == KEY_UP)
{_ key=KEY_UP;
} goto ST2;
} :( bounce_tmr == BOUNCE_TIME)//ST2
{(cur_key == NOT_DEFINE)
{_ tmr=0; _key=NOT_DEFINE;
} goto exitKS;
}//ST3
{(cur_key == NOT_DEFINE)//RESET_TMR
{_ tmr=0; _key=NOT_DEFINE;
}//ST4
{(cur_key!=prev_key)//OTHER_KEY
{_ tmr=0; _key=cur_key;
}
{_ tmr ++;
} (bounce_tmr == BOUNCE_TIME)//ST5
{= cur_key;
} goto exitKS;
}
}: {}
} Timer ()
{(mode!=0)
{goto ExitTmr;}//Tmr1
{(sec_L!=0) {sec_L -; goto ExitTmr;}//Tmr2
{(sec_H!=0) {sec_H -; sec_L=9; goto ExitTmr;}//Tmr3
{(min_L + min_H + hour_L + hour_H == 0) {goto StopT;} /// Tmr4
{_ L=9; (min_L!=0) {min_L -; sec_H=5; goto ExitTmr;}
{(min_H + hour_L + hour_H == 0) {goto StopT;}//Tmr5
{_ H=5; (min_H!=0)
{_ H -; _ L=9; ExitTmr;
}
{(hour_L + hour_H == 0) {goto StopT;}//Tmr6
{_ L=9; (hour_L!=0)
{_ L -; _ H=5; ExitTmr;
}
{(hour_H == 0) {goto StopT;}//Tmr7
{_ H=5; _H -; _ L=9; ExitTmr;
}
}
}
}
}
}
}
}
}
}://час таймера минув (ct_beep == 0)
{_ beep=6; DIR |=0x08; OUT |=0x00;
} {}
if (SW_Load == 0)//включення зовнішнього навантаження
{DIR |=Power_On; OUT |=0x00;
}//відключення зов...