Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Обробка події натискання кнопки
В технічних системах різноманітного призначення події в об'єкті управління фіксуються за допомогою різноманітних датчиків цифрового і аналогового типів. Найбільше розповсюдження мають двійкові датчики типу ТАК/НІ, наприклад кінцеві вимикачі (датчики закінчення паперу або рядка в принтері і т. п.). Сигнали на виходах таких датчиків представляють собою звичайні дискретні статичні сигнали, що змінюються або від " 0" до " 1", або від " 1" до " 0". Даний тип сигналів є також найбільш розповсюдженим і серед сигналів управління, що формуються мікроконтролером. Найчастіше мікроконтролери працюють не з одиночним датчиком, а з групою автономних (логічно незалежних) або взаємозв’язаних (що формують двійковий код) датчиків. Вихідні сигнали мікроконтролерів також часто представляють собою паралельні двійкові коди (наприклад, при індикації даних, передачі їх в ПЕОМ і т.д.). Достатньо часто від датчиків надходять імпульсні сигнали або їхні послідовності. Причому, останні ще інколи називають «число-імпульсними» сигналами (ЧІС). Прикладом таких сигналів можуть бути ЧІС, що надходять в мікроконтролер з електромеханічної частини пристрою типу «мишка», що є на сьогоднішній день невід'ємною частиною будь-якої ПЕОМ, від датчиків оборотів двигунів, турбін і т. п. Імпульсні сигнали і їхні послідовності також достатньо часто використовуються в якості керуючих сигналів. Різновидом таких сигналів є сигнали з широтно-імпульсною модуляцією (ШІМ). В такій послідовності сигналів можуть змінюватися за деякий відрізок часу як тривалість імпульсів (tі), так і пауза між ними (tп). Датчики можуть формувати як цифрові сигнали, розглянуті вище, так і аналогові сигнали у вигляді струму або напруги. В цьому випадку на входах мікроконтролера необхідно ставити аналого-цифрові перетворювачі (АЦП) або використовувати МК, що мають вмонтовані АЦП (наприклад, PIC 16C71 і т. п.). На входах АЦП можуть, при необхідності, використовуватися також підсилювачі, що нормують, фільтри, комутатори та оптронні розв'язки.
Для формування сценаріїїв роботи мікроконтролера, що залежать від вхідних сигналів, необхідно задіювати команду, що опитуватиме присутність (чи відсутність) сигналу на певному вході. Оскільки порти мікроконтролера мають можливість індивідуального (побітного) налаштування, то необхідно задіяти біторієнтовані команди: 1. BTFSC f, b; 2. BTFSS f, b. У біт-орієнтованих командах 'b' визначає номер біта в операції, а 'f - покажчик регістра, що містить цей біт. Команди виконуються за один машинний цикл.
Приклади застосування команд BTFSC f, b, та BTFSS f, b.
Перевірити біт b у регістрі f і пропустити наступну команду, якщо біт b містить 0:
Перевірити біт b у регістрі f, пропустити наступну команду, якщо біт b містить 1:
Приклад: (pc) M1: BTFSS STATUS, Z (pc+1) GOTO M1 (pc+2) наступна команда Навиконання наступної команди мікроконтролер перейде тільки тоді, коли тригер нульового результату Z буде містити логічну «1».
|