Global Informatics
Реализация разностного уравнения на языке Assembler имеет вид:
; РАСЧЕТ РАЗНОСТНОГО УРАВНЕНИЯ
; Y (k) = 1*X (k) - 3*X (k-1) + 3*X (k-2) - 1*X (k-3) - 1,39Е-2*Y (k) + 3,99Е-2*Y (k-1) - 3,86Е-2*Y (k-2) + 1,26Е-3*Y (k-3)
; X - входной сигнал
; Y - выходной сигнал
A1 EQU 1; задаем постоянные коэффициенты
А2 EQU 3; задаем постоянные коэффициентыEQU 3; задаем постоянные коэффициенты
А4 EQU 1; задаем постоянные коэффициенты
А5 EQU 1,39Е-2; задаем постоянные коэффициенты
А6 EQU 3,99Е-2; задаем постоянные коэффициенты
А7 EQU 3,86Е-2; задаем постоянные коэффициенты
А8 EQU 1,26Е-3; задаем постоянные коэффициенты
X0 DB 0; выделение места под Х (k)
X1 DB 0; выделение места под X (k-l)
X2 DB 0; выделение места под X (k-2)
X3 DB 0; выделение места под X (k-3)
Y0 DB 0; выделение места под Y (k)
Y1 DB 0; выделение места под Y (k-1)
Y2 DB 0; выделение места под Y (k-2)
Y3 DB 0; выделение места под Y (k-3)
i port EQU 11h; номер порта для чтения
o port EQU 12h; номер порта для записи
start: метка начала цикла коррекции
in al, i port; читаем из порта данные
MOV X0,al;
MUL a1,A1; вычисление слагаемого А1*X (k)
MOV b1,a1; сохранение результата в b1
MOV a1,X1;
MUL a1,A2; вычисление слагаемого А2*X (k-1)
SUB b1,a1; вычисление слагаемого 1*X (k) - 3*X (k-1), результат в регистре b1
MOV a1,X2;
MUL a1,A3; вычисление слагаемого А3*X (k-2)
ADD b1,a1; вычисление слагаемого 1*X (k) - 3*X (k-1) + 3*X (k-2), результат в регистре b1
MOV a1,X3;
MUL a1,A4; вычисление слагаемого А4*X (k-3)
SUB b1,a1; вычисление слагаемого 1*X (k) - 3*X (k-1) + 3*X (k-2) - 1*X (k-3), результат в регистре b1
MOV a1,Y0;
MUL a1,A5; вычисление слагаемого А5*Y (k)
SUB b1, a1; вычисление слагаемого 1*X (k) - 3*X (k-1) + 3*X (k-2) - 1*X (k-3) - 1,39Е-2*Y (k), результат в регистре b1
MOV a1,Y1;
MUL a1,A6; вычисление слагаемого А6*Y (k-1)
ADD b1, a1; вычисление слагаемого 1*X (k) - 3*X (k-1) + 3*X (k-2) - 1*X (k-3) - 1,39Е-2*Y (k) + 3,99Е-2*Y (k-1), результат в регистре b1
MOV a1,Y2;
MUL a1,A7; вычисление слагаемого А7*Y (k-2)
SUB b1, a1; вычисление слагаемого 1*X (k) - 3*X (k-1) + 3*X (k-2) - 1*X (k-3) - 1,39Е-2*Y (k) + 3,99Е-2*Y (k-1) - 3,86Е-2*Y (k-2), результат в регистре b1
MOV a1,Y3;
MUL a1,A8; вычисление слагаемого А8*Y (k-3)
ADD b1, a1; вычисление значения всего выражения 1*X (k) - 3*X (k-1) + 3*X (k-2) - 1*X (k-3) - 1,39Е-2*Y (k) + 3,99Е-2*Y (k-1) - 3,86Е-2*Y (k-2) +1,26Е-3 *Y (k-3), результат в регистре b1
MOV Y3,Y2; сохранение значений для следующего такта
MOV Y2,Y1; сохранение значений для следующего такта
MOV Y1,Y0; сохранение значений для следующего такта
MOV Y0,b1; сохранение значений для следующего такта
MOV X3,X2; сохранение значений для следующего такта
MOV X2,X1; сохранение значений для следующего такта
MOV X1,X0; сохранение значений для следующего такта
MOV X0,a1; сохранение значений для следующего такта
out о port,b1; вывод управляющего сигнала из b1
JMP start; замыкание цикла.
Блок-схема программы коррекции представлена в соответствии с рисунком 22.
Рисунок 22 - Блок схема программы коррекции
Из анализа программы следует, что для ее реализации требуются следующие операции: логические (переадресации), короткие (сложение, вычитание) и длинные (умножение). Для используемого микропроцессора время переадресации tп = 5.0 мкс, коротких операций tк = 9.2 мкс, а длинных операций tд = 120 мкс. В результате можно найти время выполнения всей программы:
tв. пр. = 20·5·10-6 + 7·9,2·10-6 + 8·120·10-6 = 1.124×10-3 c.
Время срабатывания RCL - цепочки равна сумме срабатывания отдельных ее элементов.
Статья в тему
Синтез комбинационной схемы по логическим уравнениям
Цифровое
устройство - это техническое устройство или приспособление, предназначенное для
получения и обработки информации в цифровой форме , используя цифровые
технологии .
Физически
цифровое устройство может быть выполнено на различной элементной базе :
электромеханическ ...