Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Обробка події натискання кнопки






 

В технічних системах різноманітного призначення події в об'єкті управління фіксуються за допомогою різноманітних датчиків цифрового і аналогового типів.

Найбільше розповсюдження мають двійкові датчики типу ТАК/НІ, наприклад кінцеві вимикачі (датчики закінчення паперу або рядка в принтері і т. п.). Сигнали на виходах таких датчиків представляють собою звичайні дискретні статичні сигнали, що змінюються або від " 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:

Синтаксис BTFSC f, b
Опис: Якщо біт 'b' у регістрі 'f дорівнює '1', то виконується наступна інструкція. Якщо біт 'b' у регістрі 'f дорівнює '0', то наступна інструкція не виконується, команда виконується за два цикли. У другому циклі виконується NOP.
Приклад 1: HERE BTFSC FLAG, 4 FALSE GOTO PROCESS_CODE TRUE □ До виконання команди PC = адреса HERE FLAG = xxx0 xxxx Після виконання команди FLAG< 4> = 0, PC = адреса TRUE
Випадок 1 До виконання команди PC = адреса HERE FLAG = xxx1 xxxx Після виконання команди FLAG< 4> = 1, PC = адреса FALSE

Перевірити біт b у регістрі f, пропустити наступну команду, якщо біт b містить 1:

Синтаксис: [BTFSS f, b
  Якщо біт 'b' у регістрі 'f дорівнює '0', то виконується наступна інструкція. Якщо біт 'b' у регістрі 'f дорівнює '1', то наступна інструкція не виконується, команда виконується за два цикли. У другому циклі виконується NOP.
Приклад 1: HERE BTFSS FLAG, 4 FALSE GOTO PROCESS_CODE TRUE □ До виконання команди PC = адреса HERE FLAG = xxx0 xxxx Після виконання команди FLAG< 4> = 0, PC = адреса FALSE
Випадок 1 До виконання команди PC = адреса HERE FLAG = xxx1 xxxx Після виконання команди FLAG< 4> = 1, PC = адреса TRUE

 

Приклад:

(pc) M1: BTFSS STATUS, Z

(pc+1) GOTO M1

(pc+2) наступна команда

Навиконання наступної команди мікроконтролер перейде тільки тоді, коли тригер нульового результату Z буде містити логічну «1».

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.