КАТЕГОРИИ: Архитектура-(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тов вносит неопределенность в работу программы, приходится принимать меры, чтобы сработал только первый импульс, т.е. только первое замыкание контактов.
Дребезг контактов клавиатуры убирается разными способами, например, включением подпрограммы 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; Просмотров: 799; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |