НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 66676869707172 ... 159


switch (PORTB & OxOOF) { Поиск нажатой клавиши, case ОхООЕ: Строка 0.

key = i; break;

case OxOOD: Строка 1.

case OxOOC:

key = 0x04 + 1;

break;

case OxOOB: Строка 2.

case OxOOA; case 0x009: case 0x008;

key = 0x08 + i;

break;

else Строка 3.

key = OxOC + i; break;

} Окончание switch,

if (key == KeySave) {

keycount = keycount + 1); Инкрементирование счетчика, if (keycount == 4)

keyvalid = key; Устранение дребезга.

} else

keycount = 0; Совпадения нет - начать

с начала.

KeySave = key; Текущее значение клавиши

сохраняется в течение 5 мс.

} Запоминание кода клавиши.

Данная программа позволяет задавать для каждой клавиши так называемый скан-код. Это значение будет возвраш;аться, если программа зарегистрирует его четыре раза подряд. Таким образом программа позволяет устранить влияние дребезга контактов клавиши в процессе сканирования: если указанное значение не изменяется в течение четырех временных интервалов (обш;ей продолжительностью 20 мс), предполагается, что влияние дребезга контактов полностью устранено.

ОБЪЕДИНЕНИЕ ВХОДОВ И ВЫХОДОВ

При подключении PIC-микроконтроллеров к устройствам, которые могут быть как приемниками, так и передатчиками данных (например, к запоминаюш;ему устройству, имеющему независимые вход и выход), для исключения конфликтных ситуаций на линии на



одном из выходов следует использовать дополнительный развязывающий резистор (рис. 8.10).

Микроконтроллер

10 К

Устройство ввода/вывода { Вывод данных

{ Ввод данных

Рис. 8.10

Схема двунаправленной линии

Это может касаться и кнопок (клавиш), непосредственно соеди-неных с линиями ввода/вывода Р1С-микроконтроллера (рис. 8.11).

Микроконтроллер

100 К

Устройство ввода/вывода

£ Ввод/вывод данных

Рис. 8.11

Схема подключения кнопки к линии передачи цифровой информации СХЕМА ЭМУЛЯЦИИ ВЫВОДА

С ОТКРЫТЫМ КОЛЛЕКТОРОМ/ОТКРЫТЫМ стоком

Схема вывода с открытым стоком для PIC-микроконтроллеров показана на рис. 8.12.

Подобные выводы имеются во многих устройствах и используются для выполнения самых разных операций. Их работа может эмулироваться и обычным выводом с помощью приведенной ниже про-{>аммы. Программа устанавливаетнизкий уровень на выходе, когда йт переноса сброшен, и задает выводу режим входа, когда бит переноса установлен:



- Регистр i TRIS

Запись в порт

- Регистр PORT

<1

Чтение из порта Рис. 8.12

Схема вывода с открытым аоком

PORT#,

Обнуление линии порта

STATUS,

btfss

STATUS,

Если есть перенос,

выход с открытым стоком запрещен

goto

S + 4

Если перенос отсутствует -разрешен.

TRIS ~

0x080,

goto

S + 3

TRIS ~

0x080,

goto

S + 1

STATUS,

УПРАВЛЕНИЕ СВЕТОДИОДНЫМИ ИНДИКАТОРАМИ

Схема, поясняющая принцип управления светодиодными индикаторами, показана на рис. 8.13. Светодиодный индикатор (Light Emitting Diode) зажигается в тех случаях, когда для использующегося в качестве выходного вывода микроконтроллера, соединенного с катодом светодиода, задан логический О (потенциал «земли»). При подаче на этот вывод логической I светодиодный индикатор отключается.

Многосегментные светодиодные индикаторы

Семисегментные свет.одиодные индикаторы (рис. 8.14) также могут использоваться в вышеупомянутой схеме и не требуют каких-либо существенных изменений программного обеспечения. Включая определенные сегменты этого индикатора можно отображать на соответствующем индикационном табло десятичные цифры.



0 ... 66676869707172 ... 159