JMP FILTER ;Переход к вычислению следующего 10
;значения уn
ST: xn ;
ST + 2 xn – 1 ;
ST + 4: xn – 2 ; Отсчеты сигнала
………………………………………;
ST + 2(N – 1):xn – (N – 1)
Длительность вычисления выходного сигнала уn
.
При fт = 2 МГц и N=4 tф=120мкс.
Следовательно, максимальная частота дискретизации сигнала
fд = 1/tФ = 8,3 кГц
Р8.25. При суммировании отсчетов здесь может произойти переполнение регистров МП. Поэтому в программах необходимо предусмотреть использование регистровых пар и суммирование с помощью команды DAD.
Р8.26. В обоих случаях — как после команды RST, так и после команды CALL — нарушается естественный порядок выполнения команд и осуществляется переход к подпрограмме адресом, указанным в командах RST и CALL, причем адрес возврата запоминается в стеке, но команда RST подается от внешнего устройства (например, от контроллера прерываний) “аппаратным” путем, а команда CALL содержится в программе, хранящейся в ЗУ.
Р8.27. Команда RST подается в МП по ШД от внешнего устройства (контроллера прерываний или блока приоритетных прерываний), обеспечивает прерывание и запоминание в стеке прерванного процесса, а также определение в МП начального адреса подпрограммы обслуживания прерываний. Схема работы МП в режиме прерываний после получения команды RST показана на рис. 8.6.
Команда RST содержит в третьем — пятом битах один из восьми возможных «уровней» прерывания n = N5N4N3 соответствующий одной из восьми возможных подпрограмм обслуживания прерываний. В счетчике команд фиксируется адрес 8n, который можно было бы использовать как начальный адрес подпрограммы, однако, поскольку интервал между адресами 8n и 8(n+1) составляет всего восемь ячеек памяти, а подпрограмма занимает, как правило, больший объем, по адресу 8n обычно располагается команда безусловного перехода JMP В2В3, которая и содержит начальный адрес подпрограммы áВ3ñ áВ2ñ = m.
Возврат к основной программе после выполнения подпрограммы происходит по команде RET; при этом используется адрес, сохраненный в стеке при выполнении команды RS1
Р8.28. Команды EI и DI соответственно разрешают и запрещают прерывания; их включают в различные точки основной программы и подпрограммы обслуживания прерываний в соответствии с алгоритмом решаемой задачи (см. рис. 8.6).
В начале подпрограммы обслуживания прерываний команда DI не ставится, так как при переходе к обслуживанию прерываний новые прерывания автоматически запрещаются впредь до подачи команды EI. Команда разрешения прерываний EI перед началом содержательной части подпрограммы ставится в том случае, если имеются несколько подпрограмм с разными приоритетами. В этом случае во время выполнения подпрограммы контроллер прерываний может выдать новую команду RST, и МП перейдет к обслуживанию другой подпрограммы с большим приоритетом.
Команды PUSH позволяют сохранить в стеке содержимое аккумулятора, РОНов и регистра признаков при переходе к обслуживанию прерываний, а команды POP — восстановив их содержимое перед возвратом к основной программе. Каждая из этих команд позволяет оперировать сразу двумя байтами (содержимым регистровой пары). В подпрограмме обслуживания прерываний целесообразно сохранять и восстанавливать содержимое только тех регистров, которые используются и в ней, и в основной программе.
Во время исполнения команд PUSH и POP должен обеспечиваться запрет прерываний.
Р8.29. Подпрограмма обработки прерываний:
DЕТ: РUSН РSW ;Сохранение в стеке содержимого аккумулятора и
;регистра признаков
IN 05 ;Ввод числа из порта 05
АNI 80 ;Выделение знака (старшего бита) числа
JNZ М1 ;Проверка знака числа, обход вывода при
;отрицательном знаке
OUТ 07 ;Вывод числа в порт 07
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.