Informatics Point

Информатика и проектирование

Исходный текст программы на языке ассемблера с комментариями

; Программа реализации БИХ фильтра в транспонированной форме

. version 50

. global BUFFER2

. mmregs

; Задание значений символов, используемых в программе

OUTPORT. set51h. set50h

. data

; данные для фильтра. word0. word0. word 32768*5403/10000; масштабный множитель первого звена 0.5403. word 32768*9500/10000; масштабный множитель первого звена 0.95

. sect"KOFVAR"

; коэффициенты первого звена

B01. word32768*3245/10000. word32768*1/10000. word- (32768*3245/10000). word32768*2776/10000. word- (32768*6399/10000)

; второе звено

B02. word32768*3245/10000. word32768*4918/10000. word32768*3245/10000. word- (32768*4167/10000). word- (32768*8322/10000)

; переменные фильтра

; первое звено. word 0; входной отсчет. word 0; промежуточное значение. word 0; промежуточное значение. word 0; промежуточное значение. word 0; выходной отсчет звена

; второе звено. word 0; входной отсчет. word 0; промежуточное значение. word 0; промежуточное значение. word 0; промежуточное значение. word 0; выходной отсчет звена

. sect "Vectors"

; Таблица векторов прерыванийSTART; INT1 внешние прерывания; INT2; INT3; TINT прерывание по таймеру

. sect"Initmain"

; Инициализация процессора и основная программа:

; установка режимов работы; запрет прерываний на время установки режимов работы; режим переполнения; режим сдвига значений при передаче (PREG) - >АЛУ; режим расширения знака#0; установка разрешения необходимых прерываний

SPLK#1200,PRD; вводим таймер#1200,TIM; таймер

SPLK#08h, IMR; с интервалом 2000 тактов:; основная программа - бесконечная петля ожидания

; прихода запроса на прерывание

; подпрограмма прерывания, которая состоит из трех основных частей

. sect"Vvod":

; ввод отсчета#INAD

ININAD, INPORT

; умножение входного отсчета на ММ

LT INAD#IN1

SPHIN1

. sect "Filter"

; вычисление выходного отсчета

ZAP; (ACC) = (PREG) = 0S31; (S31) - > регистр TB21; (S31) * (B21) - > PREGS21; предыдущее (PREG) + (ACC) - > ACC, (S21) - > T

MPY

B

11; (

S

21) * (

B

11) - >

PREG

APAC; предыдущее (PREG) + (ACC) - > ACC; (ACC) <-> буфер BCC

LACCIN1,16; (IN1) - > ACC

LT S31; (S31) - >T; (S31) * (A21) - > PREG; предыдущее (PREG) + (ACC) - > ACC, (S21) - > T

MPYA11; (S21) * (A11) - > PREG; предыдущее (PREG) + (ACC) - > ACC

SACHS11; сохранение S11S11; (S11) - > T

MPYB01; (S11) * (B01) - > PREG

EXAR; (ACC) <-> буфер BCC

APAC; предыдущее (PREG) + (ACC) - > ACC

SACH OUT1; сохранение выходного отчетаS21; сдвиг (S21) - > S31S11; сдвиг (S11) - > S21

; 2-ое звено

LT OUT1; (OUT1) - > регистр T

LDP #MM2MM2#IN2IN2S32B22S22B12,16S32S12OUT2S22S1

. sect "Vivod"

; Вывод выходного отсчета фильтра

LACCOUT2#OUTAD

OUT OUTAD,OUTPORT; разрешение прерывания до следующего отсчета

. end

Лучшие статьи по информатике

Расчет тиристорного преобразователя
1. Техническое задание на проектирование Данные электродвигателя постоянного тока Тип двигателя РН, кВт ...

Проектирование канала сбора аналоговых данных микропроцессорной системы
Применяя микропроцессоры и микро-ЭВМ для контроля за сложными производственными процессами, можно обрабатывать в реальном масштабе времени сигналы, поступаю ...

Применение цифровых фотокамер для осуществления регулярной видеосъемки в образовательных учреждениях
цифровая фотокамера видеосъёмка Современная жизнь диктует новые требования к качеству изобразительного контента. Если в 1980-90 е года черно-белая картинка с ...

Меню сайта