//*******************************************************************
void initialize_task(void) {
mute = on; //turn mute on
initialize_timer; // инициализация таймера
initialize_ports; // инициализация портов
initialize_pins; // инициализация состояния отдельных выводов
which_input = 2 ; //по умолчанию включается вход CD(2)
//включение светодиодов на лицевой панели
PORTP = 0x81; //включение всех светодиодов PD1-PD6 низким активным
// уровнем (1000_0001)
delay_3s; //задержка 3 с
PORTP = 0xff; //выключение светодиодов
}
//*******************************************************************
//which_input_task: опрос входов, установка текущего состояния
//*******************************************************************
void which_input_task(void) {
switch(which_input) { // подсвечивается светодиод для используемого
// входа (по умолчанию вход 2 - CD)
case 1: //Пианино
phono_task;
break;
case 2: //CD
CD_task;
break;
case 3: //Тюнер
tuner_task;
break;
case 4: //Магнитофон 1
tape1_task;
break;
case 5: //Магнитофон 2
tape2_task;
break;
case 6: //Дополнительный канал (ДК)
aux_task;
break;
default:;
}//конец switch
}
//*******************************************************************
//phono_task: конфигурируется вход от Радио
//*******************************************************************
void phono_task(void) {
PORTT |= 0x02; //устанавливается PT1(1) (0000_0010)
delay_5ms;
PORTT = ~0x02; // выключается PT1(0)
PORTP = 0x7E; //гасятся все светодиоды
PORTP = ~0x02; //включается светодиод 1 (0)
}
//******************************************************************
//CD_task: конфигурируется вход от CD
//******************************************************************
void CD_task(void) {
//CD
PORTT |= 0x04; // устанавливается PT2(1) (0000_0100)
delay_5ms;
PORTT = ~0x04; // выключается PT2(0)
PORTP |= 0x7E; //гасятся все светодиоды
PORTP = ~0x04; // включается светодиод 2 (0)
}
//******************************************************************
//tuner_task: конфигурируется вход от тюнера
//******************************************************************
void tuner_task(void) {
//TUNER PORTT |= 0x08; // устанавливается PT3(1) (0000_1000)
delay_5ms;
PORTT = 0x08; // выключается PT3(0
PORTP |= 0x7E; //гасятся все светодиоды
PORTP = ~0x08; // включается светодиод 3 (0)
}
//******************************************************************
//tape1_task: конфигурируется вход от магнитофона 1
//******************************************************************
void tape1_task(void) {
//TAPE#1