Главная Учебники - Разные Лекции (разные) - часть 45
|
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ РЯЗАНСКИЙ ГОСУДАРСТВЕННЫЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА РАДИОТЕХНИЧЕСКИХ СИСТЕМ Лабораторная работа №1 Изучение алгоритма функционирования и программы
цифрового фильтра
Выполнил ст.гр. 310: Белокуров Е. Проверил: Косс Рязань, 2006 Цель работы
Изучение системы команд МК КР1830ВЕ31, их содержания, способов адресации на примере использования в программе цифрового фильтра. Изучение представления и преобразования данных в МП-системе. Изучение взаимодействия аппаратной части цифрового фильтра и программы. Изучение технологии отладки программы для МК с использованием программного отладчика. Установление истинности результатов выполнения программы цифрового фильтра. Расчет для положительного входного отсчета максимальной амплитуды: Разностное уравнение представим в виде: yn
=0,81
xn
+
xn
-2
– 0,81
yn
-2
=
kxn
+ xn
-2
- kyn
-2
; k=0,81 1) Реализуемый коэффициент масштабирования kMP
(число без знака) при 8-разрядном формате беззнаковых коэффициентов: kM
=0,381679389(10)
; kMP
= ,01100001(2)
= 61(16)
= 0,37890625 (10)
2) Реализуемые коэффициенты разностного уравнения (числа без знака) при 8-разрядном форматё беззнаковых коэффициентов: k=0,81(10)
; kP
= ,11001111(2)
= CF(16)
= 0,80859375(10)
3) Код для положительного входного отсчета максимальной амплитуды (немасштабированный отсчет): xn
= 0,1111111(2)
= 7F(16)
программа адресация цифровой фильтр 4) Масштабированный входной положительный отсчёт максимальной амплитуды: xn
:= kMP
xn
= ,01100001(2)
.
0,1111111(2)
= 61(16)
.
7F(16)
= 30(16)
= 0,0110000 (2)
= +0,375(10)
5) Зададим состояние памяти после запоминания масштабированных входных отсчётов максимальной амплитуды и отрицательных выходных отсчётов максимальной амплитуды 6) Получим произведениеp
1
n
: p
1
n
= kP
xn
= CF(16)
30(16)
= ,11001111(2)
.
0,011000 (2)
= 26(16)
= 0,0100110(2)
= + 0,296875(10)
7) Получим модуль произведения отрицательного отсчёта yn
-2
на коэффициент kP
: |
p
2
n
|
= kP
|
yn
-2
|
= CF(16)
30(16)
= ,11001111(2)
.
0,011000 (2)
= 26(16)
= 0,0100110(2)
= 0,296875(10)
8) Вычислим выходной отсчёт: yn
=
p
1
n
+
xn
-2
- (- |
p
2
n
|)
= 26(16)
+ 30(16)
+ 26(16)
= 7C(16)
= 0,1111100 (2)
= +0,96875(10)
Выполнение работы
1. а) Исходное состояние МП-системы, соответствующее аппаратному сбросу по входу RST
МК При включении питания в схеме МП-системы вырабатывается импульс сброса RST для микроконтроллера. По сигналу RST=1 выполняются следующие действия: 1) программный счетчик и все управляющие регистры МК, кроме PCON, IE, IP – устанавливаются в нулевое состояние; 2) в управляющих регистрах PCON, IE, IP – резервные биты принимают случайные значения, все остальные биты сбрасываются в 0; 3) в указателе стека устанавливается адрес SP=70 (вершина стека); 4) запрещаются прерывания от всех источников, запрещается работа таймеров/счетчиков, запрещается работа последовательного порта; 5) выбирается банк 0 POH (текущий банк регистров); 6) порты Р0, Р1, Р2, Р3 настраиваются на ввод для приема данных; 7) в обоих регистрах SBUF последовательного порта устанавливаются случайные значения. В БИС КР1821РУ55 и КР1821РФ55 исходное состояние после включения питания произвольное, так как импульс RST на их входы сброса не поступает. 1.б) Объём памяти (CSEG
), занимаемый программой FZ
. Составляет 147 байт. 2) Проверка выполнения всех настроек предусмотренных инициализацией программы:
3) Загрузка в память МП-системы начальных данных:
4). Формирование сигнала запроса прерывания от Т/С0
(Alt
+ t
) и выполнение в пошаговом режиме программного модуля формирования импульса пуска АЦП.
4)Формирование сигнала запроса прерывания от АЦП по входу
INT
0
(Alt
+ i
) и выполнение в пошаговом режиме рабочего цикла программы.
а) При выполнении программного модуля масштабирования вычисленное программой численное значение масштабированного отсчёта xn
равно расчётному и запоминается в заданной ячейке памяти. б) Вычисленные программой численные значения произведений p
1
n
,
p
2
n
равны расчётным и запоминаются в заданных ячейках. в) Вычисленное программой численное значение выходного отсчёта yn
равно расчётному и запоминается в заданной ячейке. 5)Вывод смещенного кода и подготовка следующего рабочего цикла:
а) На ЦАП выведен смещённый входной код. б) Выполнен сдвиг отсчётов в памяти для подготовки следующего рабочего цикла. Расчет для отрицательного входного отсчета максимальной амплитуды: Разностное уравнение представим в виде: yn
=0,81
xn
+
xn
-2
– 0,81
yn
-2
=
kxn
+ xn
-2
- kyn
-2
; k=0,81 1) Реализуемый коэффициент масштабирования kMP
(число без знака) при 8-разрядном формате беззнаковых коэффициентов: kM
=0,381679389(10)
; kMP
= ,01100001(2)
= 61(16)
= 0,37890625 (10)
2) Реализуемые коэффициенты разностного уравнения (числа без знака) при 8-разрядном форматё беззнаковых коэффициентов: k=0,81(10)
; kP
= ,11001111(2)
= CF(16)
= 0,80859375(10)
3) Код для отрицательного входного отсчета максимальной амплитуды (немасштабированный отсчет): xn
= 1,0000000(2)
= 80(16)
4) Масштабированный входной положительный отсчёт максимальной амплитуды: |
xn
|
:= kMP
|xn
|
= ,01100001(2)
.
0,1111111(2)
= 61(16)
.
80(16)
= 30(16)
= 0,0110000 (2)
= +0,375(10)
xn
:= D0(16)
5) Зададим состояние памяти после запоминания масштабированных выходных отсчётов максимальной амплитуды и отрицательных входных отсчётов максимальной амплитуды 6) Получим модуль произведения отрицательного отсчёта yn
-2
на коэффициент kP
: |
p
1
n
|
= kP
|
xn
|
= CF(16)
30(16)
= ,11001111(2)
.
0,011000 (2)
= 26(16)
= 0,0100110(2)
= 0,296875(10)
7) Получим произведениеp
1
: p
1
n
= kP
yn
-2
= CF(16)
30(16)
= ,11001111(2)
.
0,011000 (2)
= 26(16)
= 0,0100110(2)
= + 0,296875(10)
8) Вычислим выходной отсчёт: yn
=
-p2n
+
xn-2
- (- |p1n
|)
= DA(16)
+ D0(16)
- 26(16)
= 84(16)
= 1,0000100 (2)
= -0,96875(10)
6)Загрузка в память МП-системы начальных данных:
Результаты работы программы:
а) При выполнении программного модуля масштабирования вычисленное программой численное значение масштабированного отсчёта xn
равно расчётному и запоминается в заданной ячейке памяти. б) Вычисленные программой численные значения произведений p
1
n
,
p
2
n
равны расчётным и запоминаются в заданных ячейках. в) Вычисленное программой численное значение выходного отсчёта yn
равно расчётному и запоминается в заданной ячейке.
| |||||||||||||||||||||||||||||||||||||||||