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

 PORTT |= 0x10; //assert PT4(1) (0001_0000)

 delay_5ms();

 PORTT &= ~0x10; // выключается PT4(0)

 PORTP |= 0x7E; //гасятся все светодиоды

 PORTP &= ~0x10; // включается светодиод 4 (0)

}


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

//tape2_task: конфигурируется вход от магнитофона 2

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

void tape2_task(void) {

 //TAPE#2

 PORTT |= 0x20; // устанавливается PT5(1) (0010_0000)

 delay_5ms();

 PORTT &= ~0x20; // выключается PT5(0)

 PORTP |= 0x7E; //гасятся все светодиоды

 PORTP & = ~0x20; // включается светодиод 5 (0)

}


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

//aux_task: конфигурируется вход от дополнительного канала

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

void aux_task(void) {

 //ДК

 PORTT |= 0x40; // устанавливается PT6(1) (0100_0000)

 delay_5ms();

 PORTT &= ~0x40; // выключается PT6(0)

 PORTP |= 0x7E; //гасятся все светодиоды

 PORTP &= ~0x40; // включается светодиод 6(0)

}


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

//activate_power_relay_task(): включается реле силового питания

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

void activate_power_relay_task(void) {

 PORTT |= 0x80; // устанавливается PT7(1) импульсом 10 мс

 delay_5ms();

 delay_5ms();

 PORTT &= ~0x80; // выключается PT7

}


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

//process_PORTB_input_task(): определяется выбранный вход от PORTB

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

void process_PORTB_input_task(void) {

 new_PORTB = PORTB; //read PORTB

 if (new_PORTB != old_PORTB) { //считывание состояния порта PORTB

  switch(new_PORTB) { //PORTB устанавливается на низкий уровень

  case 0xFE: //PB0 "S-PREAMP-PWR" (1111_1110)

   if (process_valid_input_PORTB(new_PORTB)) {

    preamp_off();

    keep_going=0;

   }

   break;

  case 0xFD: //PB1 "S-PHONO" (1111_1101)

   if (which_input !=1) {

    if (process_valid_input_PORTB(new_PORTB) {

     which_input = 1;

     change_input();

    }

   }

   break;

  case 0xFB: //PB2 "S-CD" (1111_1011)

   if (which_input!=2) {

    if (process_valid_input_PORTB(new_PORTB)) {

     which_input = 2;

     change_input();

    }

   }

   break;

  case 0xF7: //PB3 "S-TUNER" (1111_0111)

   if (which_input != 3) {

    if (process_valid_input_PORTB(new_PORTB)) {

     which_input = 3;

     change_input();

    }

   }

   break;

  case 0xEF: //PB4 "S-TAPE#1" (1110_1111)

   if (which_input != 4) {

    if (process_valid_input_PORTB(new_PORTB)) {

     which_input = 4;

     change_input();

    }

   }

   break;

  case 0xDF: //PB5 "S-TAPE#2" (1101_1111)

   if (which_input != 5) {

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных