Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

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

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

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже