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

Пак Дэниэл Дж.

Шрифт:

putchars(key1); /*передать символ на дисплей*/

 } else if(keypress == row) { /*ни одна из клавиш не нажата*/

key1 = 'Z';

 }

 return (key1);

}

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

/* Функция char which_key определяет код нажатой клавиши методом перебора */

/*табличных значений */

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

char witch_key(unsigned char keypress) {

 char key;

 switch(keypress) /*распознавание кода клавиши*/

 {

 case 0xEE:

key = '0'; /*нажата клавиша "0"*/

break;

 case 0xDE:

key = '1'; /*нажата клавиша "1"*/

break;

 case 0xBE:

key = '2'; /*нажата клавиша "2"*/

break;

 case 0x7E:

key = '3'; /*нажата клавиша "3"*/

break;

 case 0xED:

key = '4'; /*нажата клавиша "4"*/

break;

 case 0xDD:

key = '5'; /*нажата клавиша "5"*/

break;

 case 0xBD:

key = '6'; /*нажата клавиша "6"*/

break;

 case 0x7D:

key = '7'; /*нажата клавиша "7"*/

break;

 case 0xEB:

key = '8'; /*нажата клавиша "8"*/

break;

 case 0xDB:

key = '9'; /*нажата клавиша "9"*/

break;

 case 0xBB:

key = 'A'; /*нажата клавиша "A"*/

break;

 case 0x7B:

key = 'B'; /*нажата клавиша "B"*/

break;

 case 0xE7:

key = 'C'; /*нажата клавиша "C"*/

break;

 case 0xD7:

key = 'D'; /*нажата клавиша "D"*/

break;

 case 0xB7:

key = 'E'; /*нажата клавиша "E"*/

break;

 case 0x77:

key = 'F'; /*нажата клавиша "F"*/

break;

 default:

key = 'Z';

 } /*конец распознавание кода клавиши*/

 return(key);

}

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

Представленный программный код не является полностью завершенной рабочей программой, поскольку в нем отсутствуют элементы защиты от дребезга контактов, отсутствует текст функции вывода символов на ЖК дисплей. Мы исправим эти недостатки несколько позже, в разделе 5.6.

5.3. Устройства индикации: светодиоды, семисегментные индикаторы, индикаторы логического выхода с тремя состояниями

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

5.3.1. Светодиоды

В процессе наладки любой микропроцессорной системы крайне удобно использовать светодиоды для индикации состояния тех или иных логических выходов. Светодиод имеет два вывода: анод (+) и катод (–). Для того, чтобы светодиод излучал, напряжение между анодом и катодом должно быть положительным. Светодиоды характеризуются двумя основными параметрами: рабочим током и напряжением прямого смещения. Типичные значения рабочих токов светодиодов лежат в диапазоне от 10 до 15 мА, при этом прямое падение напряжения составляет 1,5 В.

  • Читать дальше
  • 1
  • ...
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: