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

   if(pin[i]==code[i]) //очередной символ правильный

   {

    j++;

   } else //очередной символ неправильный

   {

    j--;

   }

  }

  if (j == (length - 1)) //если j=3, то все символы введены правильно

  {

   putcommands(0x01);

   lcd_print("Access Granted");

  }

  else //символы введены неправильно

  {

   putcommands(0x01);

   lcd_print("Access Denied");

  }

 }

 putcommands(0x01);

 lcd_print(" Goodbye ! "); //конец попыток ввода

}


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

/*Перечень функций, которые использованы в этой программе             */

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

/* Функции, программный код которых был приведен ранее по тексту главы*/

char which_key(unsigned int keypress);

void delay_5ms(void);

void delay_100us(void);

void initialize_lcd(void);

void putchars(unsigned char с);

void putcommands(unsigned char d);

void lcdprint(char *string);

char keypad(unsigned int keypress, int row);


//Функция, которая приведена ниже

void initialize_key(void)

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

/* Функция initialize_key устанавливает направление передачи линий портов */

/* для обслуживания клавиатуры                                            */

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

void initialize_key(void) {

 DDRB = 0x0F; //линии PORTB[0]…PORTB[3] на вывод

              //линии PORTB[4]…PORTB[7] на ввод

 PORTB = 0х00; //четыре младших линии порта PORTB в 0

}

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

5.9. Интерфейс МК с аналоговыми датчиками

Датчик — это устройство, которое преобразует некоторую физическую величину в электрический сигнал. Существуют датчики температуры, давления, ускорения, напряженности электрического поля, механического момента, и т.д. В главе 2 мы рассмотрели пример метеостанции, в которой выходы датчиков, поставляющих информацию о погоде, были подключены к МК семейства 68HC12. В том примере мы по умолчанию предположили, что датчики допускают непосредственное подключение ко входам МК. Однако на практике это условие почти всегда не выполняется. Поэтому необходимо разрабатывать дополнительную схему сопряжения, которая, в общем случае, состоит из усилителя со смещением уровня и фильтра. Подробное изучение способов преобразования аналоговых сигналов выходит за рамки данного раздела. Читатель может познакомиться с ними по книгам, приведенным в параграфе дополнительной литературы для данной главы. Мы остановимся только на общем рассмотрении масштабирования сигнала с выхода датчика.

На рис. 5.24 приведена обобщенная функциональная схема интерфейса для подключения аналогового датчика ко входу встроенного АЦП микроконтроллера. Датчик преобразует некоторую величину X в напряжение на выходе электронного преобразователя датчика. В последующих рассуждениях мы предположим, что электронный преобразователь имеет линейную передаточную характеристику. Если на входе присутствует некоторая физическая величина X1, то на выходе электронного преобразователя формируется напряжение V1min. При этом величина X1 соответствует минимальному значению, которое может преобразовать рассматриваемый датчик. Если на входе датчика присутствует величина X2, то на выходе электронного преобразователя формируется напряжение V2min. И X2 соответствует максимальному значению датчика. Все промежуточные значения величины X могут быть восстановлены по величине напряжения на выходе преобразователя V1min < V < V2min.

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

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

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

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

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

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

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

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

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