8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 23 24 25 26 27 28 29 ... 39

Схема RS-триггера на вентилях «И-НЕ»

(Состояние на выходе равно О только в том случае, когда на обоих входах вентиля «И-НЕ» присутствует «1») Таблица истинности Ценное свойство

А

В

X

0

0

1

0

1

1

1

0

0

1

1

*

Состояние на выходе Хне изменяется при изменении состояния навходахАиВс«10» или «01» на «11»

* Сохраняется предыдущее состояние

Рис. 7.20. RS-триггер на элементах «И-НЕ»

Когда подвижный контакт 3-контактного переключателя находится в среднем положении, не касаясь неподвижных контактов, на обоих входах А и В триггера сигнал равен «1», так как на них через резисторы подается напряжение +5 В от источника питания. При перемещении подвижного контакта к одному из неподвижных контактов будет наблюдаться дребезг именно на этой паре контактов, что приведет к многократному чередованию сигналов «О» и «1». Так как при этом на разомкнутом контакте сигнал равен «1», на выходе X сохранится то состояние, которое установилось в момент первого замыкания этой пары контактов, то есть влияние дребезга на выходе схемы не обнаруживается. Если выход X такой схемы подсоединить к порту ввода микрокомпьютера, изменение состояния контактов переключателя будет вводиться в микрокомпьютер безошибочно.

У gПоддерживать оптимальное со-

ЗАДАЧА № 4 -стояние какого-либо сложного объ-

ПРОГРАММАекта управления на основе его мате-

С ИСПОЛЬЗОВАНИЕМ матической модели, то есть исполь-ТАБЛИЦЫ ДАННЫХ3УЯ систему уравнений, описываю-

щих поведение объекта при воздействии на него различных факторов, - достаточно трудная задача. Даже если мы, в совершенстве овладев теорией, составим «идеальный» алгоритм управления, то из-за чрезмерной сложности программы может многократно возрасти нагрузка на микрокомпьютер. Соответственно время вычислений увеличится, и работа контроллера станет неэффективной.

В подобных случаях, не прибегая к усложнению алгоритма программы, можно обеспечить достаточно высокую эффективность системы управления путем применения метода поправок, вносимых в работу объекта управления, зависящих от величины и знака отклонения некоторого набора контролируемых параметров. Эти поправки определяются опытным путем и оформляются в виде таблиц, в соответствии с которыми микрокомпьютер формирует сигналы управления.

Так, в контроллере системы впрыска двигателя автомобиля, рассмотренной нами в первой главе (Рис. 1.6), управление осуществляется путем впрыска дополнительной порции топлива, объем кото-Рой определяется в зависимости от сигналов различных датчиков


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

В качестве простого примера управляющей программы, использующей таблицу данных, рассмотрим следующую задачу.

- Задача № 4 -

Задана таблица соответствия между 4-разрядными входными данными и временем свечения светодиода. При замыкании переключателя считываются входные данные и зажигается светодиод. Время в секундах, в течение которого он светится, равно произведению соответствующего значения из таблицы на 0.1

Чтобы понять смысл задачи, давайте сначала разберемся в работе схемы, представленной на Рис. 7.22. На схеме показаны порты ввода-вывода микропроцессора. К 7-му разряду порта ввода (адрес ОАОН) присоединен кнопочный выключатель, с помощью которого подается сигнал начала процедуры управления. На входы порта ввода, соответствующие разрядам с 0-го по 3-й, подаются входные данные (4-разрядные двоичные коды). К выходу 0-го разряда порта вывода (адрес 0А1Н) через инвертор подключен светодиод, который загорается, когда сигнал на выходе этого разряда равен «1».

Теперь, когда мы ознакомились со схемой подключения цепей внешних устройств к портам ввода-вывода, можно сформулировать задачу для микрокомпьютера, которая состоит в том, чтобы устанавливать продолжительность свечения светодиода в зависимости от сигнала на входах 10...1з- Эта зависимость задана с помощью таблицы (Табл. 7.1), в первой колонке которой даны числовые значения сигнала на входе порта ввода, а во второй - соответствующие им временные множители, определяющие продолжительность работы светодиода.

Время свечения светодиода (в секундах) должно быть равно значению множителя, приведенного во второй колонке таблицы, ум-

Рис. 7.22. Подача и считывание данных из портов ввода-вывода

Таблица 7.1. Таблица данных

4-разрядный входной сигнал 1 Множитель

(двоичное число) (шестнадцатеричиое число)

0(0000)

100 (64)

1 (0001)

95 (5F)

2(0010)

90 (5А)

3(0011)

75 (4В)

4(0100)

65 (41)

5(0101)

60 (ЗС)

6(0110)

55 (32)

7(0111)

40 (28)

8 (1000)

35 (23)

9(1001)

30 (1Е)

10(1010)

25(19)

11 (1011)

20(14)

12(1100)

18(12)

13(1101)

16(10)

14(1110)

14 (0Е)

1 15(1111)

12 (ОС)

ноженного на 0.1. Загрузку табличных значений временных множителей в память микрокомпьютера будем производить начиная с некоторого адреса в той же последовательности, в которой они приведены в Табл. 7.1 (100, 95, 14, 12).


Таким образом, значение временного множителя, соответствующее некоторому двоичному числу на входе порта ввода, будет размещаться по адресу, равному сумме этого числа и начального адреса таблицы. В программе нужно указать, начиная с какого адреса загружается таблица.

Схема алгоритма управления светодиодом, состоящая из 9 блоков, изображена на Рис. 7.23.

Блок 1: проверка состояния контактов кнопочного выключателя, замкнутое состояние которых должно стать сигналом к началу процедуры.

Блок 2: из порта ввода считываются входные данные.

Блок 3: в пару регистров H-L, используемых в качестве указателя, заносится начальный адрес таблицы данных.

Блок 4: к текущему значению адреса прибавляется содержимое порта ввода.

Блок 5: содержимое ячейки памяти (временной множитель) по адресу, полученному в результате операции сложения и записанному в парный регистр H-L, загружается в регистр В.

Блок 6: подается команда на включение светодиода.

Блок 7: отработка цикла задержки 0.1 с.

Блок 8: из содержимого регистра В вычитается 1. Если в результате операции вычитания содержимое регистра В не стало равно 0, повторяется цикл задержки с последующим вычитанием 1 из содержимого регистра В. Поскольку в регистр В был загружен временной множитель (соответствующий данной комбинации входных сигналов порта ввода), количество циклов задержки будет равно значению временного множителя.

Блок 9: отработка команды выключения светодиода и возврат в состояние ожидания замыкания контактов кнопочного выключателя.

Текст программы на языке ассемблера, соответствующей рассмотренному алгоритму, представлен на Рис. 7.24. Фигурными скобками с цифрами, как и ранее, обозначены соответствующие блоки алгоритма.

В этой программе много функциональных блоков, идентичных тем, которые мы рассматривали в предыдущих задачах. Поэтому вам не составит особого труда разобраться в ней. Однако будет нелишним сделать несколько пояснений. Команда «AND 0FH» в блоке 2 нужна для того, чтобы, сохранив значения четырех младших разрядов введенных данных, обнулить все остальные разряды.

©

В пару регистров H-L загружается начальный адрес таблицы данных

I

К содержимому H-L прибавляются входные данные

©

Содержимое памяти по адресу, находящемуся

в регистрах H-L, загружается в регистр В

Зажигается светодиод

Задержка 0.1с

Гаснет светодиод

г

Рис. 7.23. Схема алгоритма к задаче № 4



0 ... 23 24 25 26 27 28 29 ... 39