Курсовая работа: Обработка сигналов на основе MCS-51

.

POP DPH ; восстановление DPTR

POP DPL ; восстановление DPTR

POP В ; восстановление В

POP A ; восстановление аккумулятора

POP PSW ; восстановление PSW и банка регистров 0

RETI ; возвращение в основную программу

Если SP=1FH, размещение регистров в стеке после входа в подпрограмму обработки будет таким, как показано на рис. 1.

7FH
26H DPH ¬(SP)
25H DPL
24H В
23H А
22H PSW
21H РСН

Указатель

¬(счетчик)

команд PC

20H PCL
1FH
00H

Рисунок 1 – Распределение памяти при вызове подпрограммы

Пример 10. Передать управление одной из восьми подпрограмм при появлении нулевого уровня на соответствующем входе порта 1. Высший приоритет входаР1.3.

ORL P1,#FFH ; настройка Р1 на ввод

L1: MOV А, Р1 ; ввод данных из порта

CPL А ; инверсия аккумулятора

JZ L1 ; ожидание появления первого нуля

JNB Р1.3, SUBR1; переход на первую подпрограмму

JNB P1.4, SUBR2; переход на вторую подпрограмму

…………………………………………

JNB P1.2, SUBR8; переход на восьмую подпрограмму

Порядок приоритетов определяется порядком проверки нулевого уровня на соответствующем входе и может быть любым.

2 Арифметические операции в MCS -51

Пример 11. Сложить десятичные двоично-кодированные числа, размещенные в А и R5:

ADD A, R5 ; двоичное сложение

DA A ; десятичная коррекция результата

Пример 12. Вычитание байтов. Данная операция может выполняться двумя способами: 1) перевести уменьшаемое как отрицательное в дополнительный код и выполнить операцию добавления; 2) перевести уменьшаемое в обратный код и произвести инверсию суммы.

Например, из данных в А необходимо отнять данные регистра R3. Вычитание выполняем по алгоритму:

А ¬

К-во Просмотров: 510
Бесплатно скачать Курсовая работа: Обработка сигналов на основе MCS-51