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

    if (process_valid_input_PORTB(new_PORTB)) {

     which_input = 5;

     change_input();

    }

   }

   break;

  case 0xBF: //PB6 "S-AUX" (1011_1111)

   if (which_input != 6) {

    if (process_valid_input_PORTB(new_PORTB)) {

     which_input = 6;

     change_input();

    }

   }

   break;

  case 0x7F: //PB7 "S-MUTE" (0111_1111)

   if (process_valid_input_PORTB(new_PORTB)) {

    mute_toggle();

   }

   break;

  default:; //all other cases

  } //конец switch(new_PORTB)

 } //конец if new_PORTB

 old_PORTB=new_PORTB; //update PORTB

}


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

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

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

void process_PORTA_input_task(void) {

 new_PORTA = PORTA; //Читать PORTA

 if (new_PORTA != old_PORTA) { //выбор входа по состоянию порта PORTA

  switch (new_PORTA) { //PORTA переводится в высокое состояние

  case 0x01: //РАО "R-PREAMP-PWR" (0000_0001)

   if (process_valid_input_PORTA(new_PORTA)) {

    preamp_off();

    keep_going=0;

   }

   break;

  case 0x02: //PA1 R-PHONO" (0000_0010)

   if (which_input != 1) {

    if (process_valid_input_PORTA(new_PORTA)) {

     which_input = 1;

     change_input();

    }

   }

   break;

  case 0x04: //PA2 "R-CD" (0000_0100)

   if (which_input != 2) {

    if (process_valid_input_PORTA(new_PORTA)) {

     which_input = 2;

     change_input();

    }

   }

   break;

  case 0x08: //РАЗ "R-TUNER" (0000_1000)

   if (which_input != 3) {

    if (process_valid_input_PORTA(new_PORTA)) {

     which_input = 3;

     change_input();

    }

   }

   break;

  case 0x10: //PA4 "R-TAPE#1" (0001_0000)

   if (which_input != 4) {

    if (process_valid_input_PORTA(new_PORTA)) {

     which_input = 4;

     change_input();

    }

   }

   break;

  case 0x20: //PA5 "R-TAPE#2M (0010_0000)

   if (which_input != 5) {

    if (process_valid_input_PORTA(new_PORTA)) {

     which_input = 5;

     change_input();

    }

   }

   break;

  case 0x40: //PA6 "R-ДОПОЛНИТЕЛЬНЫЙ КАНАЛ" (0100_0000)

   if (which_input != 6) {

    if (process_valid_input_PORTA(new_PORTA)) {

     which_input = 6;

     change_input();

    }

   }

   break;

  case 0x80: //PA7 "R-MUTE" (1000_0000)

   if (process_valid_input_PORTA(new_PORTA)) {

    mute_toggle();

   }

   break;

   default:; //all other cases

  } //конец switch(new_PORTA)

 }//конец if new_PORTA

 old_PORTA = new_PORTA; //изменяется состояние PORTA

}


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

//initialize_timer:установка частоты таймера обслуживающего счетчик

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

void initialize_timer(void) {

 TMSK2 = 0x05; //установка на 250 КГц

 TSCR = 0x80; //разрешение работы таймера

}


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

//initialize_ports: начальная конфигурация портов

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

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

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

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

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

Программирование, программы, базы данных
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT