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

Полученный результат находится на месте начального числа и занимает в РПД на 1 байт больше. Время вычисления произведения составляет (1+13N) мкс, где N – длина числа в байтах.

Пример 16. Деление (DIV) – делится содержимое аккумулятора на значение в В. После деления в А находится целая часть, в В-остаток. Команда может быть использована для быстрого преобразования двоичного числа в двоично-десятичный формат.

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

MOV B,#100D ; (B) ¬ 100 для вычисления числа сотен в числе

DIV AB ; в А є число сотен (то есть старшая цифра)

MOV R0, A ; пересылка в R0 старшей цифры

ХСН А, В ; пересылка остатка от деления входного числа в А

MOV B,#10D ; (В)¬10 (определяется число десятков в числе)

DIV AB ; в А – число десятков, В-число единиц

SWAP A ; размещение числа десятков в старшей тетраде А

ADD А, В ; суммирование остатка (числа единиц) аккумулятор сохраняет две младших цифры.

Время преобразования – 16 мкс.

Пример 1 Сравнение двух четырехразрядных чисел, которые подаются на входы порта Р2.

Сигнал равенства выводится на Р1.1, большее – Р1.2, меньшее Р1.3, разрешение сравнения подается на Р1.0.

ANL P1,#11110001В ; сброс всех сравнений

L0: JNB Р1.0, L0 ; ожидание разрешения

MOV A, P2

ANL A,#F0H ; выделение первого числа

SWAP A

MOV В, A ; запоминание первого числа

CLR C ; сброс переноса

MOV А, P2

ANL A,#0FH ; выделение второго числа

SUBB А, В ; вычисление В

JZ LR ; переход, если А=В

JC LL ; переход, если А<В

SETB P1.2 ; результат А>В

JMP EXIT

LR: SETB P1.1 ; результат А=В

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