NOP ; Пустые команды для 4
NOP ; выравнивания длитель- 4
NOP ; ности циклов 4
NOP ; 4
NOP ; 4
NOP ; 4
LP2: IN 01 ;Ввод очередного отсчета xn 10
ADD В ;Вычисление накапливающейся суммы отсчетов 4
DCR С ;Организация счета и за- 5
JNZ LP1 ;цикливание 10
OUT 02 ;Вывод у 10
MVI B,00 ;Обнуление регистра В 7
MVI C,N ;Загрузка константы N 7
JMP LP2 ;Повторение 10
Пустые команды MOV A,A и NOP введены для выравнивания длительностей цикла LP1, в котором рассчитывается частичная сумма, и цикла LP2, в котором рассчитывается окончательная сумма и выводится результат. Для этих длительностей при fт = 2 МГц и N=4 имеем
Время получения одного выходного отсчета, которое складывается из трех циклов LP1 и одного цикла LP2,
Минимальные интервалы дискретизации входного и выходного сигналов 31,5 и 126 мкс, соответственно максимальные частоты 32 и 8 кГц.
Р8.24. Отличие однородного фильтра от однородного фильтра-дециматора из задачи 8.23 состоит в том, что если в последнем необходимо накапливать сумму отсчетов (вплоть до получения суммы N отсчетов), но нет необходимости сохранять сами отсчеты после получения суммы, то в фильтре без децимации необходимо и накапливать сумму, и сохранять N— 1 отсчетов. Программу естественно построить таким образом, чтобы в каждом цикле суммирования все хранимые в памяти отсчеты сдвигались и последняя ячейка освобождалась для нового отсчета. В нижеприведенной программе такая процедура организуется с помощью указателя стека SP и команды МП XTHL, которая позволяет обменивать содержимое регистровой пары HL и двух соседних ячеек памяти, адреса которых содержатся в указателе стека. (В данной программе регистр Н не применяется и поэтому ячейки памяти используются «через одну».)
Программа однородного цифрового фильтра:
FILTER: MVI B,N ;Загрузка в регистр В константы N, 7
;определяющей порядок фильтра
LXI SP,ST ;Загрузка в указатель стека адреса вершины 10
;стека
IN 01 ;Ввод в аккумулятор через порт 01 очередного 10
;отсчета хn
MOV L,A ; Пересылка хnв регистр L 5
LP: XTHL ;Обмен содержимым регистра и ячейки памяти, 18
;адрес которой содержится в указателе стека
ADD L ;Вычисление в аккумуляторе накапливающейся 4
;суммы отсчетов
INX SP ;(SP)¬(SP) + 2 5
INX SP ; 5
DCR В ;Организация цикла сум- 5
JNZ LP ;мирования 10
OUT 02 ;Вывод через порт 02 выходного сигнала yn 10
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.