Технология цифровой связи

Проектирование цифровой линии

Логические операции в MCS-51

Пример 18. Вывод управляющих сигналов из МК.

Формирование статических сигналов используется для управления исполнительным механизмом по принципу «включен-выключен». При этом соответствующие линии портов просто устанавливаются в 0 или 1.

Если имеем группу исполнительных механизмов, то для их управления необходимо сформировать управляющее слово (УС), каждый бит которого – соответствующий управляющий сигнал.

Для изменения УС достаточно выполнять логические операции над теми битами портов, которые необходимо изменить.

Например: ANL – для сброса тех битов УС, какие заданные нулями

ORL – для установки бит

XRL – инверсия бит по времени

Пример 19. Определение переполнений. При накоплении большого количества слагаемых может возникнуть переполнение разрядной сетки. Для определения этого используют модифицированный дополнительный код, который отличается от обычного дополнительного введением дополнительного знакового разряда. При добавлении k слагаемых таких разрядов должно быть r = log2 k.

Признаком переполнения служит отличие знаковых разрядов. Отметим, что использование r знаковых разрядов суживает диапазон изменения сигналов в 2r раз.

Пример 20. Сбросить биты 0,2,4,6 порта 2:

ANL Р2,#10101010В; сбрасывание бит 0,2,4,6 порта 2

Пример 21. Установить биты 0…3 из порта 1

ORL P1.#00001111В; (P1.0…P1.3) ¬ 1111

Можно также записать

ORL P1,#0FH

Пример 22. Выбрать нулевой регистровый банк:

ANL PSW,#11100111В; сбрасывание бит RS0 и RS1

Пример 23. Проинвертировать биты порта Р1, которые отвечают единичным битам в аккумуляторе:

XRL Р1, А ; сумма по модулю два значения порта 1 и аккумулятора

Пример 24. Проинвертировать биты 7,6,5,4 порта 0:

XRL Р,#11110000В; сумма по модулю два значений порта 0 и константы

Можно также записать XRL Р0, #0F0H

Пример 25. Проинвертировать биты 0…3 в аккумуляторе:

XRL A,#0FH ; сумма по модулю два значения аккумулятора и константы

Пример 26. Настроить биты 1,3,5,7 порта 1 на ввод:

ORL Р1,#10101010В; установление P1.1, P1.3, Р1.5, Р1.7

Пример 2 Маскировка данных при вводе. Ввести в регистр R3 информацию из линий 1,3,5,6,7 порта 1:

MOV А, Р1 ; ввод байта с Р1

ANL А,#11101010В; маскировка

MOV R3, А ; передача в R3

Пример 28. Выполнить логический сдвиг вправо двухбайтового числа, которое размещено в R5, А:

SHIFTR: CLR С ; сбрасывание переноса

CPL С ; установление переноса

ХСН А, R5 ; обмен байтами

JNB А.7, L1 ; если R5.7=1, то снять флажок переноса

CLR C

RRC A ; сдвиг флажка переноса

L1: XCH A, R5 ; обмен

RRC A ; сдвиг младшего байта

Пример 29. Выполнить сдвиг влево двухбайтового числа, которое размещено в R5 и А:

SHIFT L: RLC А ; сдвиг младшего байта

XCH А, R5 ; обмен А и R5

RLC A ; сдвиг старшего байта

XCH А, R5 ; обмен

Пример 30. Управление группой бит порта.

В РПД находится массив распакованных десятичных цифр. Необходимо передать их внешнему устройству в соответствии с протоколом (рис. 2). Для передачи 4-х бит данных используются младшие линии порта 1. Линии Р1.4 и Р1.5 используются как сигналы квитирования, то есть передачу сигналов на выход МК сопровождает стробирующий сигнал на линии Р1.4. Внешнее устройство, которое приняло данные, сообщает об этом сигналом на входе Р1.5. Биты Р1.6 и Р1.7 не должны изменять своих значений.

Исходные данные программы: начальный адрес массива – (R0), длина массива – (R1).

ORL P1, #00100000В; настройка

; Р1.5 на ввод

LOOP: MOV A, @R0; загрузка байта

; в аккумулятор

ANL P1,#11100000В; сброс данных

; и строба

ORL P1, A ; выдача данных

ORL P1,#00010000В; выдача строба

WAIT: JNB Р1.5, WAIT; ожидание ответа

INC R0 ; продвижение указателя адреса

JNZ Rl, LOOP ; цикл, если не все данные переданные


Другое по теме:

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