Программная реализация интервалов времени

2 способа реализации:

Мнемокод Коммент.
PUSH PSW LXI HL FFFF m3: DCX H MOV A,H ORAL JNZ m3 POP PSW RET A,F Программная реализация интервалов времени - student2.ru в стек x=FFFF HL-1 Если не 0

- использование регистровой пары;

- использование вложенных циклов.

Рассмотрим использование регистровой пары:

Программная реализация интервалов времени - student2.ru =65535*24/2*106=0,8с

Программная реализация интервалов времени - student2.ru =24/2*106

Недостатки: низкая точность формирования сигналов, погрешность равна количеству тактов повторений.

Использование вложенных циклов:

MVI C,FF m4: MVI B,FF m3: DCR B JNZ m3 DCR C JNZ m4

Пример: сформировать линейно возрастающее задающее воздействие.

Начальн.знач. – нулевое, конечное – максимальное восьмиразрядное.

Программная реализация интервалов времени - student2.ru Программная реализация интервалов времени - student2.ru

Мнемокод
T:PUSH PSW MVI C m2: MVI B,FF m1: DCR B JNZ m1 DCR C JNZ m2 POP PSW RET

Программная реализация интервалов времени - student2.ru с

Запишем главную программу:

Мнемокод Коммент.
XRA A NVI H,FF OUT 84 CALL T INR A DCR H JNZ m2 00 Программная реализация интервалов времени - student2.ru A Uзmax Программная реализация интервалов времени - student2.ru H Uз Программная реализация интервалов времени - student2.ru Вывод Программная реализация интервалов времени - student2.ru Uз+1 H-1(счетчик шагов)

Аппаратный умножитель и его применение

В системе команд MSP микроконтроллеров нет команд, производящих умножение и деление. Однако в старших моделях имеется периферийное устройство, с помощью которого можно производить 8-ми и 16-ти разрядные операции умножения. Наличие быстрого аппаратного умножителя с возможностью накопления результата диктуется необходимостью, в ряде случаев, использования MSP микроконтроллеров для цифровой обработки сигналов в реальном времени, например для реализации цифровых фильтров.

Аппаратный умножитель является периферийным устройством и не является частью ЦПУ MSP430. Это означает, что его действия не пересекаются с действиями ЦПУ. Регистры умножителя – это периферийные регистры, которые загружаются и читаются командами ЦПУ.

Программная реализация интервалов времени - student2.ru

Аппаратный умножитель поддерживает операции умножения без знака, умножения со знаком, умножения без знака с накоплением и умножение со знаком и накоплением. Тип операции выбирается адресом, в который записан первый операнд. Аппаратный умножитель имеет два 16-разрядных регистра OP1 и OP2 и три регистра результата RESLO, RESHI и SUMEXT. В регистре RESLO содержится младшее слово результата, в RESHI - старшее слово результата, а в регистре SUMEXT находится информация о результате. Результат может быть прочитан следующей командой после записи в OP2, кроме случая, когда используется косвенный режим адресации.


Виды операции умножения.

В системе команд команда умножения отсутствует, для перемножения двух операндов их помещают в регистры аппаратного умножителя. После этого в регистрах RESL0, RESH1 результата можно прочесть 32 разрядный результат. Младшее слово результата хранится в RESL0, старшее – в RESH1. Первый сомножитель может быть размещен в одном из 4-х регистров, которые определяют вид операции умножения.

Аппаратный умножитель поддерживает:

  • Умножение без знака;
  • Умножение со знаком;
  • Умножение без знака с накоплением;
  • Умножение со знаком и накоплением;
  • 16*16 бит, 16*8 бит, 8*16 бит, 8*8 бит.
Перечень регистров аппаратного умножителя
Регистр Краткое обозначение Тип регистра Адрес Исходное состояние
Операнд один – умножение MPY Чтение/запись 0130h Неизменное
Операнд один – умножение со знаком MPYS Чтение/запись 0132h Неизменное
Операнд один – умножение с накоплением MAC Чтение/запись 0134h Неизменное
Операнд один – умножение со знаком и накоплением MACS Чтение/запись 0136h Неизменное
Операнд два OP2 Чтение/запись 0138h Неизменное
Младшее слово результата RESLO Чтение/запись 013Ah Неопределенное
Старшее слово результата RESHI Чтение/запись 013Ch Неопределенное
Регистр знакового дополнения SUMEXT Чтение 013Eh Неопределенное

Наши рекомендации