Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лекция 8. Программирование клавиатуры. Дешифратор




 

Цель работы: создание программ с вводом данных клавиатурой, рассмотрение схем дешифратора и компаратора.

8.1 Клавиатура

Клавиатура используется в реальных программах для ввода данных, инструкций, для изменения алгоритма вычислений. С клавиатуры можно подавать сигнал ’1’ в PORTD, без применения дополнительного источника питания. Сигнал будет обработан микропроцессором, и будут внесены изменения в работу программы.

Рассмотрим схему подключения пленочной клавиатуры (рисунок 8.1). Такая схема продиктована тем, что все кнопки подключаются к одному регистру PORTD. На рисунке приведена, в качестве примера, монтажная схема подключения кнопки с цифрой «1» к PORTD. Разряды RD7, RD6, RD5, RD4 предназначены для подачи сигнала «1». Остальные для приема сигнала. В разряде RD0 по заводской схеме всегда записана «1» т.е. бит RD0 заземлен. Одна клемма кнопки «1» подключена к выводу RD7, а вторая клемма кнопки подключена к выводу RD3. Бит RD7 должен быть запрограммирован на вывод, а бит RD3 - на ввод.

Создадим программу для автоматической окрасочной камеры, выполняющую следующую работу:

- при подаче питания включить световую сигнализацию на пульт оператора L2 и звуковую сигнализацию S1;

- через 2 секунды выключить сирену и включить двигатель краскораспылителя D1, двигатель вентилятора D2 и лампочку L1, сигнализирующую об окраске;

- через три секунды выключить двигатель краскораспылителя D1.

- ещё через 2 секунды выключить вентилятор D2 и лампочку L1;

- в течение одной секунды заменяется заготовка в камере;

- повторить процесс окрашивания новой заготовки, начиная с включения сирены;

- предусмотреть запуск камеры для окрашивания каждой детали кнопками «Пуск» и останов камеры кнопками «Стоп» по месту и с пульта оператора.

Поскольку клавиатура выполнена из упругих материалов, то на одно нажатие кнопки происходит многократное замыкание и размыкание контактов, называемое дребезгом контактов. Дребезг конта5тов вносит неопределенность в работу программы, приходится принимать меры, чтобы сработал только первый импульс, т.е. только первое замыкание контактов.

Роль кнопок клавиатуры в программе и их расположение. “5” - Кнопка Pusk1 на пульте; “6” - Кнопка Pusk2 по месту; “Shift”- Кнопка Stop1 на пульте; “9” - Кнопка Stop2 по месту. К биту 1 PORTD подключена кнопка K1, к биту 7 кнопка K7. Кнопки имитируют реальное оборудование.
Рисунок 8.1 – Схема клавиатуры  

 

Дребезг контактов клавиатуры убирается разными способами, например, включением подпрограммы Timer или запретом поступления импульса в ЦПУ. Кнопка Stop в данной программе находится в подпрограмме Timer. Выключение оборудования кнопкой здесь возможно, потому что при выполнении программы, МК практически все время находится во внутреннем цикле подпрограммы Timer. При других алгоритмах такой вариант выключения невозможен, необходимо предусматривать прерывание.

8.2 Фрагменты программы.

; ниже инструкции для настройки PORTD выделены курсивом.

CLRF TRISC

MOVLW b'00001111'

MOVWF TRISD; настраиваем PORTD: биты 0-3 на ввод, 4-7 на ввод.

BCF STATUS, 5

CLRF PORTC

Рабочая часть программы.

MOVLW B'11110000'

MOVWF PORTD; подаем питание на выводы клавиатуры.

MOVLW B'10000000'

MOVWF PORTC; включаем сигнализацию наличия питания на пульт.

Sled_det BTFSS PORTD, 2; проверяем нажатие кнопок Pusk1 и Pusk2.

GOTO Sled_det; если кнопка еще не нажата, повторяем проверку.

BSF PORTC, 0; включаем звуковую предупреждающую сигнализацию.

MOVLW d'40'; задаем время работы сигнализации S1.

CALL Timer

Далее идут команды для управления технологическим процессом.

GOTO Sled_det; переход на метку Sled_det для нового запуска камеры.

GOTO $; разделитель основной программы и подпрограмм.

Timer; в подпрограмме показан только внутренний цикл с кнопками Stop.

M_in; Метка внутреннего счетчика.

BTFSC PORTD, 1; проверяем нажатие кнопки Stop1 или Stop2.

GOTO Stop; если нажата, переход к инструкциям останова камеры.

DECF Sch_in, F; Уменьшаем значение счетчика Sch_in на 1.

BTFSS STATUS, Z; если Sch_in равно нулю (Z=1), пропускаем GOTO.

GOTO M_in; срабатывает только при Z=0.

....

RETURN

Stop CLRF PORTC; останов работы окрасочной камеры.

END; конец текста всей программы.

8.3 Дешифратор

Изображенные на рисунке 8.2 микросхемы, содержащие определенным образом соединенные элементы И-НЕ, являются типичным примером интегральных микросхем средней степени интеграции. Если вспомнить, что на выходе элемен­та И-НЕ логический 0 присутствует только в том случае, если на всех его входах присут­ствует логическая 1, то можно увидеть, что при любых сочета­ниях сигналов на входах выборки BA сигнал логический 0 будет при­сутствовать на выходе только одного вентиля. Так, выход Y1 будет активным (активным здесь считается значение 0) при АВ=102. После рассмотрения таблицы истинности становится понятно, что данная схема декодирует двоичное число ВА таким образом, что при подаче числа N становится активным только выход Yn. Вход разрешения G подключен параллельно ко всем элементам. Таким образом, дешифратор выполняет свои функции только в том слу­чае, если на входе G присутствует низкий уровень (логический 0). Если на входе G присутствует высокий уровень, то независимо от состояния входов В и А (в таблице истинности эта ситуация обозначается символом «X» — безразличное состояние) все выходы устанавливаются в неактивное состояние (логический 0).

Рисунок 8.2 – Схема дешифратора и таблица истинности

8.4 Компаратор

Матрица логических элементов, показанная на рисунке 8.3, используется для обнаружения ра­венства между двумя 8-битными числами Р и Q. Каждый из восьми элементов Исключающее ИЛИ-НЕ формирует логический 1, если оба входных бита РN и QN одина­ковы. Соответственно, низкий уровень на выходе элемента И-НЕ появится только в том случае, если все 8 пар битов одинаковы. Микросхема компаратора обычно имеет также вход G, сигнал с которого подается на один из входов элемента И-НЕ и выполняет функ­цию глобального разрешения.

На условном обозначении микросхемы по стандарту ANSI/IEC, функция сравнения указывается аббревиатурой СОМР.

Рисунок 8.3. Микросхема 8-битного компаратора




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 762; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.