5. Синтез управляющего узла (разработка программы на языке микропроцессора)
Рабочая программа разработана на основе спроектированного алгоритма функционирования устройства и результатов анализа и формализации задачи. Программа привязана к минимальной конфигурации аппаратной части фильтра.
Распределение памяти ОЗУ:
5000h – хранение отсчета xn;
5001h – хранение отсчета x n – 2;
5002h – хранение отсчета y n – 1;
5003h – хранение произведений p 1n;
5004h – хранение произведений p 2n;
50FFh – начальный адрес стека.
;Программа: "Фильтр высоких частот"
;Автор: Халява Валентина Сергеевна
;Разностное уравнение: yn = xn +1.1x n – 2 + 0,999 y n – 2;
;Инициализация по сигналу "Сброс"
.ORG 0 ;начальный адрес программного
;модуля инициализации
DI ;запрет прерываний
LXI SP, 50FFh ;организация стека
MVI A, 0FFh ;настройка порта РА (РФ55) на вывод
STA02h ;
MVI A, 05Dh ;настройка таймера на частоту пере-
STA F004h ;полнения Т = ТД в режиме 3
MVI A, 0C1h ;
STA F005h ;
MVI A, 0C0h ;настройка порта РА (РУ55) на ввод
STA00h ;и пуск таймера
MVI A, 1Ah ;настройка режима прерываний
SIM ;
EI ;разрешение прерываний
M1: HLT ;останов, ожидание прерывания
JMP M1 ;переход на команду останова процессора по
; окончании подпрограммы обслуживания прерывания
.ORG 3Ch ;начальный адрес программной
;реакции на прерывание типа RST 7.5
PUSH PSW ;
LDA 5000h ;загрузка в аккумулятор значения xn
STA 0800h ;
POP PSW ;восстановление аккумулятора
RET ;возврат из подпрограммы обслуживания к основной
;программе
LDA01h ;ввод текущего кода АЦП в аккумулятор
ADIh ;получение дополнительного кода для текущего отсчета
;программный модуль масштабирования:
;вычисления произведения
; xn:= xn = 20xn;
;входной отсчет хранится в аккумуляторе, масштабированный
; отсчет записать в ячейку ОЗУ с адресом АХ
MOV H, A ; xn ® H
ADD H ;арифметические сдвиги входного
;отсчета и накопление суммы частичных
;произведений в аккумуляторе: 20 xn ® А
STA00h ;запоминание отсчета xn в памяти
;программный модуль вычисления произведения:
;p1n = 1,1 xn » 1,00011001xn = ( 20 + 2-4 + 2-5 + 2- 8) xn;
;xn хранится в ячейке ОЗУ с адресом X2;
;p1n записать в ячейку ОЗУ с адресом P1
LDA X2 ; Xn-2 ® H
MOV H, A ;
MOV A, H ;арифметические сдвиги отсчета xn
ARHL ;и накопление суммы частичных
ARHL ;произведений в аккумуляторе:
ARHL ; ( 20 + 2-4 + 2-5 + 2- 8) xn ® А
ARHL ;
ADD H ;
ARHL ;
ADD H ;
ADD H ;
ARHL ;
ARHL ;
ADD H ;
STA03h ;запоминание p1n в памяти
;программный модуль вычисления произведения:
;p2n = 0,999 yn-1 » 0, 11111111 yn-1
; = ( 2-1 + 2-2 + 2-3 + 2-4 + 2-5 + 2-6 + 2- 7+2- 8)yn-1;
;yn-1 хранится в ячейке ОЗУ с адресом Y1;
;p2n записать в ячейку ОЗУ с адресом P2
LDA Y1 ; yn-1 ® A
MOV H, A ; yn-1 ® H
ARHL ;арифметические сдвиги отсчета yn-1
MOV A, H ;и накопление суммы частичных
ARHL ; произведений в аккумуляторе:
MOV A, H ; ( 2-1 + 2-2 + 2-3 + 2-4 + 2-5 + 2-6 + 2- 7+2- 8)yn-1® А
ARHL ;
MOV A, H ;
ARHL ;
MOV A, H ;
ARHL ;
MOV A, H ;
ARHL ;
MOV A, H ;
ARHL ;
MOV A, H ;
ARHL ;
ADD H ;
STA04h ;запоминание p2n в памяти
;программный модуль вычисления промежу-
;точного и выходного отсчета:
; y n = x n– x n - 2 – p 2n– p 3n
;слагаемые хранятся в ячейках ОЗУ, результат
;вычисления записать в ячейки ОЗУ
LDA00h ; xn ® A
LXI H, 5001h ;загрузка адреса xn - 1
SUB M ; xn - xn - 2® A
INX H ;получение адреса vn – 1
INX H ;
SUB M ; xn - xn – 2 - vn – 1® A
LXI H, 5003h ;загрузка адреса p 1n
SUB M ; xn - xn –2 - vn –1 - p 1n ® A
STA02h ;запоминание yn-2 в памяти
LXI H, 5001h ;загрузка адреса xn –2
SUB M ;xn - xn - 2 ® A
LXI H, 5004h ;загрузка адреса p 2n
SUB M ; x n - x n - 2 - p 2n ® A
STA05h ;запоминание yn в памяти
ADIh ;получение смещенного входного
;кода ЦАП
STA00h ;вывод кода на ЦАП через порт РА (РФ55)
;программный модуль сдвига отсчетов памяти
LHLD00h ;
SHLD01h ;
LHLD05h ;
SHLD06h ;
RET ;возврат из подпрограммы обслуживания прерывания
... пропускают или задерживают сигналы, лежащие в определённых полосах частот. Фильтры можно классифицировать по их частотным характеристикам: 1. Фильтры нижних частот (ФНЧ) – пропускают все колебания с частотами не выше некоторой частоты среза и постоянную составляющую. 2. Фильтры верхних частот (ФНЧ) – пропускают все колебания не ниже некоторой частоты среза. 3. Полосовые фильтры (ПФ) – ...
... электрической схемы (создается файл с расширением .SYM); - построения/редактирования принципиальной электрической схемы аналогового или цифрового устройства (создается файл с расширением .SCH). Программа входит в систему автоматизированного проектирования больших интегральных схем на персональном компьютере (PCAD). Программа работает с пользовательской и библиотечной базами данных и выполняет ...
... для каждого звена составим разностные уравнения: 1) первое звено: ; 2) второе звено: ; 3) третье звено: . Результирующее разностное уравнение для цифрового фильтра будет иметь вид: .4 РАЗРАБОТКА АЛГОРИТМА ПРОГРАММЫ ПРОЕКТИРУЕМОГО УСТРОЙСТВА Прежде чем приступить к программированию устройства необходимо основательно изучить его внутреннюю структуру и возможности ресурсов. ...
... со строго постоянным коэффициентом передачи в полосе пропускания, бесконечным ослаблением в полосе подавления и бесконечной крутизной спада при переходе от полосы пропускания к полосе подавления. Проектирование активного фильтра всегда представляет собой поиск компромисса между идеальной формой характеристики и сложностью ее реализации. Это называется "проблемой аппроксимации". Во многих случаях ...
0 комментариев