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

    if (process_valid_input(new_PORTB)) // процедура

                                        //антидребезга

    { //выполнять действия, связанные

     : //с нажатием клавиши PB7

     PORTC = 0х80; //зажечь зеленый в разряде PB7

     keep_going = 1;

    }

    break;

   default:

    ; //аll other cases

   } //окончание распозвания, какая клавиша нажата (switch(new_PORTB))

  } //окончание обработки нажатой клавиши (if new_PORTB)

  old_PORTB = new_PORTB; //обновить PORTB

 } //окончание (while(keep_going))

} //окончание (main)


/*-----------------------------------------------------------------*/

/* Функция void initialize_ports устанавливает режим работы портов */

/*-----------------------------------------------------------------*/

void initialize_ports(void) {

 DDRC=0xff; //порт PORTC на вывод

 PORTC=0x00; //выходы порта PORTC в 0, зажгутся красные светодиоды

 DDRB=0x00; //порт PORTB на ввод

}


/*--------------------------------------------------------------------*/

/* process_valid_input: проверка стабильности PORTB в течение периода */

/* переполнения таймера                                               */

/*--------------------------------------------------------------------*/

int process_valid_input(unsigned char portx) {

 int valid_input; //флаг результата опроса порта

 int int_value; //время входа в процедуру

 valid_input = TRUE; //установить флаг

 int_value = TCNT; //читать текущий момент времени

 while (int_value != TCNT) //повторять пока значения времени снова не

                           //сравняются

 {

  if (portx==PORTB) //порт PORTB остается стабильным

   valid_input = TRUE;

  else //порт PORTB изменил состояние

   valid_input = FALSE;

  if (!valid_input) //если порт изменил состояние, то выйти

                    //из цикла

   break;

 }

 return valid_input;

}


/*------------------------------------------------------------------------*/

/* Функция timer_init инициализирует таймер. Частота системной шины равна */

/*8*МГц                                                                   */

/*------------------------------------------------------------------------*/

void timer_init(void) {

 TMSK1 = 0х00; //запретить прерывания

 TMSK2 = 0х02; //частота тактировании 2 МГц

 TSCR = 0х80; //разрешить работу модуля таймера

}

/*-------------------------------------------------------------------------*/

5.6. Жидкокристаллические индикаторы

В этом разделе мы подробно рассмотрим, как подключить жидкокристаллический индикатор к МК 68HC12. Мы начнем с краткого обзора принципа действия ЖК индикаторов. Далее изучим реальный однострочный символьный индикатор на 16 знакомест со встроенным контроллером управления. Рассмотрим, как выполнить аппаратное подключение этого индикатора к МК, а затем приведем пример программы управления.

5.6.1. Краткие сведения о жидкокристаллических индикаторах

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

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

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

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

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

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

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

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

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