Вывод управляющих сигналов

Формирование статических сигналов

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

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

Управляющие слова удобно формировать командами логических операций над содержимым порта. Команда ANL используется для сброса тех битов, которые в маске заданы нулём. Команда ORL используется для установки битов управляющего слова. Командой XRL осуществляется инверсия бита.

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

Формирование импульсных сигналов

Импульс можно получить последовательной выдачей сигналов включить и отключить с промежуточным вызовом подпрограммы временной задержки:

PULS:;выдача импульса в линию 3 порта 1

ON: ANL P1, #11110111B;включение

CALL DELAY;временная задержка

OFF: ORL P1, #00001000B;отключение

...

Длительность импульса определяется временной задержкой, реализуемой подпрограммой DELAY.

Генерация меандра. В этом случае можно воспользоваться процедурой выдачи импульса PULS и подпрограммой задержки, равной половине периода сигнала DLYX:

MEANDR:

XCOR: CPL P1.3

ACALL DLYX

SJMP XCOR

Бесконечный периодический сигнал формируется в линии 3 порта 1. На остальных линиях сигналы остаются неизменными.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: